Man Linux: Main Page and Category List

NAME

       mouse_setwrap - set what happens at the mouse boundaries

SYNOPSIS

       #include <vgamouse.h>

       void mouse_setwrap(int state);

DESCRIPTION

       This  routine  determines  what  to  do if the mouse position reaches a
       boundary.

       state should be either MOUSE_WRAP, MOUSE_NOWRAP, or  a  bitwise  or  of
       MOUSE_WRAPX,  MOUSE_WRAPY,  MOUSE_WRAPZ, MOUSE_WRAPRX, MOUSE_WRAPRY, or
       MOUSE_WRAPRZ.  These define if all or the respective  coordinates  wrap
       or are clipped at the ends.

       This  variable  has  been  overloaded for the case of multi-dimensional
       mice that support rotations and can be used to  select  the  coordinate
       system used to return the current position of the mouse.

       If  the  above  value  of  state  is also ored with MOUSE_ROT_RX_RY_RZ,
       rotational information will be returned  as  the  angular  position  as
       expressed  by  the total angle wound around the X, Y, and Z axes.  This
       is the simplest coordinate system to  use,  but  it’s  also  the  least
       useful, since angular rotations about perpendicular axes don’t commute.
       There are situations where this system might be useful, for controlling
       truly  independent quantities, such as color, with each axis being used
       to dial a level of red, green, or blue, but  for  modeling  the  actual
       orientation of a physical object, it’s utterly hopeless.

       If  state  is  instead  ored  with MOUSE_ROT_INFINITESIMAL, the angular
       positions returned are expressed as  differences  from  the  previously
       reported  position.   If  the  differences  are sufficiently small, the
       angular displacements will commute with each other and can be  used  to
       track  the motion of a physical object.  Other coordinate systems, such
       as yaw, pitch, and roll, could be defined, but haven’t been done due to
       lack  of  time.   If  you feel you need this feature, send mail to Eric
       Sharkey <sharkey@superk.physics.sunysb.edu> and he just might  consider
       coding it up.

       MOUSE_WRAP  and  MOUSE_ROT_COORDS can be used to mask out the bits used
       for wrap and coordinate states, respectively.

SEE ALSO

       svgalib(7), vgagl(7), libvga.config(5),  eventtest(6),  mouse_close(3),
       mouse_init(3),      mouse_getposition_6d(3),      mouse_setposition(3),
       mouse_setscale(3), mouse_getx(3), mouse_setxrange(3),  mouse_update(3),
       mouse_waitforupdate(3),                         vga_setmousesupport(3),
       mouse_seteventhandler(3), vga_waitevent(3)

AUTHOR

       This manual page was edited  by  Michael  Weller  <eowmob@exp-math.uni-
       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
       Hanemaayer <H.Hanemaayer@inter.nl.net>.

       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.