Previous Next Contents

5. Physical Problems

Many of these problems have to be handled individually. The needs of the individual, the ways that they can generate input and other factors vary so much that all that this HOWTO can provide is a general set of pointers to useful software and expertise.

5.1 Unable to Use a Mouse/Pointer

Limited mobility can make it difficult to use a mouse. For some people a tracker ball can be a very good solution, but for others the only possible input device is a keyboard (or even something which simulates a keyboard). For normal use of Linux this shouldn't be a problem (but see the section Making the keyboard behave), but for users of X, this may cause major problems under some circumstances.

Fortunately, the fvwm window manager has been designed for use without a pointer and most things can be done using this. I actually do this myself when I lose my mouse (don't ask) or want to just keep typing. fvwm is included with all distributions of Linux that I know of. Actually using other programs will depend on their ability to accept key presses. Many X programs do this for all functions. Many don't. I sticky mouse keys, which are supposedly present in the current release of X should make this easier.

Unable to Use a Keyboard

People who are unable to use a keyboard normally can sometimes use one through a headstick or a mouthstick. This calls for special setup of the keyboard. Please see also the section Making the keyboard behave.

Other Input Hardware (X Windows System only)

For others, the keyboard cannot be used at all and only pointing devices are available. In this case, no solution is available under the standard Linux Console and X will have to be used. If the X-Input extension can be taught to use the device and the correct software for converting pointer input to characters can be found (I haven't seen it yet) then any pointing should be usable without a keyboard.

There are a number of devices worth considering for such input such as touch screens and eye pointers. Many of these will need a `device driver' written for them. This is not terribly difficult if the documentation is available, but requires someone with good C programming skills. Please see the Linux Kernel Hackers guide and other kernel reference materials for more information. Once this is set up, it should be possible to use these devices like a normal mouse.

Controlling Physical Hardware From Linux

The main group of interest here are the Linux Lab Project. Generally, much GPIB (a standard interface to scientific equipment, also known as the IEEE bus) hardware can be controlled. This potentially gives much potential for very ambitious accessibility projects. As far as I know none have yet been attempted.

5.2 Speech Recognition

Speech recognition is a very powerful tool for enabling computer use. There are two recognition systems that I know of for Linux, the first is ears which is described as ``recognition is not optimal. But it is fine for playing and will be improved'', the second is AbbotDemo ``A speaker independent continuous speech recognition system'' which may well be more interesting, though isn't available for commercial use without prior arrangement. See the Linux software map for details (see section other Linux documents).

5.3 Making the Keyboard Behave

X Window System.

The latest X server which comes with Linux can include many features which assist in input. This includes such features as StickKeys, MouseKeys, RepeatKeys, BounceKeys, SlowKeys, and TimeOut. These allow customisation of the keyboard to the needs of the user. These are provided as part of the XKB> extension in versions of X after version 6.1. To find out your version and see whether you have the extension installed, you can try.

xdpyinfo -queryExtensions

Getting Rid of Auto Repeat

To turn off key repeat on the Linux console run this command (I think it has to be run once per console; a good place to run it would be in your login files, .profile or .login in your home directory).

setterm -repeat off

To get rid of auto repeat on any X server, you can use the command

xset -r 

which you could put into the file which get runs when you start using X (often .xsession or .xinit under some setups)

Both of these commands are worth looking at for more ways of changing behaviour of the console.

Macros / Much input, few key presses

Often in situations such as this, the biggest problem is speed of input. Here the most important thing to aim for is the most number of commands with the fewest key presses. For users of the shell (bash / tcsh) you should look at the manual page, in particular command and filename completion (press the tab key and bash tries to guess what should come next). For information on macros which provide sequences of commands for just one key press, have a look at the Keystroke HOWTO.

Sticky Keys

Sticky keys are a feature that allow someone who can only reliably press one button at a time to use a keyboard with all of the various modifier keys such as shift and control. These keys, instead of having to be held on at the same time as the other key instead become like the caps lock key and stay on while the other key is pressed. They may then either switch off or stay on for the next key depending on what is needed. For information about how to set this up please see the Linux Keyboard HOWTO, especially section `I can use only one finger to type with' (section 15 in the version I have) for more information on this. - Information from Toby Reed.


Previous Next Contents