termkey_interpret_mouse - Man Page

interpret opaque mouse event data


#include <termkey.h>

TermKeyResult termkey_interpret_mouse(TermKey *tk, const TermKeyKey *key, 
    TermKeyMouseEvent *ev, int *button, int *line, int *col);

Link with -ltermkey.


termkey_interpret_mouse() fills in variables in the passed pointers according to the mouse event found in key. It should be called if termkey_getkey(3) or similar have returned a key event with the type of TERMKEY_TYPE_MOUSE.

Any pointer may instead be given as NULL to not return that value.

The ev variable will take one of the following values:


an unknown mouse event.


a mouse button was pressed; button will contain its number.


the mouse was moved while holding a button; button will contain its number.


a mouse button was released, or the mouse was moved while no button was pressed. If known, button will contain the number of the button released. Not all terminals can report this, so it may be 0 instead.

The line and col variables will be filled in with the mouse position, indexed from 1. Note that due to the limited number of bytes in the TermKeyKey structure, the line and column numbers are limited to 2047 and 4095 respectively.

Return Value

If passed a key event of the type TERMKEY_TYPE_MOUSE, this function will return TERMKEY_RES_KEY and will affect the variables whose pointers were passed in, as described above.

For other event types it will return TERMKEY_RES_NONE, and its effects on any variables whose pointers were passed in, are undefined.

See Also

termkey_waitkey(3), termkey_getkey(3), termkey(7)

Referenced By