mouse_getcaps(3) returns the capabilities of the mouse


#include <vgamouse.h>

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:

int key;
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.
int buttons;
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.
int axes;
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.
int info;
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.
int reserved0;
Reserved for future use.
int reserved1;
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).


This manual page was heavily edited by Brion Vibber <[email protected]> from material on another function edited by Michael Weller <[email protected]>. 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 <[email protected]>.

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.