curs_mouse man page on Ultrix

Man page or keyword search:  
man Server   3690 pages
apropos Keyword Search (all sections)
Output format
Ultrix logo
[printable version]

curs_mouse(3X)							curs_mouse(3X)

NAME
       getmouse, ungetmouse, mousemask - mouse interface through curses

SYNOPSIS
       #include <curses.h>

       typedef unsigned long mmask_t;

       typedef struct
       {
	   short id;	     /* ID to distinguish multiple devices */
	   int x, y, z;	     /* event coordinates */
	   mmask_t bstate;   /* button state bits */
       }
       MEVENT;
       int getmouse(MEVENT *event);
       int ungetmouse(MEVENT *event);
       mmask_t mousemask(mmask_t newmask, mmask_t *oldmask);
       bool wenclose(WINDOW *win, int y, int x)
       int mouseinterval(int erval)

DESCRIPTION
       These  functions provide an interface to mouse events from ncurses(3X).
       Mouse events are represented by	KEY_MOUSE  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	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 location
       with the previous value of the given window's mouse event mask.

       As a side effect, setting a zero	 mousemask  may	 turn  off  the	 mouse
       pointer;	 setting  a nonzero mask may turn it on.  Whether this happens
       is device-dependent.

       Here are the mouse event type masks:

       Name			Description
       ─────────────────────────────────────────────────────────────────────
       BUTTON1_PRESSED		mouse button 1 down
       BUTTON1_RELEASED		mouse button 1 up
       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
       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,	 call‐
       ing the wgetch function on that window may return KEY_MOUSE as an indi‐
       cator 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 other‐
       wise.   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 state mask will have exactly one bit set to
       indicate the 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.

       The wenclose function tests whether a  given  pair  of  screen-relative
       character-cell  coordinates  is	enclosed  by a given window, returning
       TRUE if it is and FALSE otherwise.  It is useful for  determining  what
       subset of the screen windows enclose the location of a mouse event.

       The  mouseinterval  function  sets  the maximum time (in thousands of a
       second) that can elapse between press and release events in  order  for
       them  to	 be recognized as a click.  This function returns the previous
       interval value.	The default is one fifth 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 getstr that expects a linefeed for	input-
       loop termination.

RETURN VALUE
       All  routines return the integer ERR upon failure or OK upon successful
       completion.

PORTABILITY
       These calls were designed for ncurses(3X), and are not  found  in  SVr4
       curses, 4.4BSD curses, or any other previous version of curses.

       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).   NOTE:  THIS  INTERFACE  IS	 EXPERIMENTAL AND IS SUBJECT TO CHANGE
       WITHOUT	NOTICE!	  If  the  interface  is   changed,   the   value   of
       NCURSES_MOUSE_VERSION will be incremented.

       The  order  of  the  MEVENT structure members is not guaranteed.	 Addi‐
       tional 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 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).

       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 gloves.

BUGS
       Mouse events under xterm will not in  fact  be  ignored	during	cooked
       mode,  if  they	have  been  enabled by wmousemask.  Instead, the xterm
       mouse report sequence will appear in the string read.

       Mouse events under xterm will not be detected  correctly	 in  a	window
       with its keypad bit off.

SEE ALSO
       curses(3X).

								curs_mouse(3X)
[top]

List of man pages available for Ultrix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net