|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://rtm-cs.sinp.msu.ru/manual/howto/Access-HOWTO.html
Дата изменения: Thu May 4 18:59:33 2000 Дата индексирования: Mon Oct 1 21:06:14 2012 Кодировка: |
The aim of this document is to serve as an introduction to the technologies which are available to make Linux usable by people who, through some disability would otherwise have problems with it. In other words the target groups of the technologies are, the blind, the partially sighted, deaf and the physically disabled. As any other technologies or pieces of information are discovered they will be added.
The information here not just for these people (although that is probably the main aim) but also to allow developers of Linux to become aware of the difficulties involved here. Possibly the biggest problem is that, right now, very few of the developers of Linux are aware of the issues and various simple ways to make life simpler for implementors of these systems. This has, however, changed noticeably since the introduction of this document, and at least to a small extent because of this document, but also to a large extent due to the work of some dedicated developers, many of whom are mentioned in the document's Acknowledgements.
Please send any comments or extra information or offers of assistance to <access-howto@ed.ac.uk> This address might become a mailing list in future, or be automatically handed over to a future maintainer of the HOWTO, so please don't use it for personal email.
I don't have time to follow developments in all areas. I probably won't even read a mail until I have time to update this document. It's still gratefully received. If a mail is sent to the blind-list or the access-list, I will eventually read it and put any useful information into the document. Otherwise, please send a copy of anything interesting to the above email address.
Normal mail can be sent to
Linux Access HOWTO
23 Kingsborough Gardens
Glasgow G12 9NH
Scotland
U.K.
And will gradually make its way round the world to me. Email will be faster by weeks.
I can be personally contacted using <miked@ed.ac.uk>. Since I use mail filtering on all mail I receive, please use the other address except for personal email. This is most likely to lead to an appropriate response.
The ACCESS-HOWTO is copyrighted (c) 1996 Michael De La Rue
The ACCESS-HOWTO may be distributed, at your choice, under either the
terms of the GNU Public License version 2 or later or the standard
Linux Documentation project terms. These licenses should be available
from where you got this document. Please note that since the LDP
terms don't allow modification (other than translation), modified
versions can be assumed to be distributed under the GPL.
The best place to find out about this is in such documents as the `Linux Info Sheet', `Linux Meta FAQ' and `Linux FAQ' (see Linux Documentation). Major reasons for a visually impaired person to use Linux would include it's inbuilt networking which gives full access to the Internet. More generally, users are attracted by the full development environment included. Also, unlike most other modern GUI environments, the graphical front end to Linux (X Windows) is clearly separated from the underlying environment and there is a complete set of modern programs such as World Wide Web browsers and fax software which work directly in the non graphical environment. This opens up the way to provide alternative access paths to the systems functionality; Emacspeak is a good example.
For other users, the comparison is probably less favourable and less clear. People with very specific and complex needs will find that the full development system included allows properly customised solutions. However, much of the software which exists on other systems is only just beginning to become available. More development is being done however in almost all directions.
There is almost nothing commercial available specifically for Linux. There is a noticeable amount of free software which would be helpful in adaptation, for example, a free speech synthesiser and some free voice control software. There are also a number of free packages which provide good support for certain Braille terminals, for example.
Linux has the vast advantage over Windows that most of it's software is command line oriented. This is now changing and almost everything is now available with a graphical front end. However, because it is in origin a programmers operating system, line oriented programs are still being written covering almost all new areas of interest. For the physically disabled, this means that it is easy to build custom programs to suit their needs. For the visually impaired, this should make use with a speech synthesiser or Braille terminal easy and useful for the foreseeable future.
Linux's multiple virtual consoles system make it practical to use as a multi-tasking operating system by a visually impaired person working directly through Braille.
The windowing system used by Linux (X11) comes with many programming tools, and should be adaptable. However, in practice, the adaptive programs available up till now have been more primitive than those on the Macintosh or Windows. They are, however, completely free (as opposed to hundreds of pounds) and the quality is definitely improving.
In principle it should be possible to put together a complete, usable Linux system for a visually impaired person for about $500 (cheap & nasty PC + sound card). This compares with many thousands of dollars for other operating systems (screen reader software/ speech synthesiser hardware). I have yet to see this. I doubt it would work in practice because the software speech synthesisers available for Linux aren't yet sufficiently good. For a physically disabled person, the limitation will still be the expense of input hardware.
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
Modes "1280x1024" "1024x768" "800x600" "640x480" "320x240"
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
Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus
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, xmag which
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
section
xzoom.
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
between 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
situation.
The final program which I have seen working is dynamag. This
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
twenty seconds. 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 .Xdefaults
which should be in your home directory. By putting the correct lines
in this you can change the fonts of your programs, for example
Emacs.font: -sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-*
To see what fonts are available, use the program xfontsel under
X.
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
to locate.
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 .Xdefaults
file controls cursors used by actual applications. For much more
information, please see the X Big Cursor mini-HOWTO, by Joerg
Schneider
<schneid@ira.uka.de>.
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
UnWindows.
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
processors.
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 <jrbowden@bcs.org.uk>
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.
See section
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 emacspeak full
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
emacspeak.
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,
just type linux no-scroll at the LILO prompt or configure LILO to
do this automatically. If you have an earlier version of Linux, see
section
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
Linux called 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:
emacs
now. You can learn it as you go along though. See belowThe Emacspeak HOWTO written by Jim Van Zandt ( <jrv@vanzandt.mv.com>) 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.
For the most part there is little problem using a computer for people with hearing problems. Almost all of the output is visual. There are some situations where sound output is used though. For these, the problem can sometimes be worked round by using visual output instead.
By tradition, computers go `beep' when some program sends them a special code. This is generally used to get attention to the program and for little else. Most of the time, it's possible to replace this by making the entire screen (or terminal emulator) flash. How to do this is very variable though.
for xterm, you can either change the setting by
pressing the middle mouse button while holding down the control key,
or by putting a line with just `XTerm*visualBell: true' (not the
quotes of course) in the file .Xdefaults in your home directory.
The console is slightly more complex. Please see Alessandro Rubini's Visual Bell mini HOWTO for details on this. Available along with all the other Linux documentation (see section other Linux documents). Mostly the configuration has to be done on a per application basis, or by changing the Linux Kernel its self.
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 sticky mouse keys, which are supposedly present in the
current release of X should make this easier.
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.
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.
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.
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).
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
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 coul