X Accessibility : AccessX

Developed by Dan Linder

Email AccessX

Disability Resources and Educational Services (DRES)

University of Illinois at Urbana/Champaign

AccessX Overview

AccessX is a set of features within the XKEYBOARD extension of the X Window System designed to make X more accessible to users with disabilities. XKEYBOARD is present in X11R6.1 and later. AccessX features are typically unknown, given that in many implementations no interface is provided to utilize their functionality. Sun, DEC (digital, now part of Compaq, now part of HP), and SGI all provide a utility called accessx that enables the user to get, set, and store in a configuration file many of the AccessX features. As of X11R6.6, the latest release of The X Window System from the X Consortium, the AccessX extension and client application are provided, however many of the available X implementations have not yet adopted X11R6.6. Our free utility (with GPL licensed source) fills the gap for people lacking access to the real AccessX.

Accessibility Features supported in AccessX include:

  1. MouseKeys
  2. SlowKeys
  3. StickyKeys
  4. BounceKeys
  5. RepeatKeys

MouseKeys is a system whereby the numeric keypad can be used to control the mouse pointer. This can be especially useful for people who are unable to control a mouse or trackball, and prefer the keyboard as an interface. The numbers 1 through 4 and 6 through 9 control the direction, 5 acts as a single click or a click-and-hold if held (on some keyboards and architectures, see below), 0 acts as a click-and-hold when pressed and released (on all architectures, theoretically), and "/", "*", and "-" activate mousebuttons 1, 2 or 3 respectively, to be controlled by 5 or 0. MouseKeys malfunctions on at least one platform, PCs running XFree86. As of version 4.0.1, a problem still exists in that when holding down a directional control, the mouse pointer will accelerate, and then stop accelerating and jerk along very slowly. This is a bug in the interaction between the PC keyboard and XF86/XKEYBOARD. Please see below for more information.

SlowKeys is a feature to "slow down" keyboard input. The user specifies a delay, and any key pressed, but released before the delay has expired, is ignored. In this way, keys accidentally "bumped" are not entered as user input.

StickyKeys enables the user who is unable to press and hold multi-key combinations to enter them in a sequential format instead. Thus, instead of holding down "SHIFT" and "a" to get a capital "A", the user may instead press "SHIFT" and then press "a" to get the same capital "A".

BounceKeys is similar to StickyKeys, except that instead of a delay affecting all keys pressed, the delay is only enabled for the key the user pressed last. If a user is prone to "bouncing" on a key, that is, pressing the same key once, and then repeatedly accidentally, BounceKeys can be turned on to ignore those later keypresses until a specified delay time has passed.

RepeatKeys sets the same parameters as the global repeat settings, but it is important to make note of it as an accessibility feature as well. Through RepeatKeys, the user can specify both the delay before a held key begins repeating, as well as the rate at which it repeats.

Apparently missing from AccessX is a ToggleKeys feature, which would utilize audible tones to alert the user as to which state certain keys are in, such as SHIFT LOCK, NUM LOCK, and SCROLL LOCK.

For More Information:

Email questions or comments to: accessx@rehab.uiuc.edu