-
+
curs_mouse 3x
-
+
@@ -63,13 +64,18 @@
}MEVENT;boolhas_mouse(void);
+
intgetmouse(MEVENT*event);intungetmouse(MEVENT*event);
+
mmask_tmousemask(mmask_tnewmask,mmask_t*oldmask);
+
boolwenclose(constWINDOW*win,inty,intx);
+
boolmouse_trafo(int*pY,int*pX,boolto_screen);
- boolwmouse_trafo(constWINDOW*win,int*pY,int*pX,
- boolto_screen);
+ boolwmouse_trafo(constWINDOW*win,
+ int*pY,int*pX,boolto_screen);
+
intmouseinterval(interval);
@@ -106,12 +112,12 @@
BUTTON2_PRESSED mouse button 2 down
BUTTON2_RELEASED mouse button 2 up
BUTTON2_CLICKED mouse button 2 clicked
+
BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked
BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
---------------------------------------------------------------------
BUTTON3_PRESSED mouse button 3 down
BUTTON3_RELEASED mouse button 3 up
-
BUTTON3_CLICKED mouse button 3 clicked
BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked
@@ -247,24 +253,24 @@
SVr4 curses had support for the mouse in a variant of xterm. It is
mentioned in a few places, but with no supporting documentation:
- o the libcurses manual page lists functions for this feature which
+ o the "libcurses" manual page lists functions for this feature which
are prototyped in curses.h:
- extern int mouse_set(long int);
- extern int mouse_on(long int);
- extern int mouse_off(long int);
- extern int request_mouse_pos(void);
- extern int map_button(unsigned long);
- extern void wmouse_position(WINDOW *, int *, int *);
- extern unsigned long getmouse(void), getbmap(void);
+ extern int mouse_set(long int);
+ extern int mouse_on(long int);
+ extern int mouse_off(long int);
+ extern int request_mouse_pos(void);
+ extern int map_button(unsigned long);
+ extern void wmouse_position(WINDOW *, int *, int *);
+ extern unsigned long getmouse(void), getbmap(void);
- o the terminfo manual page lists capabilities for the feature
+ o the "terminfo" manual page lists capabilities for the feature
- buttons btns BT Number of buttons on the mouse
- get_mouse getm Gm Curses should get button events
- key_mouse kmous Km 0631, Mouse event has occured
- mouse_info minfo Mi Mouse status information
- req_mouse_pos reqmp RQ Request mouse position report
+ buttons btns BT Number of buttons on the mouse
+ get_mouse getm Gm Curses should get button events
+ key_mouse kmous Km 0631, Mouse event has occurred
+ mouse_info minfo Mi Mouse status information
+ req_mouse_pos reqmp RQ Request mouse position report
o the interface made assumptions (as does ncurses) about the escape
sequences sent to and received from the terminal.
@@ -319,6 +325,10 @@
\E[?1000%?%p1%{1}%=%th%el%;
+ The mouse driver also recognizes a newer xterm private mode 1006, e.g.,
+
+ \E[?1006;1000%?%p1%{1}%=%th%el%;
+
The z member in the event structure is not presently used. It is in-
tended for use with touch screens (which may be pressure-sensitive) or
with 3D-mice/trackballs/power gloves.
@@ -343,9 +353,11 @@
Because there are no standard terminal responses that would serve to
identify terminals which support the xterm mouse protocol, ncurses as-
- sumes that if your $TERM environment variable contains "xterm", or
- kmous is defined in the terminal description, then the terminal may
- send mouse events.
+ sumes that if kmous 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 kmous capability
+ is checked first, allowing the use of newer xterm mouse protocols such
+ as xterm's private mode 1006.