glutJoystickFunc - sets the joystick callback for the cur- rent window.
glutJoystickFunc glutJoystickFunc(func, poll_interval) -> None
void glutJoystickFunc(void (*func)(unsigned int buttonMask,
int x, int y, int z), int pollInterval);
func The new joystick callback function.
pollInterval
Joystick polling interval in milliseconds.
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.
The GLUT joystick callback only reports the first 3 axes and 32 buttons. GLUT supports only a single joystick.
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.
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).
glutForceJoystickFunc, glutMotionFunc, glutMouseFunc, glutSpaceballButtonFunc, glutSpaceballMotionFunc, glutBut- tonBoxFunc, glutTabletButtonFunc, glutDeviceGet
Mark J. Kilgard (mjk@nvidia.com)
:: Documentation :: References :: GLUT ::
:: Index (n/a) ::