Name

glutJoystickFunc - sets the joystick callback for the cur-
rent window.

Python Specification

glutJoystickFunc
	glutJoystickFunc(func, poll_interval) -> None

C Specification

void glutJoystickFunc(void (*func)(unsigned int buttonMask,
                     int x, int y, int z), int pollInterval);

Parameters

func      The new joystick callback function.

pollInterval
          Joystick polling interval in milliseconds.

Description

glutJoystickFunc sets the joystick callback for  the  cur-
rent window.

The  joystick  callback is called either due to polling of
the joystick at the uniform timer  interval  specified  by
pollInterval  (in  milliseconds) or in response to calling
glutForceJoystickFunc.  If the pollInterval  is  non-posi-
tive, no joystick polling is performed and the GLUT appli-
cation must frequently (usually  from  an  idle  callback)
call glutForceJoystickFunc.

The  joystick  buttons are reported by the callback's but-
tonMask parameter.  The  constants  GLUT_JOYSTICK_BUTTON_A
(0x1),  GLUT_JOYSTICK_BUTTON_B  (0x2),  GLUT_JOYSTICK_BUT-
TON_C (0x4), and GLUT_JOYSTICK_BUTTON_D (0x8) are provided
for programming convience.

The x, y, and z callback parameters report the X, Y, and Z
axes  of  the  joystick.   The  joystick  is  centered  at
(0,0,0).   X,  Y,  and Z are scaled to range between -1000
and 1000.  Moving the joystick left  reports  negative  X;
right  reports  positive X.  Pulling the stick towards you
reports negative Y; push the stick away from  you  reports
positive  Y.   If the joystick has a third axis (rudder or
up/down), down reports negative Z; up reports positive  Z.

Passing  a NULL func to glutJoystickFunc disables the gen-
eration of joystick callbacks.  Without a  joystick  call-
back registered, glutForceJoystickFunc does nothing.

When a new window is created, no joystick callback is ini-
tially registered.

Limitations

The GLUT joystick callback only reports the first  3  axes
and 32 buttons.  GLUT supports only a single joystick.

Glut Implementation Notes For X11

The  current  implementation  of GLUT for X11 supports the

joystick API, but not joystick input.  A future  implemen-
tation of GLUT for X11 may add joystick support.

Glut Implementation Notes For Win32

       The  current implementation of GLUT for Win32 supports the
       joystick API and joystick input, but does so  through  the
       dated  joySetCapture and joyGetPosEx Win32 Multimedia API.
       The current GLUT joystick support for Win32  has  all  the
       limitations  of the Win32 Multimedia API joystick support.
       A future implementation of GLUT for Win32 may use  Direct-
       Input.

GLUT IMPLEMENTATION NOTES FOR NON-ANALOG JOYSTICKS
       If  the  connected  joystick  does not return (x,y,z) as a
       continuous range (for example, an 8  position  Atari  2600
       joystick),  the  implementation  should  report  the  most
       extreme (x,y,z) location.  That is, if a  2D  joystick  is
       pushed to the upper left, report (-1000,1000,0).

See Also

glutForceJoystickFunc,    glutMotionFunc,   glutMouseFunc,
glutSpaceballButtonFunc, glutSpaceballMotionFunc, glutBut-
tonBoxFunc, glutTabletButtonFunc, glutDeviceGet

Author

Mark J. Kilgard (mjk@nvidia.com)

:: Documentation :: References :: GLUT ::
:: Index (n/a) ::