Mouse keys
From Wikipedia, the free encyclopedia
Mouse keys is a feature of some Graphical user interfaces that uses the keyboard (especially numeric keypad) as a pointing device (usually replacing a mouse). Its roots lie in the earliest days of visual editors when line and column navigation was controlled with arrow keys (e.g. hjkl, esdx). Today, Mousekeys, usually refers only to the numeric keypad layout standardized with the introduction of the X Window System in 1984 [1] [2] .
Contents |
[edit] Layout
| key | action |
|---|---|
| Num Lock | With Alt-Shift
Enable/Disable MouseKeys |
| 8 | cursor up |
| 2 | cursor down |
| 6 | cursor right |
| 4 | cursor left |
| 7 | cursor up and left |
| 9 | cursor up and right |
| 3 | cursor down and right |
| 1 | cursor down and left |
| / | select primary button |
| * | select modifier button |
| - | select alternate button |
| 5 | click selected button |
| + | double click selected button |
| 0 | depress selected button |
| . | release selected button |
| Enter | Enter Key |
[edit] History
Historically, MouseKeys supported GUI programs when many terminals had no dedicated pointing device. As pointing devices became ubiquitous, the use of mousekeys narrowed to situations where a pointing device was missing, unusable, or inconvenient. Such situations may arise from
- precision requirements (e.g. technical drawing)
- disabled user or ergonomics issues,
- environmental limits (e.g. vibration in car or plane)
- broken equipment
[edit] MouseKeysAccel
| parameter | meaning |
|---|---|
| mk_delay | milliseconds between the initial key press and first repeated motion event |
| mk_interval | milliseconds between repeated motion events |
| mk_max_speed | steady speed (in action_delta units) applied each event |
| mk_time_to_max | number of events (count) accelerating to steady speed |
| mk_curve | ramp used to reach maximum pointer speed |
The X Window System MouseKeysAccel control applies action (usu. cursor movement) repeatedly while a direction key {1,2,3,4,6,7,8,9} remains depressed [3].
When the key is depressed, an action_delta is immediately applied. If the key remains depressed, longer than mk_delay milliseconds, some action is applied every mk_interval milliseconds until the key is released. If the key remains depressed, after more than mk_time_to_max actions have been applied, action_delta magnified mk_max_speed times, is applied every mk_interval milliseconds.
The first mk_time_to_max actions increase smoothly according to an exponential.

| mk_curve | result |
|---|---|
| -1000 | uniform speed, linearly increasing action |
| 0 | uniform acceleration, linearly increasing speed |
| 1000 | uniform jerk, linearly increasing acceleration |
These five parameters are configurable [4] [5].
[edit] Enabling
Under the X Window Systems Xorg and XFree86 used on Unix-like systems such as Linux, BSD, AIX, ... MouseKeys (and MouseKeysAccel) is nominally (de)activated by Alt + Shift + Num Lock [6]. MouseKeys without acceleration (a.k.a. plot mode) is sometimes available with Shift + NumLock. This is independent of the Window Manager in use, and may be overridden by config file.
Microsoft changed the method of enabling between Windows_2000 [7], Windows XP (added diagonal cursor movement and MouseKeysAccel) [8], and Windows Vista [9].
[edit] References
- ^ XFree86 CVS Repository
xc/programs/xkbcomp/compat/mousekeys - ^ ibid.
xc/programs/xkbcomp/symbols/pc/pc - ^ The X Keyboard Extension: Library Specification
Library Version 1.0/Document Revision 1.1
X Consortium Standard
X Version 11 / Release 6.4
Keyboard Controls
10.5.2
The MouseKeysAccel Control - ^ GNOME Documentation Library
Desktop User Guide
Configuring Your Desktop
Personal
Table 8-4
Mouse Preferences - ^ Microsoft Training
Accessibility Tutorials
Windows XP
MouseKeys: Control the Mouse Pointer Using the Numeric Keypad
MouseKeys Settings - ^ The X Keyboard Extension: Library Specification
Library Version 1.0/Document Revision 1.1
X Consortium Standard
X Version 11 / Release 6.4
Keyboard Controls
10.5.1
The MouseKeys Control - ^ Microsoft.com
Accessibility Tutorials
Windows 2000
Turning MouseKeys On and Off - ^ Microsoft.com
Accessibility Tutorials
Windows XP
MouseKeys: Control the Mouse Pointer Using the Numeric Keypad - ^ Microsoft.com
Accessibility Tutorials
Windows Vista
Control the mouse pointer with the keyboard (Mouse Keys)