mouse_getcaps - 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).
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@pobox.com> from
material on another function edited by Michael Weller
<eowmob@exp-math.uni-essen.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.Hanemaayer@inter.nl.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.