mouse_getcaps − returns the capabilities of the mouse
int mouse_getcaps(struct MouseCaps *caps);
This fills a structure with information about the capabilities of the mouse as configured in /etc/vga/libvga.config.
The return value is 0 on success, -1 on failure. Failure indicates that an older version of the svgalib library is being used that does not support this function, and the capabilities should be inferred from the mouse type as retrieved by the function vga_getmousetype(3).
The MouseCaps structure contains the following members:
After a successful call of mouse_getcaps this should be set to MOUSE_GOTCAPS. The values of this and the other members are undefined in the case of failure.
A bitmask indicating which buttons are supported by the device, composed of the constants MOUSE_LEFTBUTTON, MOUSE_MIDDLEBUTTON, MOUSE_RIGHTBUTTON, MOUSE_FOURTHBUTTON, MOUSE_FIFTHBUTTON, MOUSE_SIXTHBUTTON, and MOUSE_RESETBUTTON. Note that MOUSE_MIDDLEBUTTON may be set when using mouse protocols that support a middle button even if there is no button physically present on the mouse.
A bitmask indicating which axes are supported by the device, composed of the constants MOUSE_XDIM, MOUSE_YDIM, MOUSE_ZDIM, MOUSE_RXDIM, MOUSE_RYDIM, and MOUSE_RZDIM.
A bitmask indicating other information about the mouse. Currently the only field defined is MOUSE_INFO_WHEEL, which indicates that the mouse is a wheel mouse.
Reserved for future use.
Reserved for future use.
Your application may use this info to perform specific actions (go into a 3d pointer device mode or make use of a wheel for scrolling for example).
svgalib(7), vgagl(7), libvga.config(5), mousetest(6), spin(6), mouse_close(3), mouse_getposition_6d(3), mouse_getx(3), mouse_init(3), mouse_setposition(3), mouse_setscale(3), mouse_setwrap(3), mouse_setxrange(3), mouse_update(3), mouse_waitforupdate(3), vga_getmousetype(3) vga_init(3), vga_setmousesupport(3), vga_waitevent(3)
This manual page was heavily edited by Brion Vibber <brion AT pobox DOT com> from material on another function edited by Michael Weller <eowmob AT exp-math DOT uni-essen DOT de>. The exact source of the original documentation is unknown.
It is very likely that it is at least to some extent due to Harm Hanemaayer <H DOT Hanemaayer AT inter DOT nl DOT net>.
Occasionally this might be wrong. I hereby ask to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.