Signature
glutJoystickFunc(
function
)
Specify handler for GLUT 'Joystick' events def handler( (int) buttonMask, (int) x, (int) y, (int) z ): return None
Parameters
Variables | Description |
---|---|
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 frequently (usually from an idle callback) call
glutForceJoystickFunc
.
The joystick buttons are reported by the callback's
buttonMask
parameter. The constants
GLUT_JOYSTICK_BUTTON_A
(0x1),
GLUT_JOYSTICK_BUTTON_B
(0x2),
GLUT_JOYSTICK_BUTTON_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 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 current 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 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 DirectInput.
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).