I'll use two general categories here. People who are partially sighted and need help seeing / deciphering / following the text and those who are unable to use any visual interface whatsoever.
There are many different problems here. Often magnification can be helpful, but that's not the full story. Sometimes people can't track motion, sometimes people can't find the cursor unless it moves. This calls for a range of techniques, the majority of which are only just being added to X.
This program is useful for improving the visibility of the normal text screen that Linux provides. The normal screen that Linux provides shows 80 characters across by 25 vertically. This can be changed (and the quality of those characters improved) using SVGATextMode. The program allows full access to the possible modes of an SVGA graphics card. For example, the text can be made larger so that only 50 by 15 characters appear on the screen. There isn't any easy way to zoom in on sections of a screen, but you can resize when needed.
For people who can see the screen there are a large number of ways of improving X. They don't add up to a coherent set of features yet, but if set up correctly could solve many problems.
The X server can be set up with many different resolutions. A single key press can then change between them allowing difficult to read text to be seen.
In the file
/etc/XF86Config, you have an entry in the Screen section
with a line beginning with modes. If, for example, you set this to
with each mode set up correctly (which requires a reasonably good monitor for the highest resolution mode), you will be able to have four times screen magnification, switching between the different levels using
Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
Moving the mouse around the screen will scroll you to different parts of the screen. For more details on how to set this up you should see the documentation which comes with the XFree86 X server.
There are several known screen magnification programs,
will magnify a portion of the screen as much as needed but is very
primitive. Another one is
xzoom. Previously I said that there
had to be something better than
xmag, well this is it. See
Another program which is available is
puff. This is
specifically oriented towards visually impaired users. It provides
such features as a box around the pointer which makes it easier to
locate. Other interesting features of
puff are that, if
correctly set up, it is able to select and magnify portions of the
screen as they are updated. However, there seem to be interacations
xpuff and the window manager which could make it
difficult to use. When used with my
fvwm setup, it didn't
respond at all to key presses. However using
twm improved the
The final program which I have seen working is
again has some specific advantages such as the ability to select a
specific area of the screen and monitor it, refreshing the magnified
display at regular intervals between a few tenths of a second at
dynamag is part of the UnWindows distribution. See
UnWindows for more details.
The screen fonts all properly written X software should be
changeable. You can simply make it big enough for you to read. This
is generally accomplished by putting a line the file
which should be in your home directory. By putting the correct lines
in this you can change the fonts of your programs, for example
To see what fonts are available, use the program
There should be some way of changing things at a more fundamental level so that everything comes out with a magnified font. This could be done by renaming fonts, and by telling telling font generating programs to use a different level of scaling. If someone gets this to work properly, please send me the details of how you did it.
For people that have problems following cursors there are many things which can help;
No software I know of specifically provides a cross hair cursor.
puff, mentioned in the previous section does however provide a
flashing box around the cursor which can make it considerably easier
For now the best that can be done is to change the cursor bitmap. Make a bitmap file as you want it, and another one which is the same size, but completely black. Convert them to the XBM format and run
xsetroot -cursor cursorfile.xbm black-file.xbm
actually, if you understand masks, then the black-file doesn't have to
be completely black, but start with it like that. The
file controls cursors used by actual applications. For much more
information, please see the X Big Cursor mini-HOWTO, by Joerg
Provided that the user can hear, audio input can be very useful for making a more friendly and communicative computing environment. For a person with low vision, audio clues can be used to help locate the pointer (see UnWindows). For a console mode user using Emacspeak (see Emacspeak), the audio icons available will provide very many useful facilities.
Setting up Linux audio is covered in the Linux Sound HOWTO (see
Linux Documentation). Once sound is set up,
sounds can be played with the
play command which is included with
most versions of Linux. This is the way to use my version of
Using large print with Linux is quite easy. There are several techniques.
LaTeX is an extremely powerful document preparation system. It may be used to produce large print documents of almost any nature. Though somewhat complicated to learn, many documents are produced using LaTeX or the underlying typesetting program, TeX.
this will produce some reasonably large text
\font\magnifiedtenrm=cmr10 at 20pt % setup a big font \magnifiedtenrm this is some large text \bye
For more details, see the LaTeX book which is available in any computer book shop. There are also a large number of introductions available on the internet.
Almost all Linux printing uses postscript, and Linux can drive almost any printer using it. I output large text teaching materials using a standard Epson dot matrix printer.
For users of X, there are various tools available which can produce
large Text. These include
LyX, and many commercial word
For someone who is completely unable to use a normal screen there are two alternatives Braille and Speech. Obviously for people who also have hearing loss, speech isn't always useful, so Braille will always be important.
If you can choose, which should you choose? This is a matter of `vigorous' debate. Speech is rapid to use, reasonably cheap and especially good for textual applications (e.g. reading a long document like this one). Problems include needing a quiet environment, possibly needing headphones to work without disturbing others and avoid being listened in on by them (not available for all speech synthesisers).
Braille is better for applications where precise layout is important (e.g. spreadsheets). Also can be somewhat more convenient if you want to check the beginning of a sentence when you get to the end. Braille is, however, much more expensive and slower for reading text. Obviously, the more you use Braille, the faster you get. Grade II Braille is difficult to learn, but is almost certainly worth it since it is much faster. This means that if you don't use Braille for a fair while you can never discover its full potential and decide for yourself. Anyway, enough said on this somewhat controversial topic.
based on original by James Bowden <email@example.com>
Braille terminals are normally a line or two of Braille. Since these are at most 80 characters wide and normally 40 wide, they are somewhat limited. I know of two kinds
The first kind works only when the computer is in text mode and reads the screen memory directly. See section hardware driven Braille terminals.
The second kind of Braille terminal is similar, in many ways, to a normal terminal screen of the kind Linux supports automatically. Unfortunately, they need special software to make them usable.
There are two packages which help with these. The first,
BRLTTY, works with several Braille display types and the authors
are keen to support more as information becomes available. Currently
BRLTTY supports Tieman B.V.'s CombiBraille series, Alva B.V.'s
ABT3 series and Telesensory Systems Inc.'s PowerBraille and Navigator
series displays. The use of Blazie Engineering's Braille Lite as a
Braille display is discouraged, but support may be renewed on demand.
Software Braille Terminals.
The other package I am aware of is Braille Enhanced Screen. This is designed to work on other UNIX systems as well as Linux. This should allow user access to a Braille terminal with many useful features such as the ability to run different programs in different `virtual terminals' at the same time.
Speech Synthesisers take (normally) ASCII text and convert it into actual spoken output. It is possible to have these implemented as either hardware or software. Unfortunately, the free Linux speech synthesisers are, reportedly, not good enough to use as a sole means of output.
Hardware speech synthesisers are the alternative. The main one
that I know of that works is DECtalk from Digital, driven by
emacspeak. However, at this time (March 1997) a driver for the
Doubletalk synthesiser has been announced. Using
access to all of the facilities of Linux is fairly easy. This
includes the normal use of the shell, a world wide web browser and
many other similar features, such as email. Although, it only acts as
a plain text reader (similar to IBM's one for the PC) when controling
programs it doesn't understand, with those that it does, it can
provide much more sophisticated control. See section
Emacspeak for more information about
When it starts up, Linux at present puts all of its messages straight to the normal (visual) screen. This could be changed if anyone with a basic level of kernel programming ability wants to do it. This means that it is impossible for most Braille devices to get information about what Linux is doing before the operating system is completely working.
It is only at that stage that you can start the program that you need
for access. If the
BRLTTY program is used and run very early in the
boot process, then from this stage on the messages on the screen can
be read. Most hardware and software will still have to wait until the
system is completely ready. This makes administering a Linux system
difficult, but not impossible for a visually impaired person. Once
the system is ready however, you can scroll back by pressing (on the
default keyboard layout) Shift-PageUP.
There is one Braille system that can use the console directly,
called the Braillex. This is designed to read directly from the
screen memory. Unfortunately the normal scrolling of the terminal
gets in the way of this. If you are using a Kernel newer than 1.3.75,
linux no-scroll at the LILO prompt or configure LILO to
do this automatically. If you have an earlier version of Linux, see
Screen Memory Braille Terminals
The other known useful thing to do is to use sounds to say when each stage of the boot process has been reached. (T.V. Raman suggestion)
There is a free Optical Character Recognition (OCR) program for
xocr. In principle, if it is good enough, this
program would allow visually impaired people to read normal books to
some extent (accuracy of OCR is never high enough..). However,
according to the documentation, this program needs training to
recognise the particular font that it is going to use and I have no
idea how good it is since I don't have the hardware to test it.
Beginning to learn Linux can seem difficult and daunting for someone who is either coming from no computing background or from a pure DOS background. Doing the following things may help:
emacsnow. You can learn it as you go along though. See below
The Emacspeak HOWTO written by Jim Van Zandt ( <firstname.lastname@example.org>) covers this in much more detail (see The Linux HOWTO Documents).
If you are planning to use Emacspeak, you should know that Emacspeak does not attempt to teach Emacs, so in this sense, prior knowledge of Emacs would always be useful. This said, you certainly do not need to know much about Emacs to start using Emacspeak. In fact, once Emacspeak is installed and running, it provides a fluent interface to the rich set of online documentation including the info pages, and makes learning what you need a lot easier.
"In summary: starting to use Emacspeak takes little learning. Getting the full mileage out of Emacs and Emacspeak, especially if you intend using it as a replacement for X Windows as I do does involve eventually becoming familiar with a lot of the Emacs extensions; but this is an incremental process and does not need to be done in a day." - T.V.Raman
One other option which may be interesting are the RNIB training tapes which include one covering UNIX. These can be got from
RNIB Customer Services PO Box 173 Peterborough Cambridgeshire PE2 6WS Tel: 01345 023153 (probably only works in UK)
Linux should be the perfect platform to drive a Braille embosser from. There are many formatting tools which are aimed specifically at the fixed width device. A Braille embosser can just be connected to the serial port using the standard Linux printing mechanisms. For more info see the Linux Printing HOWTO.
There is a free software package which acts as a multi-lingual grade two translator available for Linux from the American ``National Federation for the Blind''. This is called NFBtrans. See section NFB translator for more details.