CURSES_MOUSE(3)

NAME
has_mouse, getmouse, ungetmouse, mousemask, wenclose, mouse_trafo, wmouse_trafo, mouseinterval - Curses mouse interface

LIBRARY
libcurses

SYNOPSIS
#include <curses.h>
bool
has_mouse(void);
int
getmouse(MEVENT *event);
int
ungetmouse(MEVENT *event);
mmask_t
mousemask(mmask_t newmask, mmask_t *oldmask);
bool
wenclose(const WINDOW *win, int y, int x);
bool
mouse_trafo(int *y, int *x, bool to_screen);
bool
wmouse_trafo(const WINDOW *win, int *y, int *x, bool to_screen);
int
mouseinterval(int erval);

DESCRIPTION
This is the curses interface to mouse events. Mouse events are reported via the KEY_MOUSE value in the wgetch(3) input stream.

The has_mouse() function returns true if the mouse support has been initialised for the terminal, otherwise false.

The getmouse() function reads a mouse event. The x and y values are screen relative and the state mask will have exactly one bit set to represent the event type. The ungetmouse() function behave like ungetch(3) and pushes the mouse event into the input stream.

The mousemask() function sets the mouse events to be reported. By default, there are no mouse events reported. It returns a mask indicating which of the specified mouse events can be reported, zero indicating a failure. If oldmask is given, it is filled with the previous mouse event mask.

The wenclose() function returns true if the screen relative x and y co-ordinates are enclosed by the window win, otherwise false.

The wmouse_trafo() function transforms the x and y co-ordinates from screen relative to window relative or vice versa depending on the value of to_screen. If the co-ordinates are not enclosed by the window win then false is returned, otherwise the x and y values are transformed and true is returned. The mouse_trainfo() function calls wmouse_trainfo() using stdscr for win.

The mouseinterval() function sets the maximum time that can elapse between press and release events, which determins a click. The value is in thousands of seconds. The default value is one fifth of a second. The returned value is the old value.

RETURN VALUES
Unless otherwise noted, the functions that return an int will return one of the following values:

OK  The function completed successfully.
ERR An error occurred in the function.

SEE ALSO
wsmouse(4)

STANDARDS
These functions are ncurses extensions to the Curses library.

HISTORY
The mouse functions were added in NetBSD 10.0.

BUGS
There is currently no actual mouse support, has_mouse() will always return false.