home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / Access-HOWTO < prev    next >
Text File  |  1997-03-28  |  65KB  |  1,526 lines

  1.   Linux Access HOWTO
  2.   Michael De La Rue,  <access-howto@ed.ac.uk>
  3.   v2.11, 28 March 1997
  4.  
  5.   The Linux Access HOWTO covers the use of adaptive technology with
  6.   Linux, In particular, using adaptive technology to make Linux accessi¡
  7.   ble to those who could not use it otherwise.  It also covers areas
  8.   where Linux can be used within more general adaptive technology solu¡
  9.   tions.
  10.  
  11.   1.  Introduction
  12.  
  13.   The aim of this document is to serve as an introduction to the
  14.   technologies which are available to make Linux usable by people who,
  15.   through some disability would otherwise have problems with it.  In
  16.   other words the target groups of the technologies are, the blind, the
  17.   partially sighted, deaf and the physically disabled.  As any other
  18.   technologies or pieces of information are discovered they will be
  19.   added.
  20.  
  21.   The information here not just for these people (although that is
  22.   probably the main aim) but also to allow developers of Linux to become
  23.   aware of the difficulties involved here.  Possibly the biggest problem
  24.   is that, right now, very few of the developers of Linux are aware of
  25.   the issues and various simple ways to make life simpler for
  26.   implementors of these systems.  This has, however, changed noticeably
  27.   since the introduction of this document, and at least to a small
  28.   extent because of this document, but also to a large extent due to the
  29.   work of some dedicated developers, many of whom are mentioned in the
  30.   document's Acknowledgements.
  31.  
  32.   Please send any comments or extra information or offers of assistance
  33.   to <access-howto@ed.ac.uk> This address might become a mailing list in
  34.   future, or be automatically handed over to a future maintainer of the
  35.   HOWTO, so please don't use it for personal email.
  36.  
  37.   I don't have time to follow developments in all areas.  I probably
  38.   won't even read a mail until I have time to update this document.
  39.   It's still gratefully received.  If a mail is sent to the blind-list
  40.   or the access-list, I will eventually read it and put any useful
  41.   information into the document.  Otherwise, please send a copy of
  42.   anything interesting to the above email address.
  43.  
  44.   Normal mail can be sent to
  45.  
  46.        Linux Access HOWTO
  47.        23 Kingsborough Gardens
  48.        Glasgow G12 9NH
  49.        Scotland
  50.        U.K.
  51.  
  52.   And will gradually make its way round the world to me.  Email will be
  53.   faster by weeks.
  54.  
  55.   I can be personally contacted using <miked@ed.ac.uk>.  Since I use
  56.   mail filtering on all mail I receive, please use the other address
  57.   except for personal email.  This is most likely to lead to an
  58.   appropriate response.
  59.  
  60.   1.1.  Distribution Policy
  61.  
  62.        The ACCESS-HOWTO is copyrighted (c) 1996 Michael De La Rue
  63.  
  64.        The ACCESS-HOWTO may be distributed, at your choice, under either the
  65.        terms of the GNU Public License version 2 or later or the standard
  66.        Linux Documentation project terms.  These licenses should be available
  67.        from where you got this document.  Please note that since the LDP
  68.        terms don't allow modification (other than translation), modified ver¡
  69.        sions can be assumed to be distributed under the GPL.
  70.  
  71.   2.  Comparing Linux with other Operating Systems
  72.  
  73.   2.1.  General Comparison
  74.  
  75.   The best place to find out about this is in such documents as the
  76.   `Linux Info Sheet', `Linux Meta FAQ' and `Linux FAQ' (see ``Linux
  77.   Documentation'').  Major reasons for a visually impaired person to use
  78.   Linux would include it's inbuilt networking which gives full access to
  79.   the Internet.  More generally, users are attracted by the full
  80.   development environment included.  Also, unlike most other modern GUI
  81.   environments, the graphical front end to Linux (X Windows) is clearly
  82.   separated from the underlying environment and there is a complete set
  83.   of modern programs such as World Wide Web browsers and fax software
  84.   which work directly in the non graphical environment.  This opens up
  85.   the way to provide alternative access paths to the systems
  86.   functionality; Emacspeak is a good example.
  87.  
  88.   For other users, the comparison is probably less favourable and less
  89.   clear.  People with very specific and complex needs will find that the
  90.   full development system included allows properly customised solutions.
  91.   However, much of the software which exists on other systems is only
  92.   just beginning to become available.  More development is being done
  93.   however in almost all directions.
  94.  
  95.   2.2.  Availability of Adaptive Technology
  96.  
  97.   There is almost nothing commercial available specifically for Linux.
  98.   There is a noticeable amount of free software which would be helpful
  99.   in adaptation, for example, a free speech synthesiser and some free
  100.   voice control software.  There are also a number of free packages
  101.   which provide good support for certain Braille terminals, for example.
  102.  
  103.   2.3.  Inherent Usability
  104.  
  105.   Linux has the vast advantage over Windows that most of it's software
  106.   is command line oriented.  This is now changing and almost everything
  107.   is now available with a graphical front end.  However, because it is
  108.   in origin a programmers operating system, line oriented programs are
  109.   still being written covering almost all new areas of interest.  For
  110.   the physically disabled, this means that it is easy to build custom
  111.   programs to suit their needs.  For the visually impaired, this should
  112.   make use with a speech synthesiser or Braille terminal easy and useful
  113.   for the foreseeable future.
  114.  
  115.   Linux's multiple virtual consoles system make it practical to use as a
  116.   multi-tasking operating system by a visually impaired person working
  117.   directly through Braille.
  118.  
  119.   The windowing system used by Linux (X11) comes with many programming
  120.   tools, and should be adaptable.  However, in practice, the adaptive
  121.   programs available up till now have been more primitive than those on
  122.   the Macintosh or Windows.  They are, however, completely free (as
  123.   opposed to hundreds of pounds) and the quality is definitely
  124.   improving.
  125.  
  126.   In principle it should be possible to put together a complete, usable
  127.   Linux system for a visually impaired person for about $500 (cheap &
  128.   nasty PC + sound card).  This compares with many thousands of dollars
  129.   for other operating systems (screen reader software/ speech
  130.   synthesiser hardware).  I have yet to see this.  I doubt it would work
  131.   in practice because the software speech synthesisers available for
  132.   Linux aren't yet sufficiently good.  For a physically disabled person,
  133.   the limitation will still be the expense of input hardware.
  134.  
  135.   3.  Visually Impaired
  136.  
  137.   I'll use two general categories here.  People who are partially
  138.   sighted and need help seeing / deciphering / following the text and
  139.   those who are unable to use any visual interface whatsoever.
  140.  
  141.   3.1.  Seeing the Screen with Low Vision
  142.  
  143.   There are many different problems here.  Often magnification can be
  144.   helpful, but that's not the full story.  Sometimes people can't track
  145.   motion, sometimes people can't find the cursor unless it moves.  This
  146.   calls for a range of techniques, the majority of which are only just
  147.   being added to X.
  148.  
  149.   3.1.1.  SVGATextMode
  150.  
  151.   This program is useful for improving the visibility of the normal text
  152.   screen that Linux provides.  The normal screen that Linux provides
  153.   shows 80 characters across by 25 vertically.  This can be changed (and
  154.   the quality of those characters improved) using SVGATextMode.  The
  155.   program allows full access to the possible modes of an SVGA graphics
  156.   card.  For example, the text can be made larger so that only 50 by 15
  157.   characters appear on the screen.  There isn't any easy way to zoom in
  158.   on sections of a screen, but you can resize when needed.
  159.  
  160.   3.1.2.  X Window System
  161.  
  162.   For people who can see the screen there are a large number of ways of
  163.   improving X.  They don't add up to a coherent set of features yet, but
  164.   if set up correctly could solve many problems.
  165.  
  166.   3.1.2.1.  Different Screen Resolutions
  167.  
  168.   The X server can be set up with many different resolutions.  A single
  169.   key press can then change between them allowing difficult to read text
  170.   to be seen.
  171.  
  172.   In the file /etc/XF86Config, you have an entry in the Screen section
  173.   with a line beginning with modes.  If, for example, you set this to
  174.        Modes       "1280x1024" "1024x768" "800x600" "640x480" "320x240"
  175.  
  176.   with each mode set up correctly (which requires a reasonably good mon¡
  177.   itor for the highest resolution mode), you will be able to have four
  178.   times screen magnification, switching between the different levels
  179.   using
  180.  
  181.   Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus
  182.  
  183.   Moving the mouse around the screen will scroll you to different parts
  184.   of the screen.  For more details on how to set this up you should see
  185.   the documentation which comes with the XFree86 X server.
  186.  
  187.   3.1.2.2.  Screen Magnification
  188.  
  189.   There are several known screen magnification programs, xmag which will
  190.   magnify a portion of the screen as much as needed but is very
  191.   primitive.  Another one is xzoom.  Previously I said that there had to
  192.   be something better than xmag, well this is it.  See section
  193.   ``xzoom''.
  194.  
  195.   Another program which is available is puff.  This is specifically
  196.   oriented towards visually impaired users.  It provides such features
  197.   as a box around the pointer which makes it easier to locate.  Other
  198.   interesting features of puff are that, if correctly set up, it is able
  199.   to select and magnify portions of the screen as they are updated.
  200.   However, there seem to be interacations between xpuff and the window
  201.   manager which could make it difficult to use.  When used with my fvwm
  202.   setup, it didn't respond at all to key presses.  However using twm
  203.   improved the situation.
  204.  
  205.   The final program which I have seen working is dynamag.  This again
  206.   has some specific advantages such as the ability to select a specific
  207.   area of the screen and monitor it, refreshing the magnified display at
  208.   regular intervals between a few tenths of a second at twenty seconds.
  209.   dynamag is part of the UnWindows distribution.  See ``UnWindows'' for
  210.   more details.
  211.  
  212.   3.1.2.3.  Change Screen Font
  213.  
  214.   The screen fonts all properly written X software should be changeable.
  215.   You can simply make it big enough for you to read.  This is generally
  216.   accomplished by putting a line the file .Xdefaults which should be in
  217.   your home directory.  By putting the correct lines in this you can
  218.   change the fonts of your programs, for example
  219.  
  220.   Emacs.font: -sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-*
  221.  
  222.   To see what fonts are available, use the program xfontsel under X.
  223.  
  224.   There should be some way of changing things at a more fundamental
  225.   level so that everything comes out with a magnified font.  This could
  226.   be done by renaming fonts, and by telling telling font generating
  227.   programs to use a different level of scaling.  If someone gets this to
  228.   work properly, please send me the details of how you did it.
  229.   3.1.2.4.  Cross Hair Cursors etc..
  230.  
  231.   For people that have problems following cursors there are many things
  232.   which can help;
  233.  
  234.   ╖  cross-hair cursors (horizontal and vertical lines from the edge of
  235.      the screen)
  236.  
  237.   ╖  flashing cursors (flashes when you press a key)
  238.  
  239.   No software I know of specifically provides a cross hair cursor.
  240.   puff, mentioned in the previous section does however provide a
  241.   flashing box around the cursor which can make it considerably easier
  242.   to locate.
  243.  
  244.   For now the best that can be done is to change the cursor bitmap.
  245.   Make a bitmap file as you want it, and another one which is the same
  246.   size, but completely black.  Convert them to the XBM format and run
  247.  
  248.           xsetroot -cursor cursorfile.xbm black-file.xbm
  249.  
  250.   actually, if you understand masks, then the black-file doesn't have to
  251.   be completely black, but start with it like that.  The .Xdefaults file
  252.   controls cursors used by actual applications.  For much more
  253.   information, please see the X Big Cursor mini-HOWTO, by Joerg
  254.   Schneider <schneid@ira.uka.de>.
  255.  
  256.   3.1.3.  Audio
  257.  
  258.   Provided that the user can hear, audio input can be very useful for
  259.   making a more friendly and communicative computing environment.  For a
  260.   person with low vision, audio clues can be used to help locate the
  261.   pointer (see ``UnWindows'').  For a console mode user using Emacspeak
  262.   (see ``Emacspeak''), the audio icons available will provide very many
  263.   useful facilities.
  264.  
  265.   Setting up Linux audio is covered in the Linux Sound HOWTO (see
  266.   ``Linux Documentation'').  Once sound is set up, sounds can be played
  267.   with the play command which is included with most versions of Linux.
  268.   This is the way to use my version of UnWindows.
  269.  
  270.   3.1.4.  Producing Large Print
  271.  
  272.   Using large print with Linux is quite easy.  There are several
  273.   techniques.
  274.  
  275.   3.1.4.1.  LaTeX / TeX
  276.  
  277.   LaTeX is an extremely powerful document preparation system.  It may be
  278.   used to produce large print documents of almost any nature.  Though
  279.   somewhat complicated to learn, many documents are produced using LaTeX
  280.   or the underlying typesetting program, TeX.
  281.  
  282.   this will produce some reasonably large text
  283.  
  284.        \font\magnifiedtenrm=cmr10 at 20pt  % setup a big font
  285.        \magnifiedtenrm
  286.        this is some large text
  287.        \bye
  288.  
  289.   For more details, see the LaTeX book which is available in any
  290.   computer book shop.  There are also a large number of introductions
  291.   available on the internet.
  292.  
  293.   3.1.5.  Outputting Large Text
  294.  
  295.   Almost all Linux printing uses postscript, and Linux can drive almost
  296.   any printer using it.  I output large text teaching materials using a
  297.   standard Epson dot matrix printer.
  298.  
  299.   For users of X, there are various tools available which can produce
  300.   large Text.  These include LyX, and many commercial word processors.
  301.  
  302.   3.2.  Aids for Those Who Can't Use Visual Output
  303.  
  304.   For someone who is completely unable to use a normal screen there are
  305.   two alternatives Braille and Speech.  Obviously for people who also
  306.   have hearing loss, speech isn't always useful, so Braille will always
  307.   be important.
  308.  
  309.   If you can choose, which should you choose?  This is a matter of
  310.   `vigorous' debate.  Speech is rapid to use, reasonably cheap and
  311.   especially good for textual applications (e.g. reading a long document
  312.   like this one).  Problems include needing a quiet environment,
  313.   possibly needing headphones to work without disturbing others and
  314.   avoid being listened in on by them (not available for all speech
  315.   synthesisers).
  316.  
  317.   Braille is better for applications where precise layout is important
  318.   (e.g. spreadsheets).  Also can be somewhat more convenient if you want
  319.   to check the beginning of a sentence when you get to the end.  Braille
  320.   is, however, much more expensive and slower for reading text.
  321.   Obviously, the more you use Braille, the faster you get.  Grade II
  322.   Braille is difficult to learn, but is almost certainly worth it since
  323.   it is much faster.  This means that if you don't use Braille for a
  324.   fair while you can never discover its full potential and decide for
  325.   yourself. Anyway, enough said on this somewhat controversial topic.
  326.  
  327.   based on original by James Bowden <jrbowden@bcs.org.uk>
  328.  
  329.   3.2.1.  Braille Terminals
  330.  
  331.   Braille terminals are normally a line or two of Braille.  Since these
  332.   are at most 80 characters wide and normally 40 wide, they are somewhat
  333.   limited.  I know of two kinds
  334.  
  335.   ╖  Hardware driven Braille terminals.
  336.  
  337.   ╖  Software driven Braille terminals.
  338.  
  339.   The first kind works only when the computer is in text mode and reads
  340.   the screen memory directly. See section ``hardware driven Braille
  341.   terminals''.
  342.  
  343.   The second kind of Braille terminal is similar, in many ways, to a
  344.   normal terminal screen of the kind Linux supports automatically.
  345.   Unfortunately, they need special software to make them usable.
  346.  
  347.   There are two packages which help with these.  The first, BRLTTY,
  348.   works with several Braille display types and the authors are keen to
  349.   support more as information becomes available.  Currently BRLTTY
  350.   supports Tieman B.V.'s CombiBraille series, Alva B.V.'s ABT3 series
  351.   and Telesensory Systems Inc.'s PowerBraille and Navigator series
  352.   displays.  The use of Blazie Engineering's Braille Lite as a Braille
  353.   display is discouraged, but support may be renewed on demand.  See
  354.   section ``Software Braille Terminals''.
  355.  
  356.   The other package I am aware of is Braille Enhanced Screen.  This is
  357.   designed to work on other UNIX systems as well as Linux.  This should
  358.   allow user access to a Braille terminal with many useful features such
  359.   as the ability to run different programs in different `virtual
  360.   terminals' at the same time.
  361.  
  362.   3.2.2.  Speech Synthesis
  363.  
  364.   Speech Synthesisers take (normally) ASCII text and convert it into
  365.   actual spoken output.  It is possible to have these implemented as
  366.   either hardware or software.  Unfortunately, the free Linux speech
  367.   synthesisers are, reportedly, not good enough to use as a sole means
  368.   of output.
  369.  
  370.   Hardware speech synthesisers are the alternative.  The main one that I
  371.   know of that works is DECtalk from Digital, driven by emacspeak.
  372.   However, at this time (March 1997) a driver for the Doubletalk
  373.   synthesiser has been announced.  Using emacspeak full access to all of
  374.   the facilities of Linux is fairly easy.  This includes the normal use
  375.   of the shell, a world wide web browser and many other similar
  376.   features, such as email.  Although, it only acts as a plain text
  377.   reader (similar to IBM's one for the PC) when controling programs it
  378.   doesn't understand, with those that it does, it can provide much more
  379.   sophisticated control.  See section ``Emacspeak'' for more information
  380.   about emacspeak.
  381.  
  382.   3.2.3.  Handling Console Output
  383.  
  384.   When it starts up, Linux at present puts all of its messages straight
  385.   to the normal (visual) screen.  This could be changed if anyone with a
  386.   basic level of kernel programming ability wants to do it.  This means
  387.   that it is impossible for most Braille devices to get information
  388.   about what Linux is doing before the operating system is completely
  389.   working.
  390.  
  391.   It is only at that stage that you can start the program that you need
  392.   for access.  If the BRLTTY program is used and run very early in the
  393.   boot process, then from this stage on the messages on the screen can
  394.   be read.  Most hardware and software will still have to wait until the
  395.   system is completely ready.  This makes administering a Linux system
  396.   difficult, but not impossible for a visually impaired person.  Once
  397.   the system is ready however, you can scroll back by pressing (on the
  398.   default keyboard layout) Shift-PageUP.
  399.  
  400.   There is one Braille system that can use the console directly, called
  401.   the Braillex.  This is designed to read directly from the screen
  402.   memory.  Unfortunately the normal scrolling of the terminal gets in
  403.   the way of this.  If you are using a Kernel newer than 1.3.75, just
  404.   type linux no-scroll at the LILO prompt or configure LILO to do this
  405.   automatically. If you have an earlier version of Linux, see section
  406.   ``Screen Memory Braille Terminals''
  407.  
  408.   The other known useful thing to do is to use sounds to say when each
  409.   stage of the boot process has been reached. (T.V. Raman suggestion)
  410.  
  411.   3.2.4.  Optical Character Recognition
  412.  
  413.   There is a free Optical Character Recognition (OCR) program for Linux
  414.   called xocr.  In principle, if it is good enough, this program would
  415.   allow visually impaired people to read normal books to some extent
  416.   (accuracy of OCR is never high enough..).  However, according to the
  417.   documentation, this program needs training to recognise the particular
  418.   font that it is going to use and I have no idea how good it is since I
  419.   don't have the hardware to test it.
  420.  
  421.   3.3.  Beginning to Learn Linux
  422.  
  423.   Beginning to learn Linux can seem difficult and daunting for someone
  424.   who is either coming from no computing background or from a pure DOS
  425.   background.  Doing the following things may help:
  426.  
  427.   ╖  Learn to use Linux (or UNIX) on someone else's system before
  428.      setting up your own.
  429.  
  430.   ╖  Initially control Linux from your own known speaking/Braille
  431.      terminal.  If you plan to use speech, you may want to learn emacs
  432.      now.  You can learn it as you go along though.  See below
  433.  
  434.   ╖  If you come from an MS-DOS background, read the DOS2Linux Mini
  435.      HOWTO for help with converting (see ``The Linux HOWTO Documents'').
  436.  
  437.   The Emacspeak HOWTO written by Jim Van Zandt (<jrv@vanzandt.mv.com>)
  438.   covers this in much more detail (see ``The Linux HOWTO Documents'').
  439.  
  440.   If you are planning to use Emacspeak, you should know that Emacspeak
  441.   does not attempt to teach Emacs, so in this sense, prior knowledge of
  442.   Emacs would always be useful.  This said, you certainly do not need to
  443.   know much about Emacs to start using Emacspeak.  In fact, once
  444.   Emacspeak is installed and running, it provides a fluent interface to
  445.   the rich set of online documentation including the info pages, and
  446.   makes learning what you need a lot easier.
  447.  
  448.   "In summary: starting to use Emacspeak takes little learning.  Getting
  449.   the full mileage out of Emacs and Emacspeak, especially if you intend
  450.   using it as a replacement for X Windows as I do does involve
  451.   eventually becoming familiar with a lot of the Emacs extensions; but
  452.   this is an incremental process and does not need to be done in a day."
  453.   - T.V.Raman
  454.  
  455.   One other option which may be interesting are the RNIB training tapes
  456.   which include one covering UNIX.  These can be got from
  457.  
  458.   RNIB
  459.   Customer Services
  460.   PO Box 173
  461.   Peterborough
  462.   Cambridgeshire PE2 6WS
  463.   Tel: 01345 023153 (probably only works in UK)
  464.  
  465.   3.4.  Braille Embossing
  466.  
  467.   Linux should be the perfect platform to drive a Braille embosser from.
  468.   There are many formatting tools which are aimed specifically at the
  469.   fixed width device.  A Braille embosser can just be connected to the
  470.   serial port using the standard Linux printing mechanisms.  For more
  471.   info see the Linux Printing HOWTO.
  472.  
  473.   There is a free software package which acts as a multi-lingual grade
  474.   two translator available for Linux from the American ``National
  475.   Federation for the Blind''.  This is called NFBtrans.  See section
  476.   ``NFB translator'' for more details.
  477.  
  478.   4.  Hearing Problems
  479.  
  480.   For the most part there is little problem using a computer for people
  481.   with hearing problems.  Almost all of the output is visual.  There are
  482.   some situations where sound output is used though.  For these, the
  483.   problem can sometimes be worked round by using visual output instead.
  484.  
  485.   4.1.  Visual Bells
  486.  
  487.   By tradition, computers go `beep' when some program sends them a
  488.   special code.  This is generally used to get attention to the program
  489.   and for little else.  Most of the time, it's possible to replace this
  490.   by making the entire screen (or terminal emulator) flash.  How to do
  491.   this is very variable though.
  492.  
  493.      xterm (under X)
  494.         for xterm, you can either change the setting by pressing the
  495.         middle mouse button while holding down the control key, or by
  496.         putting a line with just `XTerm*visualBell: true' (not the
  497.         quotes of course) in the file .Xdefaults in your home directory.
  498.  
  499.      the console (otherwise)
  500.         The console is slightly more complex.  Please see Alessandro
  501.         Rubini's Visual Bell mini HOWTO for details on this.  Available
  502.         along with all the other Linux documentation (see section
  503.         ``other Linux documents'').  Mostly the configuration has to be
  504.         done on a per application basis, or by changing the Linux Kernel
  505.         its self.
  506.  
  507.   5.  Physical Problems
  508.  
  509.   Many of these problems have to be handled individually.  The needs of
  510.   the individual, the ways that they can generate input and other
  511.   factors vary so much that all that this HOWTO can provide is a general
  512.   set of pointers to useful software and expertise.
  513.  
  514.   5.1.  Unable to Use a Mouse/Pointer
  515.  
  516.   Limited mobility can make it difficult to use a mouse.  For some
  517.   people a tracker ball can be a very good solution, but for others the
  518.   only possible input device is a keyboard (or even something which
  519.   simulates a keyboard).  For normal use of Linux this shouldn't be a
  520.   problem (but see the section ``Making the keyboard behave''), but for
  521.   users of X, this may cause major problems under some circumstances.
  522.  
  523.   Fortunately, the fvwm window manager has been designed for use without
  524.   a pointer and most things can be done using this.  I actually do this
  525.   myself when I lose my mouse (don't ask) or want to just keep typing.
  526.   fvwm is included with all distributions of Linux that I know of.
  527.   Actually using other programs will depend on their ability to accept
  528.   key presses.  Many X programs do this for all functions.  Many don't.
  529.   I sticky mouse keys, which are supposedly present in the current
  530.   release of X should make this easier.
  531.  
  532.   5.1.1.  Unable to Use a Keyboard
  533.  
  534.   People who are unable to use a keyboard normally can sometimes use one
  535.   through a headstick or a mouthstick.  This calls for special setup of
  536.   the keyboard.  Please see also the section ``Making the keyboard
  537.   behave''.
  538.  
  539.   5.1.1.1.  Other Input Hardware (X Windows System only)
  540.  
  541.   For others, the keyboard cannot be used at all and only pointing
  542.   devices are available.  In this case, no solution is available under
  543.   the standard Linux Console and X will have to be used.  If the X-Input
  544.   extension can be taught to use the device and the correct software for
  545.   converting pointer input to characters can be found (I haven't seen it
  546.   yet) then any pointing should be usable without a keyboard.
  547.  
  548.   There are a number of devices worth considering for such input such as
  549.   touch screens and eye pointers.  Many of these will need a `device
  550.   driver' written for them.  This is not terribly difficult if the
  551.   documentation is available, but requires someone with good C
  552.   programming skills.  Please see the Linux Kernel Hackers guide and
  553.   other kernel reference materials for more information.  Once this is
  554.   set up, it should be possible to use these devices like a normal
  555.   mouse.
  556.  
  557.   5.1.2.  Controlling Physical Hardware From Linux
  558.  
  559.   The main group of interest here are the Linux Lab Project.  Generally,
  560.   much GPIB (a standard interface to scientific equipment, also known as
  561.   the IEEE bus) hardware can be controlled.  This potentially gives much
  562.   potential for very ambitious accessibility projects.  As far as I know
  563.   none have yet been attempted.
  564.  
  565.   5.2.  Speech Recognition
  566.  
  567.   Speech recognition is a very powerful tool for enabling computer use.
  568.   There are two recognition systems that I know of for Linux, the first
  569.   is ears which is described as ``recognition is not optimal.  But it is
  570.   fine for playing and will be improved'', the second is AbbotDemo ``A
  571.   speaker independent continuous speech recognition system'' which may
  572.   well be more interesting, though isn't available for commercial use
  573.   without prior arrangement.  See the Linux software map for details
  574.   (see section ``other Linux documents'').
  575.  
  576.   5.3.  Making the Keyboard Behave
  577.  
  578.   5.3.1.  X Window System.
  579.  
  580.   The latest X server which comes with Linux can include many features
  581.   which assist in input.  This includes such features as StickKeys,
  582.   MouseKeys, RepeatKeys, BounceKeys, SlowKeys, and TimeOut.  These allow
  583.   customisation of the keyboard to the needs of the user.  These are
  584.   provided as part of the XKB> extension in versions of X after version
  585.   6.1.  To find out your version and see whether you have the extension
  586.   installed, you can try.
  587.  
  588.   xdpyinfo -queryExtensions
  589.  
  590.   5.3.2.  Getting Rid of Auto Repeat
  591.  
  592.   To turn off key repeat on the Linux console run this command (I think
  593.   it has to be run once per console; a good place to run it would be in
  594.   your login files, .profile or .login in your home directory).
  595.  
  596.   setterm -repeat off
  597.  
  598.   To get rid of auto repeat on any X server, you can use the command
  599.  
  600.   xset -r
  601.  
  602.   which you could put into the file which get runs when you start using
  603.   X (often .xsession or .xinit under some setups)
  604.  
  605.   Both of these commands are worth looking at for more ways of changing
  606.   behaviour of the console.
  607.  
  608.   5.3.3.  Macros / Much input, few key presses
  609.  
  610.   Often in situations such as this, the biggest problem is speed of
  611.   input.  Here the most important thing to aim for is the most number of
  612.   commands with the fewest key presses.  For users of the shell (bash /
  613.   tcsh) you should look at the manual page, in particular command and
  614.   filename completion (press the tab key and bash tries to guess what
  615.   should come next).  For information on macros which provide sequences
  616.   of commands for just one key press, have a look at the Keystroke
  617.   HOWTO.
  618.  
  619.   5.3.4.  Sticky Keys
  620.  
  621.   Sticky keys are a feature that allow someone who can only reliably
  622.   press one button at a time to use a keyboard with all of the various
  623.   modifier keys such as shift and control.  These keys, instead of
  624.   having to be held on at the same time as the other key instead become
  625.   like the caps lock key and stay on while the other key is pressed.
  626.   They may then either switch off or stay on for the next key depending
  627.   on what is needed.  For information about how to set this up please
  628.   see the Linux Keyboard HOWTO, especially section `I can use only one
  629.   finger to type with' (section 15 in the version I have) for more
  630.   information on this.  - Information from Toby Reed.
  631.  
  632.   6.  General Programming Issues
  633.  
  634.   Many of the issues worth taking into account are the same when writing
  635.   software which is designed to be helpful for access as when trying to
  636.   follow good design.
  637.  
  638.   6.1.  Try to Make it Easy to Provide Multiple Interfaces
  639.  
  640.   If your software is only usable through a graphical interface then it
  641.   can be very hard to make it usable for someone who can't see.  If it's
  642.   only usable through a line oriented interface, then someone who can't
  643.   type will have difficulties.
  644.  
  645.   Provide keyboard shortcuts as well as the use of the normal X pointer
  646.   (generally the mouse).  You can almost certainly rely on the user
  647.   being able to generate key presses to your application.
  648.  
  649.   6.2.  Make software configurable.
  650.  
  651.   If it's easy to change fonts then people will be able to change to one
  652.   they can read.  If the colour scheme can be changed then people who
  653.   are colour blind will be more likely to be able to use it.  If fonts
  654.   can be changed easily then the visually impaired will find your
  655.   software more useful.
  656.  
  657.   6.3.  Test the Software on Users.
  658.  
  659.   If you have a number of people use your software, each with different
  660.   access problems then they will be more likely to point up specific
  661.   problems.  Obviously, this won't be practical for everybody, but you
  662.   can always ask for feedback.
  663.  
  664.   6.4.  Make Output Distinct
  665.  
  666.   Where possible, make it clear what different parts of your program are
  667.   what.  Format error messages in a specific way to identify them.
  668.   Under X, make sure each pane of your window has a name so that any
  669.   screen reader software can identify it.
  670.  
  671.   6.5.  Licenses
  672.  
  673.   Some software for Linux (though none of the key programs) has license
  674.   like `not for commercial use'.  This could be quite bad for a person
  675.   who starts using the software for their personal work and then
  676.   possibly begins to be able to do work they otherwise couldn't with it.
  677.   This could be something which frees them from financial and other
  678.   dependence on others people.  Even if the author of the software is
  679.   willing to make exceptions, it makes the user vulnerable both to
  680.   changes of commercial conditions (some company buys up the rights) and
  681.   to refusal from people they could work for (many companies are overly
  682.   paranoid about licenses).  It is much better to avoid this kind of
  683.   licensing where possible.  Protection from commercial abuse of
  684.   software can be obtained through more specific licenses like the GNU
  685.   Public License or Artistic License where needed.
  686.  
  687.   7.  Other Information
  688.  
  689.   7.1.  Linux Documentation
  690.  
  691.   The Linux documentation is critical to the use of Linux and most of
  692.   the documents mentioned here should be included in recent versions of
  693.   Linux, from any source I know of.
  694.  
  695.   If you want to get the documentation on the Internet, here are some
  696.   example sites.  These should be mirrored at most of the major FTP
  697.   sites in the world.
  698.  
  699.   ╖  ftp.funet.fi (128.214.6.100) : /pub/OS/Linux/doc/
  700.  
  701.   ╖  tsx-11.mit.edu (18.172.1.2) : /pub/linux/docs/
  702.  
  703.   ╖  sunsite.unc.edu (152.2.22.81) : /pub/Linux/docs/
  704.  
  705.   7.1.1.  The Linux Info Sheet
  706.  
  707.   A simple and effective explanation of what Linux is.  This is one of
  708.   the things that you should hand over when you want to explain why you
  709.   want Linux and what it is good for.
  710.  
  711.   The Linux Info Sheet is available on the World Wide Web from
  712.   <http://sunsite.unc.edu/mdw/HOWTO/INFO-SHEET.html> and other mirrors.
  713.  
  714.   7.1.2.  The Linux Meta FAQ
  715.  
  716.   A list of other information resources, much more complete than this
  717.   one.  The meta FAQ is available on the World Wide Web from
  718.   <http://sunsite.unc.edu/mdw/HOWTO/META-FAQ.html> and other mirrors
  719.  
  720.   7.1.3.  The Linux Software Map
  721.  
  722.   The list of software available for Linux on the Internet.  Many of the
  723.   packages listed here were found through this.  The LSM is available in
  724.   a searchable form from <http://www.boutell.com/lsm/>.  It is also
  725.   available in a single text file in all of the FTP sites mentioned in
  726.   section ``Linux Documentation''.
  727.  
  728.   7.1.4.  The Linux HOWTO documents
  729.  
  730.   The HOWTO documents are the main documentation of Linux.  This Access
  731.   HOWTO is an example of one.
  732.  
  733.   The home site for the Linux Documentation Project which produces this
  734.   information is  <http://sunsite.unc.edu/mdw/linux.html>.  There are
  735.   also many companies producing these in book form.  Contact a local
  736.   Linux supplier for more details.
  737.  
  738.   The Linux HOWTO documents will be in the directory HOWTO in all of the
  739.   FTP sites mentioned in section ``Linux Documentation''.
  740.  
  741.   7.1.5.  The Linux FAQ
  742.  
  743.   A list of `Frequently Asked Questions' with answers which should solve
  744.   many common questions.  The FAQ list is available from
  745.   <http://www.cl.cam.ac.uk/users/iwj10/linux-faq/> as well as all of the
  746.   FTP sites mentioned in section ``Linux Documentation''.
  747.  
  748.   7.2.  Mailing Lists
  749.  
  750.   There are two lists that I know of covering these issues specifically
  751.   for Linux.  There are also others which it is worth researching which
  752.   cover computer use more generally.  Incidentally, if a mail is sent to
  753.   these lists I will read it eventually and include any important
  754.   information in the Access-HOWTO, so you don't need to send me a
  755.   separate copy unless it's urgent in some way.
  756.  
  757.   7.2.1.  The Linux Access List
  758.  
  759.   This is a general list covering Linux access issues.  It is designed
  760.   `to service the needs of users and developers of the Linux OS and
  761.   software who are either disabled or want to help make Linux more
  762.   accessible'.  To subscribe send email to
  763.   <majordomo@ssv1.union.utah.edu> and in the BODY (not the subject) of
  764.   the email message put:
  765.  
  766.        subscribe linux-access <your-email-address>
  767.  
  768.   7.2.2.  The Linux Blind List
  769.  
  770.   This is a mailing list covering Linux use for blind users.  There is
  771.   also a list of important and useful software being gathered in the
  772.   list's archive.  To subscribe send mail to <blinux-list-
  773.   request@redhat.com> with the subject: help.  This list is now
  774.   moderated.
  775.  
  776.   7.3.  WWW References
  777.  
  778.   The World Wide Web is, by it's nature, very rapidly changing.  If you
  779.   are reading this document in an old version then some of these are
  780.   likely to be out of date.  The original version that I maintain on the
  781.   WWW shouldn't go more than a month or two out of date, so refer to
  782.   that please.
  783.  
  784.   Linux Documentation is available from
  785.   <http://sunsite.unc.edu/mdw/linux.html>
  786.  
  787.   Linux Access On the Web <http://www.tardis.ed.ac.uk/~mikedlr/access/>
  788.   with all of the versions of the HOWTO in
  789.   <http://www.tardis.ed.ac.uk/~mikedlr/access/HOWTO/>.  Preferably,
  790.   however, download from one of the main Linux FTP sites.  If I get a
  791.   vast amount of traffic I'll have to close down these pages and move
  792.   them elsewhere.
  793.  
  794.   The BLINUX Documentation and Development Project
  795.   <http://leb.net/blinux/>.  "The purpose of The BLINUX Documentation
  796.   and Development Project is to serve as a catalyst which will both spur
  797.   and speed the development of software and documentation which will
  798.   enable the blind user to run his or her own Linux workstation."
  799.  
  800.   Emacspeak WWW page
  801.   <http://cs.cornell.edu/home/raman/emacspeak/emacspeak.html>
  802.  
  803.   BRLTTY unofficial WWW page
  804.   <http://www.sf.co.kr/t.linux/new/brltty.html>
  805.  
  806.   Yahoo (one of the most major Internet catalogues)
  807.   <http://www.yahoo.com/Society_and_Culture/Disabilities/Adaptive_Technology/>
  808.  
  809.   The Linux Lab Project  <http://www.fu-berlin.de/~clausi/>.
  810.  
  811.   The BLYNX pages: Lynx Support Files Tailored For Blind and Visually
  812.   Handicapped Users  <http://leb.net/blinux/blynx/>.
  813.  
  814.   7.4.  Suppliers
  815.  
  816.   This is a UK supplier for the Braillex.
  817.  
  818.   Alphavision Limited
  819.  
  820.   7.5.  Manufacturers
  821.  
  822.   7.5.1.  Alphavision
  823.  
  824.   I think that they are a manufacturer?  RNIB only lists them as a
  825.   supplier, but others say they make the Braillex.
  826.  
  827.   Alphavision Ltd
  828.   Seymour House
  829.   Copyground Lane
  830.   High Wycombe
  831.   Bucks HP12 3HE
  832.   England
  833.   U.K.
  834.  
  835.      Phone
  836.         +44 1494-530 555
  837.  
  838.   7.5.1.1.  Linux Supported Alphavision AT Products
  839.  
  840.   ╖  Braillex
  841.  
  842.   7.5.2.  Blazie Engineering
  843.  
  844.   The Braille Lite was supported in the original version of BRLTTY.
  845.   That support has now been discontinued.  If you have one and want to
  846.   use it with Linux then that may be possible by using this version of
  847.   the software.
  848.  
  849.   Blazie Engineering
  850.   105 East Jarrettsville Rd.
  851.   Forest Hill, MD 21050
  852.   U.S.A.
  853.  
  854.      Phone
  855.         +1 (410) 893-9333
  856.  
  857.      FAX
  858.         +1 (410) 836-5040
  859.  
  860.      BBS
  861.         +1 (410) 893-8944
  862.  
  863.      E-Mail
  864.         <info@blazie.com>
  865.  
  866.      WWW
  867.         <http://www.blazie.com/>
  868.  
  869.   7.5.2.1.  Blazie AT Products
  870.  
  871.   ╖  Braille Lite (support discontinued)
  872.  
  873.   7.5.3.  Digital Equipment Corporation
  874.  
  875.   Digital Equipment Corporation
  876.   P.O. Box CS2008
  877.   Nashua
  878.   NH 03061-2008
  879.   U.S.A
  880.  
  881.      Order
  882.         +1 800-722-9332
  883.  
  884.      Tech info
  885.         +1 800-722-9332
  886.  
  887.      FAX
  888.         +1 603-884-5597
  889.  
  890.      WWW
  891.         <http://www.digital.com/>
  892.  
  893.   7.5.3.1.  Linux Supported DEC AT Products
  894.  
  895.   ╖  DECTalk Express
  896.  
  897.   7.5.4.  Kommunikations-Technik Stolper GmbH
  898.  
  899.   KTS Stolper GmbH
  900.   Herzenhaldenweg 10
  901.   73095 Albershausen
  902.   Germany
  903.  
  904.      Phone
  905.         +49 7161 37023
  906.  
  907.      Fax
  908.         +49 7161 32632
  909.  
  910.   7.5.4.1.  Linux Supported KTG AT Products
  911.  
  912.   ╖  Brailloterm
  913.  
  914.   8.  Software Packages
  915.  
  916.   References in this section are taken directly from the Linux Software
  917.   map which can be found in all standard places for Linux documentation
  918.   and which lists almost all of the software available for Linux.
  919.  
  920.   8.1.  Emacspeak
  921.  
  922.   Emacspeak is the software side of a speech interface to Linux.  Any
  923.   other character based program, such as a WWW browser, or telnet or
  924.   another editor can potentially be used within emacspeak.  The main
  925.   difference between it and normal screen reader software for such
  926.   operating systems as DOS is that it also has a load more extra
  927.   features.  It is based in the emacs text editor.
  928.  
  929.   A text editor is generally just a program which allows you to change
  930.   the contents of a file, for example, adding new information to a
  931.   letter.  Emacs is in fact far beyond a normal text editor, and so this
  932.   package is much more useful than you might imagine.  You can run any
  933.   other program from within emacs, getting any output it generates to
  934.   appear in the emacs terminal emulator.
  935.  
  936.   The reason that emacs is a better environment for Emacspeak is that it
  937.   can can understand the layout of the screen and can intelligently
  938.   interpret the meaning of, for example, a calendar, which would just be
  939.   a messy array of numbers otherwise.  The originator of the package
  940.   manages to look after his own Linux machine entirely, doing all of the
  941.   administration from within emacs.  He also uses it to control a wide
  942.   variety of other machines and software directly from that machine.
  943.  
  944.   Emacspeak is included within the Debian Linux distribution and is
  945.   included as contributed software within the Slakware distribution.
  946.   This means that it is available on many of the CDROM distributions of
  947.   Linux.  By the time this is published, the version included should be
  948.   5 or better, but at present I only have version 4 available for
  949.   examination.
  950.  
  951.   Begin3
  952.   Title:          emacspeak - a speech output interface to Emacs
  953.   Version:        4.0
  954.   Entered-date:   30MAY96
  955.   Description:    Emacspeak is the first full-fledged speech output
  956.                   system that will allow someone who cannot see to work
  957.                   directly on a UNIX system. (Until now, the only option
  958.                   available to visually impaired users has been to use a
  959.                   talking PC as a terminal.) Emacspeak is built on top
  960.                   of Emacs. Once you start emacs with emacspeak loaded,
  961.                   you get spoken feedback for everything you do. Your
  962.                   mileage will vary depending on how well you can use
  963.                   Emacs.  There is nothing that you cannot do inside
  964.                   Emacs:-)
  965.   Keywords:       handicap access visually impaired blind speech emacs
  966.   Author:         raman@adobe.com (T. V. Raman)
  967.   Maintained-by:  jrv@vanzandt.mv.com (Jim Van Zandt)
  968.   Primary-site:   sunsite.unc.edu apps/sound/speech
  969.                   124kB   emacspeak-4.0.tgz
  970.   Alternate-site:
  971.   Original-site:  http://www.cs.cornell.edu /pub/raman/emacspeak
  972.                   123kB   emacspeak.tar.gz/Info/People/raman/emacspeak/emacspeak.tar.gz
  973.   Platforms:      DECtalk Express or DEC Multivoice speech synthesizer,
  974.                   GNU FSF Emacs 19 (version 19.23 or later) and TCLX
  975.                   7.3B (Extended TCL).
  976.   Copying-policy: GPL
  977.   End
  978.  
  979.   8.2.  BRLTTY
  980.  
  981.   This is a program for running a serial port Braille terminal.  It has
  982.   been widely tested and used, and supports a number of different kinds
  983.   of hardware (see the Linux Software Map entry below).
  984.  
  985.   The maintainer is, Nikhil Nair <nn201@cus.cam.ac.uk>.  The other
  986.   people working on it are Nicolas Pitre <nico@cam.org> and Stephane
  987.   Doyon <doyons@jsp.umontreal.ca>.  Send any comments to all of them.
  988.  
  989.   The authors seem keen to get support in for more different devices, so
  990.   if you have one you should consider contacting them.  They will almost
  991.   certainly need programming information for the device, so if you can
  992.   contact your manufacturer and get that they are much more likely to be
  993.   able to help you.
  994.  
  995.   A brief feature list (from their README file) to get you interested
  996.  
  997.   ╖  Full implementation of the standard screen review facilities.
  998.  
  999.   ╖  A wide range of additional optional features, including blinking
  1000.      cursor and capital letters, screen freezing for leisurely review,
  1001.      attribute display to locate highlighted text, hypertext links, etc.
  1002.  
  1003.   ╖  `Intelligent' cursor routing.  This allows easy movement of the
  1004.      cursor in text editors etc. without moving the hands from the
  1005.      Braille display.
  1006.  
  1007.   ╖  A cut & paste function.  This is particularly useful for copying
  1008.      long filenames, complicated commands etc.
  1009.  
  1010.   ╖  An on-line help facility.
  1011.  
  1012.   ╖  Support for multiple Braille codes.
  1013.  
  1014.   ╖  Modular design allows relatively easy addition of drivers for other
  1015.      Braille displays, or even (hopefully) porting to other Unix-like
  1016.      platforms.
  1017.  
  1018.        Begin3
  1019.        Title:          BRLTTY - Access software for Unix for a blind person
  1020.                                 using a soft Braille terminal
  1021.        Version:        1.0.2, 17SEP96
  1022.        Entered-date:   17SEP96
  1023.        Description:    BRLTTY is a daemon which provides access to a Unix console
  1024.                        for a blind person using a soft Braille display (see the
  1025.                        README file for a full explanation).
  1026.  
  1027.                        BRLTTY only works with text-mode applications.
  1028.  
  1029.                        We hope that this system will be expanded to support
  1030.                        other soft Braille displays, and possibly even other
  1031.                        Unix-like platforms.
  1032.        Keywords:       Braille console access visually impaired blind
  1033.        Author:         nn201@cus.cam.ac.uk (Nikhil Nair)
  1034.                        nico@cam.org (Nicolas Pitre)
  1035.                        doyons@jsp.umontreal.ca (Stephane Doyon)
  1036.                        jrbowden@bcs.org.uk (James Bowden)
  1037.        Maintained-by:  nn201@cus.cam.ac.uk (Nikhil Nair)
  1038.        Primary-site:   sunsite.unc.edu /pub/Linux/system/Access
  1039.                        110kb brltty-1.0.2.tar.gz (includes the README file)
  1040.                          6kb brltty-1.0.2.README
  1041.                          1kb brltty-1.0.2.lsm
  1042.        Platforms:      Linux (kernel 1.1.92 or later) running on a PC or DEC Alpha.
  1043.                        Not X/graphics.
  1044.                        Supported Braille displays (serial communication only):
  1045.                          - Tieman B.V.: CombiBraille 25/45/85;
  1046.                          - Alva B.V.: ABT3xx series;
  1047.                          - Telesensory Systems Inc.: PowerBraille 40 (not 65/80),
  1048.                            Navigator 20/40/80 (latest firmware version only?).
  1049.        Copying-policy: GPL
  1050.        End
  1051.  
  1052.   8.3.  Screen
  1053.  
  1054.   Screen is a standard piece of software to allow many different
  1055.   programs to run at the same time on one terminal.  It has been
  1056.   enhanced to support some Braille terminals (those from Telesensory)
  1057.   directly.
  1058.  
  1059.   8.4.  Rsynth
  1060.  
  1061.   This is a speech synthesiser listed in the Linux Software Map.  It
  1062.   doesn't apparently work well enough for use by a visually impaired
  1063.   person.  Use hardware instead, or improve it.. a free speech
  1064.   synthesiser would be really really useful.
  1065.  
  1066.   8.5.  xocr
  1067.  
  1068.   xocr is a package which implements optical character recognition for
  1069.   Linux.  As with Rsynth, I don't think that this will be acceptable as
  1070.   a package for use as a sole means of input by a visually impaired
  1071.   person.  I suspect that the algorithm used means that it will need to
  1072.   be watched over by someone who can check that it is reading correctly.
  1073.   I would love to be proved wrong.
  1074.  
  1075.   8.6.  xzoom
  1076.  
  1077.   xzoom is a screen magnifier, in the same vein as xmag, but
  1078.   sufficiently better to be very useful to a visually impaired person.
  1079.   The main disadvantages of xzoom are that it can't magnify under
  1080.   itself, that some of the key controls aren't compatible with fvwm, the
  1081.   normal Linux window manager and that it's default configuration
  1082.   doesn't run over a network (this can be fixed at some expense to
  1083.   speed).  Apart from that though, it's excellent.  It does continuous
  1084.   magnification which allows you to, for example, scroll a document up
  1085.   and down, whilst keeping the section you are reading magnified.
  1086.   Alternatively, you can move a little box around the screen, magnifying
  1087.   the contents and letting you search for the area you want to see.
  1088.   xzoom is also available as an rpm from the normal RedHat sites, making
  1089.   it very easy to install for people using the rpm system (such as
  1090.   Redhat users).
  1091.  
  1092.        Begin3
  1093.        Title:          xzoom
  1094.        Version:        0.1
  1095.        Entered-date:   Mar 30 1996
  1096.        Description:    xzoom can magnify (by integer value) rotate
  1097.                        (by a multiple if 90 degrees) and mirror about
  1098.                        the X or Y axes areas on X11 screen
  1099.                        and display them in it's window.
  1100.        Keywords:       X11 zoom magnify xmag
  1101.        Author:         Itai Nahshon <nahshon@best.com>
  1102.        Maintained-by:  Itai Nahshon <nahshon@best.com>
  1103.        Primary-site:   sunsite.unc.edu
  1104.                        probably in /pub/Linux/X11/xutils/xzoom-0.1.tgz
  1105.        Platforms:      Linux+11. Support only for 8-bit depth.
  1106.                        Tested only in Linux 1.3.* with the XSVGA 3.1.2
  1107.        driver.
  1108.                                        Needs the XSHM extension.
  1109.        Copying-policy: Free
  1110.        End
  1111.  
  1112.   8.7.  NFBtrans
  1113.  
  1114.   nfbtrans is a multi-grade Braille translation program distributed by
  1115.   the National Federation for the Blind in the U.S.A.  It is released
  1116.   for free in the hope that someone will improve it.  Languages covered
  1117.   are USA English, UK English, Spanish, Russian, Esperanto, German,
  1118.   Biblical Hebrew and Biblical Greek, though others could be added just
  1119.   by writing a translation table.  Also covered are some computer and
  1120.   math forms.  I have managed to get it to compile under Linux, though,
  1121.   not having a Braille embosser available at the present moment I have
  1122.   not been able to test it.
  1123.  
  1124.   NFBtrans is available from <ftp://nfb.org/ftp/nfb/braille/nfbtrans/>.
  1125.   After downloading it, you will have to compile it.
  1126.  
  1127.   8.7.1.  Compiling NFBtrans on Linux
  1128.  
  1129.   I have returned this patch to the maintainer of NFBtrans and he says
  1130.   that he has included it, so if you get a version later than 740, you
  1131.   probably won't have to do anything special.  Just follow the
  1132.   instructions included in the package.
  1133.  
  1134.           unzip -L NFBTR740.ZIP   #or whatever filename you have
  1135.           mv makefile Makefile
  1136.  
  1137.   Next save the following to a file (e.g. patch-file)
  1138.  
  1139.        *** nfbpatch.c.orig     Tue Mar 12 11:37:28 1996
  1140.        --- nfbpatch.c  Tue Mar 12 11:37:06 1996
  1141.        ***************
  1142.        *** 185,190 ****
  1143.        --- 185,193 ----
  1144.            return (finfo.st_size);
  1145.          }                /* filelength */
  1146.  
  1147.        + #ifndef linux
  1148.        + /* pretty safe to assume all linux has usleep I think ?? this should be
  1149.        + done properly anyway */
  1150.          #ifdef SYSVR4
  1151.          void usleep(usec)
  1152.            int usec;
  1153.        ***************
  1154.        *** 195,200 ****
  1155.        --- 198,204 ----
  1156.        UKP  }                /* usleep */
  1157.  
  1158.          #endif
  1159.        + #endif
  1160.  
  1161.          void beep(count)
  1162.            int count;
  1163.  
  1164.   and run
  1165.  
  1166.        patch < patch-file
  1167.  
  1168.   then type
  1169.  
  1170.        make
  1171.  
  1172.   and the program should compile.
  1173.  
  1174.   8.8.  UnWindows
  1175.  
  1176.   UnWindows is a package of access utilities for X which provides many
  1177.   useful facilities for the visually impaired (not blind).  It includes
  1178.   a screen magnifier and other customised utilities to help locate the
  1179.   pointer.  UnWindows can be downloaded from
  1180.   <ftp://ftp.cs.rpi.edu/pub/unwindows>.
  1181.  
  1182.   As it comes by default, the package will not work on Linux because it
  1183.   relies on special features of Suns.  However, some of the utilities do
  1184.   work and I have managed to port most of the rest so this package may
  1185.   be interesting to some people.  My port will either be incorporated
  1186.   back into the original or will be available in the BLINUX archives
  1187.   (see ``WWW references'').  The remaining utility which doesn't yet
  1188.   work is the configuration utility.
  1189.  
  1190.   In my version the programs, instead of generating sounds themselves,
  1191.   just call another program.  The other program could for example be
  1192.  
  1193.        play /usr/lib/games/xboing/sounds/ouch.au
  1194.  
  1195.   Which would make the xboing ouch noise, for example it could do this
  1196.   as the pointer hit the left edge of the screen.
  1197.  
  1198.   8.8.1.  dynamag
  1199.  
  1200.   dynamag is a screen magnification program.  please see the section on
  1201.   Screen magnification (``magnification'').  This program worked in the
  1202.   default distribution.
  1203.  
  1204.   8.8.2.  coloreyes
  1205.  
  1206.   coloreyes makes it easy to find the pointer (mouse) location.  It
  1207.   consists of a pair of eyes which always look in the direction of the
  1208.   pointer (like xeyes) and change color depending on how far away the
  1209.   mouse is (unlike xeyes).  This doesn't work in the default
  1210.   distribution, but the test version, at the same location, seems to
  1211.   work.
  1212.  
  1213.   8.8.3.  border
  1214.  
  1215.   border is a program which detects when the pointer (mouse) has moved
  1216.   to the edge of the screen and makes a sound according to which edge of
  1217.   the screen has been approached.  The version which is available uses a
  1218.   SUN specific sound system.  I have now changed this so that instead of
  1219.   that, it just runs a command, which could be any Linux sound program.
  1220.  
  1221.   8.8.4.  un-twm
  1222.  
  1223.   The window manager is a special program which controls the location of
  1224.   all of the other windows (programs) displayed on the X screen.  un-twm
  1225.   is a special version which will make a sound as the pointer enters
  1226.   different windows.  The sound will depend on what window has been
  1227.   entered.  The distributed version doesn't work on linux because, like
  1228.   border it relies on SUN audio facilities.  Again I already have a
  1229.   special version which will be avaliable by the time you read this.
  1230.  
  1231.   9.  Hardware
  1232.  
  1233.   9.1.  Braille terminals driven from Screen Memory
  1234.  
  1235.   These are Braille terminals that can read the screen memory directly
  1236.   in a normal text mode.  It is possible to use it to work with Linux
  1237.   for almost all of the things that a seeing user can do on the console,
  1238.   including installation.  However, it has a problem with the scrolling
  1239.   of the normal Linux kernel, so a kernel patch needs to be applied.
  1240.   See ``Patching the Kernel for Braillex and Brailloterm''.
  1241.  
  1242.   9.1.1.  Braillex
  1243.  
  1244.   The Braillex is a terminal which is designed to read directly from the
  1245.   Screen memory, thus getting round any problems with MS-DOS programs
  1246.   which don't behave strangely.  If you could see it on screen, then
  1247.   this terminal should be able to display it in Braille.  In Linux,
  1248.   unfortunately, screen handling is done differently from MS-DOS, so
  1249.   this has to be changed somewhat.
  1250.  
  1251.   To get this terminal to work, you have to apply the patch given below
  1252.   in section ``Patching the Kernel''.  Once this is done, the Braillex
  1253.   becomes one of the most convenient ways to use Linux as it allows all
  1254.   of the information normally available to a seeing person to be read.
  1255.   Other terminals don't start working until the operating system has
  1256.   completely booted.
  1257.  
  1258.   The Braillex is available with two arrangements of Braille cells (80x1
  1259.   or 40x2) and there is a model, called the IB 2-D which also has a
  1260.   vertical bar to show information about all of the lines of the screen
  1261.   (using 4 programmable dots per screen line)
  1262.  
  1263.   Price: 8,995  (pounds sterling) or 11495 UKP for 2-D
  1264.   Manufacturer: Alphavision Limited (UK)
  1265.   Suppliers: ????
  1266.  
  1267.   9.1.2.  Brailloterm
  1268.  
  1269.   ``What is Brailloterm?
  1270.  
  1271.   It's a refreshable display Braille, made by KTS Kommunikations-Technik
  1272.   Stolper GmbH.  It has 80 Braille cells in an unique line. Each cell
  1273.   has 8 dots that are combined (up/down) to represent a character. By
  1274.   default, Brailloterm shows me the line in which the screen cursor is.
  1275.   I can use some functions in Brailloterm to see any line in the
  1276.   screen.'' - Jose Vilmar Estacio de Souza <jvilmar@embratel.net.br>
  1277.  
  1278.   Jose then goes on to say that the terminal can also use the serial
  1279.   port under DOS but that it needs a special program.  I don't know if
  1280.   any of the ones for Linux would work.
  1281.  
  1282.   As with Braillex, this needs a special patch to the kernel work
  1283.   properly.  See section ``Patching the Kernel''.
  1284.  
  1285.   Price: about 23.000,- DM /  $ 15.000,
  1286.   Manufacturer: Kommunikations-Technik Stolper GmbH
  1287.   Suppliers: ????
  1288.  
  1289.   9.1.3.  Patching the Kernel for Braillex and Brailloterm
  1290.  
  1291.   This probably also applies to any other terminals which read directly
  1292.   from screen memory to work under MS-DOS.  Mail me to confirm any
  1293.   terminals that you find work.  This does not apply and will actually
  1294.   lose some features for terminals driven using the BRLTTY software.
  1295.  
  1296.   I am told this patch applies to all Kernels version 1.2.X.  It should
  1297.   also work on all Kernel versions from 1.1.X to 1.3.72, with just a
  1298.   warning from patch (I've tested that the patch applies to 1.3.68 at
  1299.   least).  From 1.3.75 the patch is no longer needed because the Kernel
  1300.   can be configured not to scroll using `linux no-scroll' at the LILO
  1301.   prompt.  See the Boot Prompt HOWTO for more details.
  1302.  
  1303.        *** drivers/char/console.c~     Fri Mar 17 07:31:40 1995
  1304.        --- drivers/char/console.c      Tue Mar  5 04:34:47 1996
  1305.        ***************
  1306.        *** 601,605 ****
  1307.          static void scrup(int currcons, unsigned int t, unsigned int b)
  1308.          {
  1309.        !       int hardscroll = 1;
  1310.  
  1311.                if (b > video_num_lines || t >= b)
  1312.        --- 601,605 ----
  1313.          static void scrup(int currcons, unsigned int t, unsigned int b)
  1314.          {
  1315.        !       int hardscroll = 0;
  1316.  
  1317.                if (b > video_num_lines || t >= b)
  1318.  
  1319.   To apply it:
  1320.  
  1321.   1. Save the above text to a file (say patch-file)
  1322.  
  1323.   2. change to the drivers/char directory of your kernel sources
  1324.  
  1325.   3. run
  1326.  
  1327.                        patch < patch-file
  1328.  
  1329.   4. Compile your kernel as normal
  1330.  
  1331.   Apply those patches and you should be able to use the Braille terminal
  1332.   as normal to read the Linux Console.
  1333.  
  1334.   Put in words, the patch just means `change the 1 to a 0 in the first
  1335.   line of the function scrup which should be near line 603 in the file
  1336.   drivers/char/console.c'.  The main thing about patch is that program
  1337.   understands this, and that it knows how to guess what to do when the
  1338.   Linux developers change things in that file.
  1339.  
  1340.   If you want to use a more modern kernel with completely disabled
  1341.   scrolling, (instead of the boot prompt solution I already mentioned),
  1342.   please use the following patch.  This does not apply to kernels
  1343.   earlier than 1.3.75.
  1344.  
  1345.        *** console.c~  Fri Mar 15 04:01:45 1996
  1346.        --- console.c   Thu Apr  4 13:29:48 1996
  1347.        ***************
  1348.        *** 516,520 ****
  1349.          unsigned char has_wrapped;          /* all of videomem is data of fg_console */
  1350.          static unsigned char hardscroll_enabled;
  1351.        ! static unsigned char hardscroll_disabled_by_init = 0;
  1352.  
  1353.          void no_scroll(char *str, int *ints)
  1354.        --- 516,520 ----
  1355.          unsigned char has_wrapped;          /* all of videomem is data of fg_console */
  1356.          static unsigned char hardscroll_enabled;
  1357.        ! static unsigned char hardscroll_disabled_by_init = 1;
  1358.  
  1359.          void no_scroll(char *str, int *ints)
  1360.  
  1361.   9.2.  Software Driven Braille Terminals
  1362.  
  1363.   The principle of operation of these terminal is very close to that of
  1364.   a CRT terminal such as the vt100.  They connect to the serial port and
  1365.   the computer has to run a program which sends them output.  At present
  1366.   there are two known programs for Linux.  BRLTTY, see section
  1367.   ``BRLTTY'') and Braille enhanced screen.
  1368.  
  1369.   9.2.1.  Tieman B.V.
  1370.  
  1371.   9.2.1.1.  CombiBraille
  1372.  
  1373.   This Braille terminal is supported by the BRLTTY software.  It comes
  1374.   in three versions with 25, 45 or 85 Braille cells.  The extra five
  1375.   cells over a standard display are used for status information.
  1376.  
  1377.   Price: around 4600 UKP for the 45 cell model ...
  1378.   Manufacturer: Tieman B.V.
  1379.   Suppliers: Concept Systems, Nottingham, England (voice +44 115 925 5988)
  1380.  
  1381.   9.2.2.  Alva B.V.
  1382.  
  1383.   The ABT3xx series is supported in BRLTTY.  Only the ABT340 has been
  1384.   confirmed to work at this time.  Please pass back information to the
  1385.   BRLTTY authors on other models.
  1386.  
  1387.   Price: 20 cell - 2200 UKP; 40 cell 4500 UKP; 80 cell 8000 UKP
  1388.   Manufacturer: Alva
  1389.   Suppliers: Professional Vision Services LTD, Hertshire, England
  1390.              (+44 1462 677331)
  1391.  
  1392.   9.2.3.  Telesensory Systems Inc. displays
  1393.  
  1394.   Because they have provided programming information to the developers,
  1395.   the Telesensory displays are supported both by BRLTTY and screen.
  1396.  
  1397.   9.2.3.1.  Powerbraille
  1398.  
  1399.   There are three models the 40, the 65 and the 80.  Only the 40 is
  1400.   known to be supported by BRLTTY.
  1401.  
  1402.   Price: 20 cell - 2200 UKP; 40 cell 4500 UKP; 80 cell 8000 UKP
  1403.   Manufacturer: Alva
  1404.   Suppliers: Professional Vision Services LTD, Hertshire, England
  1405.              (+44 1462 677331)
  1406.  
  1407.   9.2.3.2.  Navigator
  1408.  
  1409.   Again there are three models the 20, the 60 and the 80.  Recent
  1410.   versions are all known to work with BRLTTY but whether earlier ones
  1411.   (with earlier firmware) also work has not been confirmed.
  1412.  
  1413.   Price: 80 cell 7800 UKP
  1414.   Manufacturer: Alva
  1415.   Suppliers: Professional Vision Services LTD, Hertshire, England
  1416.              (+44 1462 677331)
  1417.  
  1418.   9.2.4.  Braille Lite
  1419.  
  1420.   This is more a portable computer than a terminal.  It could, however,
  1421.   be used with BRLTTY version 0.22 (but not newer versions) as if it was
  1422.   a normal Braille terminal.  Unfortunately, many of the features
  1423.   available with the CombiBraille cannot be used with the Braille Lite.
  1424.   This means that it should be avoided for Linux use where possible.
  1425.  
  1426.   Price: $3,395.00
  1427.   Manufacturer: Blazie Engineering
  1428.  
  1429.   9.3.  Speech Synthesisers
  1430.  
  1431.   Speech synthesisers normally connect to the serial port of a PC.
  1432.   Useful features include
  1433.  
  1434.   ╖  Braille labels on parts
  1435.  
  1436.   ╖  Many voices to allow different parts of document to be spoken
  1437.      differently
  1438.  
  1439.   ╖  Use with headphones (not available on all models)
  1440.  
  1441.   The critical problem is that the quality of the speech.  This is much
  1442.   more important to someone who is using the speech synthesiser as their
  1443.   main source of information than to someone who is just getting neat
  1444.   sounds out of a game.  For this reason T.V. Raman seems to only
  1445.   recommend the DECTalk.  Acceptable alternatives would be good.
  1446.  
  1447.   9.3.1.  DECTalk Express
  1448.  
  1449.   This is a hardware speech synthesiser.  It is recommended for use with
  1450.   Emacspeak and in fact the DECTalk range are the only speech
  1451.   synthesisers which work with that package at present.  This
  1452.   synthesiser has every useful feature that I know about.  The only
  1453.   disadvantage that I know of at present is price.
  1454.  
  1455.   Price: $1195.00
  1456.   Manufacturer: Digital Equipment Corporation
  1457.  
  1458.   Suppliers: Many.  I'd like details of those with Specific Linux
  1459.           support / delivering international or otherwise of note only
  1460.           please.  Otherwise refer to local organisations.
  1461.           Digital themselves or the Emacspeak WWW pages.
  1462.  
  1463.   9.3.2.  Accent SA
  1464.  
  1465.   This is a synthesiser made by Aicom Corporation.  An effort has begun
  1466.   to write a driver for it however help is needed.  Please see
  1467.   <http://www.cyberspc.mb.ca/~astrope/speak.html> if you think you can
  1468.   help.
  1469.  
  1470.   9.3.3.  SPO256-AL2 Speak and Spell chip.
  1471.  
  1472.   Some interest has been expressed in using this chip in self built
  1473.   talking circuits.  I'd be interested to know if anyone has found this
  1474.   useful.  A software package speak-0.2pl1.tar.gz was produced by David
  1475.   Sugar <dyfet@tycho.com>.  My suspicion, though, is that the quality of
  1476.   the output wouldn't be good enough for regular use.
  1477.  
  1478.   10.  Acknowledgements
  1479.  
  1480.   Much of this document was created from various information sources on
  1481.   the Internet, many found from Yahoo and DEC's Alta Vista Search
  1482.   engine.  Included in this was the documentation of most of the
  1483.   software packages mentioned in the text.  Some information was also
  1484.   gleaned from the Royal National Institute for the Blind's helpsheets.
  1485.   T.V. Raman, the author of Emacspeak has reliably contributed comments,
  1486.   information and text as well as putting me in touch with other people
  1487.   who he knew on the Internet.
  1488.  
  1489.   Kenneth Albanowski <kjahds@kjahds.com> provided the patch needed for
  1490.   the Brailloterm and information about it.
  1491.  
  1492.   Roland Dyroff of S.u.S.E. GmbH (Linux distributors and makers of
  1493.   S.u.S.E. Linux (English/German)) looked up KTS Stolper GmbH at my
  1494.   request and got some hardware details and information on the
  1495.   Brailloterm.
  1496.  
  1497.   The most major and careful checks over of this document were done by
  1498.   James Bowden, <jrbowden@bcs.org.uk> and Nikhil Nair
  1499.   <nn201@cus.cam.ac.uk>, the BRLTTY authors who suggested a large number
  1500.   of corrections as well as extra information for some topics.
  1501.  
  1502.   The contributors to the blinux and linux-access mailing lists have
  1503.   contributed to this document by providng information for me to read.
  1504.  
  1505.   Mark E. Novak of the Trace R&D centre <http://trace.wisc.edu/> pointed
  1506.   me in the direction of several packages of software and information
  1507.   which I had not seen before.  He also made some comments on the
  1508.   structure of the document which I have partially taken into account
  1509.   and should probably do more about.
  1510.  
  1511.   Other contributors include Nicolas Pitrie and Stephane Doyon.
  1512.  
  1513.   A number of other people have contributed comments and information.
  1514.   Specific contributions are acknowledged within the document.
  1515.  
  1516.   This version was specifically produced for RedHat's Dr. Linux book.
  1517.   This is because they provided warning of it's impending release to
  1518.   myself and other LDP authors.  Their doing this is strongly
  1519.   appreciated since wrong or old information sits around much longer in
  1520.   a book than on the Internet.
  1521.  
  1522.   No doubt you made a contribution and I haven't mentioned it.  Don't
  1523.   worry, it was an accident.  I'm sorry.  Just tell me and I will add
  1524.   you to the next version.
  1525.  
  1526.