GLUTDEVICEGET(3)

NAME
glutDeviceGet - Allows you to get some device state/option variables.

LIBRARY
OpenGLUT - inputstate

SYNOPSIS
#include <openglut.h>
int
glutDeviceGet(GLenum eWhat);

PARAMETERS

eWhat Enumerated parameter ID.

DESCRIPTION
Retrieves some system-specific information about attached devices. Supported device queries are:

- GLUT_HAS_JOYSTICK

Return non-zero if there is a joystick.

- GLUT_HAS_KEYBOARD

Return non-zero if there is a keyboard.

- GLUT_HAS_MOUSE

Return non-zero if there is a mouse.

- GLUT_HAS_SPACEBALL

Return non-zero if there is a spaceball.

- GLUT_JOYSTICK_AXES

Return the number of axes for the joystick.

- GLUT_JOYSTICK_POLL_RATE

Return the rate (in GLUT timer ticks?) at which the joystick is polled.

- GLUT_NUM_MOUSE_BUTTONS

Return the number of buttons that the user's mouse has.

- GLUT_OWNS_JOYSTICK

Return non-zero if OpenGLUT believes that it has successfully acquired access to the joystick.

- GLUT_DEVICE_IGNORE_KEY_REPEAT

Return non-zero if the current window is set to disable key repeating.

- GLUT_DEVICE_KEY_REPEAT

Described as returning the key repeat rate in one place, but actually returns a key repeat mode.

- GLUT_HAS_DIAL_AND_BUTTON_BOX

Return non-zero if a dials-and-buttons box is present.

- GLUT_HAS_TABLET

Return non-zero if a tablet is present.

- GLUT_NUM_BUTTON_BOX_BUTTONS

Return the number of buttons on a dials-and-buttons box, if any.

- GLUT_NUM_DIALS

Return the number of dials on a dials-and-buttons box, if any.

- GLUT_NUM_SPACEBALL_BUTTONS

Return the number of buttons on a spaceball, if any.

- GLUT_NUM_TABLET_BUTTONS

Return the number of buttons on a tablet, if any.

TODO
Only supports querying for one joystick.

Consider moving to a table-based approach rather than a switch(), letting us move to modular functions.

BUGS
Keyboards are optional, but OpenGLUT doesn't detect their absence.

Mice are optional, but OpenGLUT is only able to check for them under WIN32.

Mice can have a varying number of buttons, but OpenGLUT assumes exactly 3 on UNIX_X11.

Not all joystick queries are implemented yet.

GLUT_DEVICE_KEY_REPEAT returns the key repeat mode, but the comment says it returns the rate .

Some things, like joystick poll rates, seem to have insufficient context. Which joystick? Which window? Maybe we assume the current window and the current joystick (or the first one)?

GLUT_DEVICE_KEY_REPEAT should probably return ogState.KeyRepeat.

SEE ALSO
glutSetOption(3) glutGet(3) glutGetModifiers(3) glutLayerGet(3)