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.
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 think sticky mouse keys, which is due in a future
release of X, should make use of most programs possible.
People who are unable to use a keyboard normally can sometimes use one through a headstick or a mouthstick. This causes calls for special setup of the keyboard, which is, as far as I know, impossible at present for Linux. This should become available very soon though because the software needed to implement the main parts of this is already written and in testing.
At that point, there should be a program which will display a keyboard on the screen and accept input from some kind of pointer, including, for example, eye movement.
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).
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 the 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.
Sticky keys are not available on Linux in any form as far as I know. For the normal console they would need changes to the kernel code. This wouldn't be very difficult, but would need someone who had basic kernel programming skills to do it.
For X windows under Linux, the code already exists, but is not available for normal users. Since `normal users' includes me, at present, I cannot confirm that this will be usable.
There are a number of devices worth considering for input such as touch screens and eye pointers. Most 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.
The main group of interest here are the Linux Lab Project. Generally, much GPIB (a standard scientific equipment interface also known as the IEEE bus) hardware can be controlled.