mouse_getposition_6d, mouse_setposition_6d, mouse_setrange_6d - provide
an interface to 3d mice
void mouse_getposition_6d(int *x, int *y, int *z, int *rx , int *ry,
void mouse_setposition_6d(int x, int y, int z, int rx , int ry, int rz,
void mouse_setrange_6d(int x1, int x2, int y1, int y2, int z1 , int z2,
int rx1, int rx2, int ry1, int ry2 , int rz1, int rz2, int dim_mask);
These routines provide the same function as mouse_getx(3),
mouse_gety(3), mouse_setxrange(3), mouse_setyrange(3),
mouse_setposition(3), and mouse_getx(3), except that they work in all
six dimensions, x, y, z, and rotations about those axes.
For mouse_getposition_6d(), NULL pointers may be passed for any
coordinate you don’t care to know about. Those dimensions will be
mouse_setposition_6d() and mouse_setrange_6d() take an additional
argument called dim_mask, which should be an logical or of the
following: MOUSE_XDIM, MOUSE_YDIM, MOUSE_ZDIM, MOUSE_RXDIM,
MOUSE_RYDIM, or MOUSE_RZDIM. MOUSE_2DIM, MOUSE_3DIM, MOUSE_6DIM can be
used as shorthand for the XY, XYZ, or XYZRxRyRz dimensions. The
position or ranges will only be set if that dimension is included in
The 6d mouse routines can be used safely with any mouse type, including
standard 2D mice.
When used with mice that support fewer than six axes, the other
coordinates will always return zero (or whatever value you set them
svgalib(7), vgagl(7), libvga.config(5), eventtest(6), mouse_close(3),
mouse_init(3), mouse_setposition(3), mouse_getx(3), mouse_setscale(3),
mouse_setwrap(3), mouse_setxrange(3), mouse_update(3),
This manual page was edited by Michael Weller <email@example.com-
essen.de>. The exact source of the referenced function as well as of
the original documentation is unknown.
It is very likely that both are at least to some extent are due to Harm
Occasionally this might be wrong. I hereby asked to be excused by the
original author and will happily accept any additions or corrections to
this first version of the svgalib manual.