OpenGLUT Documentation
Introduction | Documentation | Examples | Proposals | Authors | Copying | Todo | Bugs | Links

Input State
[OpenGLUT API Reference]


Functions

int glutDeviceGet (GLenum eWhat)
int glutGetModifiers (void)
void glutIgnoreKeyRepeat (int ignore)
void glutSetKeyRepeat (int repeatMode)

Function Documentation

int glutDeviceGet GLenum  eWhat  ) 
 

Allows you to get some device state/option variables.

Parameters:
eWhat Enumerated parameter ID.
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.

Bug:
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.

Todo:
Only supports querying for one joystick.

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

See also:
glutSetOption(), glutGet(), glutGetModifiers(), glutLayerGet()

int glutGetModifiers void   ) 
 

Returns the status of Alt, Shift, and Ctrl keys.

According to which, if any, modifier keys are held, the return value is the logical OR combination of any of the following symbolic bitmasks:

  • GLUT_ACTIVE_SHIFT
  • GLUT_ACTIVE_CTRL
  • GLUT_ACTIVE_ALT

E.g., if the shift key is held, and no other modifier keys are held, this function will return GLUT_ACTIVE_SHIFT.

Bug:
Complains if not invoked by a client callback.

Does not differentiate between the left and right forms of the modifiers.

See also:
glutSetOption(), glutGet(), glutDeviceGet(), glutLayerGet()

void glutIgnoreKeyRepeat int  ignore  ) 
 

Set autorepeat status.

Parameters:
ignore Whether to ignore autorepeated keys.
If ignore is non-zero, then auto-repeat is disabled for keyboard callbacks for the current window.

See also:
glutSetKeyRepeat()

void glutSetKeyRepeat int  repeatMode  ) 
 

Sets autorepeat behavior for all OpenGLUT windows.

Parameters:
repeatMode On, Off or Default.
glutSetKeyRepeat() is similar to glutIgnoreKeyRepeat() but sets the behavior for OpenGLUT in general, rather than for a particular window. The options for repeatMode are:

  • GLUT_KEY_REPEAT_OFF
    Turn off repeat for all windows.
  • GLUT_KEY_REPEAT_ON
    Turn on repeat for all windows.
  • GLUT_KEY_REPEAT_DEFAULT
    Respect the window's setting.

See also:
glutIgnoreKeyRepeat()




OpenGLUT Development @ Sourceforge
Homepage | Summary | Files | CVS | Forums | Lists | Bugs | RFE

Generated on Tue Oct 5 18:44:33 2004 for OpenGLUT by doxygen 1.3.8
The OpenGLUT project is hosted by sourceforge.net.