GLUT-2.1.1.1: A binding for the OpenGL Utility ToolkitContentsIndex
Graphics.UI.GLUT.DeviceControl
Portabilityportable
Stabilitystable
Maintainersven.panne@aedion.de
Description
GLUT offers some routines for controlling the key repeat and polling the joystick.
Synopsis
data GlobalKeyRepeat
= GlobalKeyRepeatOff
| GlobalKeyRepeatOn
| GlobalKeyRepeatDefault
globalKeyRepeat :: StateVar GlobalKeyRepeat
data PerWindowKeyRepeat
= PerWindowKeyRepeatOff
| PerWindowKeyRepeatOn
perWindowKeyRepeat :: StateVar PerWindowKeyRepeat
forceJoystickCallback :: IO ()
Documentation
data GlobalKeyRepeat
The state of the global key repeat
Constructors
GlobalKeyRepeatOff
GlobalKeyRepeatOn
GlobalKeyRepeatDefault
show/hide Instances
globalKeyRepeat :: StateVar GlobalKeyRepeat

Controls the key repeat mode for the window system on a global basis if possible. If supported by the window system, the key repeat can either be disabled, enabled, or set to the window system's default key repeat state.

X Implementation Notes: X11 sends KeyPress events repeatedly when the window system's global auto repeat is enabled. perWindowKeyRepeat can prevent these auto repeated keystrokes from being reported as keyboard or special callbacks, but there is still some minimal overhead by the X server to continually stream KeyPress events to the GLUT application. The globalKeyRepeat state variable can be used to actually disable the global sending of auto repeated KeyPress events. Note that globalKeyRepeat affects the global window system auto repeat state so other applications will not auto repeat if you disable auto repeat globally through globalKeyRepeat. GLUT applications using the X11 GLUT implementation should disable key repeat with globalKeyRepeat to disable key repeats most efficiently, but are responsible for explicitly restoring the default key repeat state on exit.

Win32 Implementation Notes: The Win32 implementation of globalKeyRepeat does nothing. The perWindowKeyRepeat can be used in the Win32 GLUT implementation to ignore repeated keys on a per-window basis without changing the global window system key repeat.

data PerWindowKeyRepeat
The state of the per-window key repeat
Constructors
PerWindowKeyRepeatOff
PerWindowKeyRepeatOn
show/hide Instances
perWindowKeyRepeat :: StateVar PerWindowKeyRepeat
Controls if auto repeat keystrokes are reported to the current window. Ignoring auto repeated keystrokes is generally done in conjunction with using the keyboardMouseCallback. If you do not ignore auto repeated keystrokes, your GLUT application will experience repeated release/press callbacks. Games using the keyboard will typically want to ignore key repeat.
forceJoystickCallback :: IO ()
Execute the joystick callback set by joystickCallback once (if one exists). This is done in a synchronous fashion within the current context, i.e. when forceJoystickCallback returns, the callback will have already happened.
Produced by Haddock version 0.8