glutJoystickFunc(3GLUT) GLUT glutJoystickFunc(3GLUT)
NAME
glutJoystickFunc - sets the joystick callback for the current window.
SYNTAX
void glutJoystickFunc(void (*func)(unsigned int buttonMask,
int x, int y, int z), int pollInterval);
ARGUMENTS
func The new joystick callback function.
pollInterval
Joystick polling interval in milliseconds.
DESCRIPTION
glutJoystickFunc sets the joystick callback for the current 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-positive, no joystick polling is performed and the GLUT application must fre-quently frequently
quently (usually from an idle callback) call glutForceJoystickFunc.
The joystick buttons are reported by the callback's buttonMask parameter. The constants GLUT_JOY-STICK_BUTTON_A GLUT_JOYSTICK_BUTTON_A
STICK_BUTTON_A (0x1), GLUT_JOYSTICK_BUTTON_B (0x2), GLUT_JOYSTICK_BUTTON_C (0x4), and GLUT_JOY-STICK_BUTTON_D GLUT_JOYSTICK_BUTTON_D
STICK_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 generation of joystick callbacks. Without a
joystick callback registered, glutForceJoystickFunc does nothing.
When a new window is created, no joystick callback is initially 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 GLUT 3.7 implementation of GLUT for X11 supports the joystick API, but not joystick input. A
future implementation of GLUT for X11 may add joystick support.
GLUT IMPLEMENTATION NOTES FOR WIN32
The GLUT 3.7 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 GLUT 3.7 joystick sup-port support
port for Win32 has all the limitations of the Win32 Multimedia API joystick support. A future imple-mentation implementation
mentation of GLUT for Win32 may use DirectInput.
SEE ALSO
glutForceJoystickFunc(3G), glutMotionFunc(3G), glutMouseFunc(3G), glutSpaceballButtonFunc(3G), glutSpaceballMotion-Func(3G), glutSpaceballMotionFunc(3G),
Func(3G), glutButtonBoxFunc(3G), glutTabletButtonFunc(3G), glutDeviceGet(3G)
AUTHOR
Mark J. Kilgard (mjk@nvidia.com)
GLUT 3.7 glutJoystickFunc(3GLUT)
|