X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_mouse.3x.html;h=522c1a7c4735dc6a0bf717830050702d24d34fb5;hp=9a09a3f4ec2d8a059c86371502dd86c66e65c771;hb=55ccd2b959766810cf7db8d1c4462f338ce0afc8;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01;ds=sidebyside diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html index 9a09a3f4..522c1a7c 100644 --- a/doc/html/man/curs_mouse.3x.html +++ b/doc/html/man/curs_mouse.3x.html @@ -2,7 +2,7 @@
@@ -41,11 +41,15 @@+curs_mouse(3x) curs_mouse(3x) + + +
- getmouse, ungetmouse, mousemask, wenclose, mouse_trafo, - wmouse_trafo, mouseinterval - mouse interface through + getmouse, ungetmouse, mousemask, wenclose, mouse_trafo, + wmouse_trafo, mouseinterval - mouse interface through curses @@ -55,9 +59,9 @@ typedef unsigned long mmask_t; - typedef struct - { - short id; /* ID to distinguish multiple devices */ + typedef struct + { + short id; /* ID to distinguish multiple devices */ int x, y, z; /* event coordinates */ mmask_t bstate; /* button state bits */ } @@ -79,8 +83,8 @@ pseudo-key values in the wgetch input stream. To make mouse events visible, use the mousemask function. - This will set the mouse events to be reported. By - default, no mouse events are reported. The function will + This will set the mouse events to be reported. By de- + fault, no mouse events are reported. The function will return a mask to indicate which of the specified mouse events can be reported; on complete failure it returns 0. If oldmask is non-NULL, this function fills the indicated @@ -91,7 +95,8 @@ the mouse pointer; setting a nonzero mask may turn it on. Whether this happens is device-dependent. - Here are the mouse event type masks: + Here are the mouse event type masks which may be defined: + Name Description --------------------------------------------------------------------- @@ -100,34 +105,45 @@ BUTTON1_CLICKED mouse button 1 clicked BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked - + --------------------------------------------------------------------- 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 + --------------------------------------------------------------------- BUTTON4_PRESSED mouse button 4 down BUTTON4_RELEASED mouse button 4 up BUTTON4_CLICKED mouse button 4 clicked BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked + --------------------------------------------------------------------- + BUTTON5_PRESSED mouse button 5 down + BUTTON5_RELEASED mouse button 5 up + BUTTON5_CLICKED mouse button 5 clicked + BUTTON5_DOUBLE_CLICKED mouse button 5 double clicked + BUTTON5_TRIPLE_CLICKED mouse button 5 triple clicked + --------------------------------------------------------------------- BUTTON_SHIFT shift was down during button state change BUTTON_CTRL control was down during button state change BUTTON_ALT alt was down during button state change ALL_MOUSE_EVENTS report all button state changes REPORT_MOUSE_POSITION report mouse movement + --------------------------------------------------------------------- Once a class of mouse events have been made visible in a - window, calling the wgetch function on that window may - return KEY_MOUSE as an indicator that a mouse event has - been queued. To read the event data and pop the event off - the queue, call getmouse. This function will return OK if - a mouse event is actually visible in the given window, ERR + window, calling the wgetch function on that window may re- + turn KEY_MOUSE as an indicator that a mouse event has been + queued. To read the event data and pop the event off the + queue, call getmouse. This function will return OK if a + mouse event is actually visible in the given window, ERR otherwise. When getmouse returns OK, the data deposited as y and x in the event structure coordinates will be screen-relative character-cell coordinates. The returned @@ -135,9 +151,9 @@ event type. The ungetmouse function behaves analogously to ungetch. - It pushes a KEY_MOUSE event onto the input queue, and - associates with that event the given state data and - screen-relative character-cell coordinates. + It pushes a KEY_MOUSE event onto the input queue, and as- + sociates with that event the given state data and screen- + relative character-cell coordinates. The wenclose function tests whether a given pair of screen-relative character-cell coordinates is enclosed by @@ -149,15 +165,15 @@ dinates from stdscr-relative coordinates to screen-rela- tive coordinates or vice versa. Please remember, that stdscr-relative coordinates are not always identical to - screen-relative coordinates due to the mechanism to - reserve lines on top or bottom of the screen for other - purposes (ripoff() call, see also slk_... functions). If + screen-relative coordinates due to the mechanism to re- + serve lines on top or bottom of the screen for other pur- + poses (ripoff() call, see also slk_... functions). If the parameter to_screen is TRUE, the pointers pY, pX must reference the coordinates of a location inside the window win. They are converted to screen-relative coordinates and returned through the pointers. If the conversion was - successful, the function returns TRUE. If one of the - parameters was NULL or the location is not inside the win- + successful, the function returns TRUE. If one of the pa- + rameters was NULL or the location is not inside the win- dow, FALSE is returned. If to_screen is FALSE, the point- ers pY, pX must reference screen-relative coordinates. They are converted to stdscr-relative coordinates if the @@ -169,26 +185,39 @@ successful. The mouseinterval function sets the maximum time (in thou- - sands of a second) that can elapse between press and - release events for them to be recognized as a click. Use - mouseinterval(-1) to disable click resolution. This func- - tion returns the previous interval value. The default is - one sixth of a second. - - Note that mouse events will be ignored when input is in + sands of a second) that can elapse between press and re- + lease events for them to be recognized as a click. Use + mouseinterval(0) to disable click resolution. This func- + tion returns the previous interval value. Use mouseinter- + val(-1) to obtain the interval without altering it. The + default is one sixth of a second. + + Note that mouse events will be ignored when input is in cooked mode, and will cause an error beep when cooked mode - is being simulated in a window by a function such as get- + is being simulated in a window by a function such as get- str that expects a linefeed for input-loop termination. -
- getmouse, ungetmouse and mouseinterval return the integer - ERR upon failure or OK upon successful completion. mouse- - mask returns the mask of reportable events. wenclose and - wmouse_trafo are boolean functions returning TRUE or FALSE - depending on their test result. + getmouse and ungetmouse return the integer ERR upon fail- + ure or OK upon successful completion. + + getmouse + returns an error. If no mouse driver was ini- + tialized, or if the mask parameter is zero, + + ungetmouse + returns an error if the FIFO is full. + + mousemask returns the mask of reportable events. + + mouseinterval returns the previous interval value, unless + the terminal was not initialized. In that case, it re- + turns the maximum interval value (166). + + wenclose and wmouse_trafo are boolean functions returning + TRUE or FALSE depending on their test result.@@ -199,20 +228,37 @@ The feature macro NCURSES_MOUSE_VERSION is provided so the preprocessor can be used to test whether these features - are present (its value is 1). If the interface is - changed, the value of NCURSES_MOUSE_VERSION will be incre- - mented. + are present. If the interface is changed, the value of + NCURSES_MOUSE_VERSION will be incremented. These values + for NCURSES_MOUSE_VERSION may be specified when configur- + ing ncurses: + + 1 has definitions for reserved events. The mask + uses 28 bits. + + 2 adds definitions for button 5, removes the defi- + nitions for reserved events. The mask uses 29 + bits. The order of the MEVENT structure members is not guaran- teed. Additional fields may be added to the structure in the future. - Under ncurses(3x), these calls are implemented using - either xterm's built-in mouse-tracking API or Alessandro - Rubini's gpm server. If you are using something other - than xterm and there is no gpm daemon running on your - machine, mouse events will not be visible to ncurses(3x) - (and the wmousemask function will always return 0). + Under ncurses(3x), these calls are implemented using ei- + ther xterm's built-in mouse-tracking API or platform-spe- + cific drivers including + Alessandro Rubini's gpm server. + FreeBSD sysmouse + OS/2 EMX + If you are using an unsupported configuration, mouse + events will not be visible to ncurses(3x) (and the wmouse- + mask function will always return 0). + + If the terminfo entry contains a XM string, this is used + in the xterm mouse driver to control the way the terminal + is initialized for mouse operation. The default, if XM is + not found, corresponds to private mode 1000 of xterm: + \E[?1000%?%p1%{1}%=%th%el%; The z member in the event structure is not presently used. It is intended for use with touch screens (which may be pressure-sensitive) or with 3D-mice/trackballs/power @@ -228,9 +274,9 @@ Mouse events under xterm will not be detected correctly in a window with its keypad bit off, since they are inter- - preted as a variety of function key. Your terminfo - description must have kmous set to "\E[M" (the beginning - of the response from xterm for mouse clicks). + preted as a variety of function key. Your terminfo de- + scription must have kmous set to "\E[M" (the beginning of + the response from xterm for mouse clicks). Because there are no standard terminal responses that would serve to identify terminals which support the xterm @@ -246,31 +292,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + curs_mouse(3x)