X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fcurs_mouse.3x;h=c18be3fa3378ed4eebd1bcde57fca5f6d8cebad9;hp=2a34e930f22f81e2ebc966163ed1db212ffe06be;hb=a6eb34d7fec8170a8715f9e53ca2f96452dd30dd;hpb=b793748293cd1a764b1a858455399ad899b5a8a1 diff --git a/man/curs_mouse.3x b/man/curs_mouse.3x index 2a34e930..c18be3fa 100644 --- a/man/curs_mouse.3x +++ b/man/curs_mouse.3x @@ -1,6 +1,7 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2015,2017 Free Software Foundation, Inc. * +.\" Copyright 2018-2019,2020 Thomas E. Dickey * +.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -27,15 +28,15 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_mouse.3x,v 1.46 2017/05/20 14:42:41 Sven.Joachim Exp $ +.\" $Id: curs_mouse.3x,v 1.53 2020/10/17 23:25:08 tom Exp $ .ie \n(.g .ds `` \(lq .el .ds `` `` .ie \n(.g .ds '' \(rq .el .ds '' '' .de NS -.ie \n(.sp +.ie n .sp .el .sp .5 -.ie \n(.in +4 +.ie n .in +4 .el .in +2 .nf .ft C \" Courier @@ -43,10 +44,12 @@ .de NE .fi .ft R -.in -4 +.ie n .in -4 +.el .in -2 .. .de bP -.IP \(bu 4 +.ie n .IP \(bu 4 +.el .IP \(bu 2 .. .TH curs_mouse 3X "" .na @@ -73,21 +76,20 @@ .fi .PP \fBbool has_mouse(void);\fR -.br +.sp \fBint getmouse(MEVENT *\fP\fIevent\fP\fB);\fR .br \fBint ungetmouse(MEVENT *\fP\fIevent\fP\fB);\fR -.br +.sp \fBmmask_t mousemask(mmask_t \fP\fInewmask\fP\fB, mmask_t *\fP\fIoldmask\fP\fB);\fR -.br +.sp \fBbool wenclose(const WINDOW *\fP\fIwin\fP\fB, int \fP\fIy\fP\fB, int \fP\fIx\fP\fB);\fR -.br +.sp \fBbool mouse_trafo(int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB, bool \fP\fIto_screen\fP\fB);\fR .br -\fBbool wmouse_trafo(const WINDOW* \fP\fIwin\fP\fB, int* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB,\fR -.br - \fBbool \fP\fIto_screen\fP\fB);\fR -.br +\fBbool wmouse_trafo(const WINDOW* \fP\fIwin\fP\fB,\fR + \fBint* \fP\fIpY\fP\fB, int* \fP\fIpX\fP\fB, bool \fP\fIto_screen\fP\fB);\fR +.sp \fBint mouseinterval(int \fP\fIerval\fP\fB);\fR .br .SH DESCRIPTION @@ -305,7 +307,8 @@ For instance the SVr4 curses library used the \fBget_mouse\fP capability to tell the terminal which mouse button events it should send, passing the mouse-button bit-mask to the terminal. -Also, it could ask the terminal where the mouse was using the \fBreq_mouse_pos\fP capability. +Also, it could ask the terminal +where the mouse was using the \fBreq_mouse_pos\fP capability. .IP Those features required a terminal which had been modified to work with curses. They were not part of the X Consortium's xterm. @@ -367,6 +370,12 @@ corresponds to private mode 1000 of xterm: \\E[?1000%?%p1%{1}%=%th%el%; .RE .PP +The mouse driver also recognizes a newer xterm private mode 1006, e.g., +.PP +.RS 3 +\\E[?1006;1000%?%p1%{1}%=%th%el%; +.RE +.PP The \fIz\fP member in the event structure is not presently used. It is intended for use with touch screens (which may be pressure-sensitive) or with @@ -385,7 +394,7 @@ report sequence will appear in the string read. .PP Mouse events under xterm will not be detected correctly in a window with its keypad bit off, since they are interpreted as a variety of function key. -Your terminfo description should have \fBkmous\fR set to "\\E[M" +Your terminfo description should have \fBkmous\fR set to \*(``\\E[M\*('' (the beginning of the response from xterm for mouse clicks). Other values for \fBkmous\fR are permitted, but under the same assumption, @@ -393,9 +402,13 @@ i.e., it is the beginning of the response. .PP Because there are no standard terminal responses that would serve to identify terminals which support the xterm mouse protocol, \fBncurses\fR assumes that -if your $TERM environment variable contains "xterm", -or \fBkmous\fR is defined in -the terminal description, then the terminal may send mouse events. +if \fBkmous\fR is defined in the terminal description, +or if the terminal description's primary name or aliases +contain the string \*(``xterm\*('', +then the terminal may send mouse events. +The \fBkmous\fP capability is checked first, +allowing the use of newer xterm mouse protocols +such as xterm's private mode 1006. .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_kernel\fR(3X),