| GLUT-2.1.1.2: A binding for the OpenGL Utility Toolkit | Source code | Contents | Index
Graphics.UI.GLUT.DeviceControl |
Portability | portable
Stability | stable
Maintainer | sven.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 | Source
The state of the global key repeat
Constructors
GlobalKeyRepeatOff |
GlobalKeyRepeatOn |
GlobalKeyRepeatDefault |
Instances
Eq GlobalKeyRepeat
Ord GlobalKeyRepeat
Show GlobalKeyRepeat
globalKeyRepeat :: StateVar GlobalKeyRepeat | Source
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 | Source
The state of the per-window key repeat
Constructors
PerWindowKeyRepeatOff |
PerWindowKeyRepeatOn |
Instances
Eq PerWindowKeyRepeat
Ord PerWindowKeyRepeat
Show PerWindowKeyRepeat
perWindowKeyRepeat :: StateVar PerWindowKeyRepeat | Source
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 () | Source
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.9