Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    1) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    2) The Speakup User's Guide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    3) For Speakup 3.1.2 and Later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    4) By Gene Collins
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    5) Updated by others
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    6) Last modified on Mon Sep 27 14:26:31 2010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    7) Document version 1.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    9) Copyright (c) 2005  Gene Collins
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   10) Copyright (c) 2008  Samuel Thibault
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   11) Copyright (c) 2009, 2010  the Speakup Team
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   13) Permission is granted to copy, distribute and/or modify this document
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   14) under the terms of the GNU Free Documentation License, Version 1.2 or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   15) any later version published by the Free Software Foundation; with no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   16) Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   17) copy of the license is included in the section entitled "GNU Free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   18) Documentation License".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   20) Preface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   22) The purpose of this document is to familiarize users with the user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   23) interface to Speakup, a Linux Screen Reader.  If you need instructions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   24) for installing or obtaining Speakup, visit the web site at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   25) http://linux-speakup.org/.  Speakup is a set of patches to the standard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   26) Linux kernel source tree.  It can be built as a series of modules, or as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   27) a part of a monolithic kernel.  These details are beyond the scope of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   28) this manual, but the user may need to be aware of the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   29) capabilities, depending on how your system administrator has installed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   30) Speakup.  If Speakup is built as a part of a monolithic kernel, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   31) user is using a hardware synthesizer, then Speakup will be able to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   32) provide speech access from the time the kernel is loaded, until the time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   33) the system is shutdown.  This means that if you have obtained Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   34) installation media for a distribution which includes Speakup as a part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   35) of its kernel, you will be able, as a blind person, to install Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   36) with speech access unaided by a sighted person.  Again, these details
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   37) are beyond the scope of this manual, but the user should be aware of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   38) them.  See the web site mentioned above for further details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   40) 1.  Starting Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   42) If your system administrator has installed Speakup to work with your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   43) specific synthesizer by default, then all you need to do to use Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   44) is to boot your system, and Speakup should come up talking.  This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   45) assumes of course  that your synthesizer is a supported hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   46) synthesizer, and that it is either installed in or connected to your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   47) system, and is if necessary powered on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   49) It is possible, however, that Speakup may have been compiled into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   50) kernel with no default synthesizer.  It is even possible that your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   51) kernel has been compiled with support for some of the supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   52) synthesizers and not others.  If you find that this is the case, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   53) your synthesizer is supported but not available, complain to the person
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   54) who compiled and installed your kernel.  Or better yet, go to the web
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   55) site, and learn how to patch Speakup into your own kernel source, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   56) build and install your own kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   58) If your kernel has been compiled with Speakup, and has no default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   59) synthesizer set, or you would like to use a different synthesizer than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   60) the default one, then you may issue the following command at the boot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   61) prompt of your boot loader.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   63) linux speakup.synth=ltlk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   65) This command would tell Speakup to look for and use a LiteTalk or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   66) DoubleTalk LT at boot up.  You may replace the ltlk synthesizer keyword
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   67) with the keyword for whatever synthesizer you wish to use.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   68) speakup.synth parameter will accept the following keywords, provided
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   69) that support for the related synthesizers has been built into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   70) kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   72) acntsa -- Accent SA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   73) acntpc -- Accent PC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   74) apollo -- Apollo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   75) audptr -- Audapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   76) bns -- Braille 'n Speak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   77) dectlk -- DecTalk Express (old and new, db9 serial only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   78) decext -- DecTalk (old) External
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   79) dtlk -- DoubleTalk PC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   80) keypc -- Keynote Gold PC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   81) ltlk -- DoubleTalk LT, LiteTalk, or external Tripletalk (db9 serial only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   82) spkout -- Speak Out
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   83) txprt -- Transport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   84) dummy -- Plain text terminal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   86) Note: Speakup does * NOT * support usb connections!  Speakup also does *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   87) NOT * support the internal Tripletalk!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   89) Speakup does support two other synthesizers, but because they work in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   90) conjunction with other software, they must be loaded as modules after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   91) their related software is loaded, and so are not available at boot up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   92) These are as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   94) decpc -- DecTalk PC (not available at boot up)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   95) soft -- One of several software synthesizers (not available at boot up)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   97) See the sections on loading modules and software synthesizers later in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   98) this manual for further details.  It should be noted here that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   99) speakup.synth boot parameter will have no effect if Speakup has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  100) compiled as modules.  In order for Speakup modules to be loaded during
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  101) the boot process, such action must be configured by your system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  102) administrator.  This will mean that you will hear some, but not all,  of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  103) the bootup messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  104) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  105) 2.  Basic operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  106) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  107) Once you have booted the system, and if necessary, have supplied the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  108) proper bootup parameter for your synthesizer, Speakup will begin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  109) talking as soon as the kernel is loaded.  In fact, it will talk a lot!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  110) It will speak all the boot up messages that the kernel prints on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  111) screen during the boot process.  This is because Speakup is not a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  112) separate screen reader, but is actually built into the operating
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  113) system.  Since almost all console applications must print text on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  114) screen using the kernel, and must get their keyboard input through the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  115) kernel, they are automatically handled properly by Speakup.  There are a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  116) few exceptions, but we'll come to those later.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  118) Note:  In this guide I will refer to the numeric keypad as the keypad.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  119) This is done because the speakupmap.map file referred to later in this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  120) manual uses the term keypad instead of numeric keypad.  Also I'm lazy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  121) and would rather only type one word.  So keypad it is.  Got it?  Good.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  123) Most of the Speakup review keys are located on the keypad at the far
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  124) right of the keyboard.  The numlock key should be off, in order for these
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  125) to work.  If you toggle the numlock on, the keypad will produce numbers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  126) which is exactly what you want for spreadsheets and such.  For the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  127) purposes of this guide, you should have the numlock turned off, which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  128) its default state at bootup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  130) You probably won't want to listen to all the bootup messages every time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  131) you start your system, though it's a good idea to listen to them at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  132) least once, just so you'll know what kind of information is available to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  133) you during the boot process.  You can always review these messages after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  134) bootup with the command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  136) dmesg | more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  138) In order to speed the boot process, and to silence the speaking of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  139) bootup messages, just press the keypad enter key.  This key is located
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  140) in the bottom right corner of the keypad.  Speakup will shut up and stay
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  141) that way, until you press another key.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  143) You can check to see if the boot process has completed by pressing the 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  144) key on the keypad, which reads the current line.  This also has the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  145) effect of starting Speakup talking again, so you can press keypad enter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  146) to silence it again if the boot process has not completed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  148) When the boot process is complete, you will arrive at a "login" prompt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  149) At this point, you'll need to type in your user id and password, as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  150) provided by your system administrator.  You will hear Speakup speak the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  151) letters of your user id as you type it, but not the password.  This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  152) because the password is not displayed on the screen for security
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  153) reasons.  This has nothing to do with Speakup, it's a Linux security
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  154) feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  155) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  156) Once you've logged in, you can run any Linux command or program which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  157) allowed by your user id.  Normal users will not be able to run programs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  158) which require root privileges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  160) When you are running a program or command, Speakup will automatically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  161) speak new text as it arrives on the screen.  You can at any time silence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  162) the speech with keypad enter, or use any of the Speakup review keys.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  164) Here are some basic Speakup review keys, and a short description of what
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  165) they do.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  166) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  167) keypad 1 -- read previous character
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  168) keypad 2 -- read current character (pressing keypad 2 twice rapidly will speak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  169) 	the current character phonetically)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  170) keypad 3 -- read next character
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  171) keypad 4 -- read previous word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  172) keypad 5 -- read current word (press twice rapidly to spell the current word)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  173) keypad 6 -- read next word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  174) keypad 7 -- read previous line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  175) keypad 8 -- read current line (press twice rapidly to hear how much the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  176) 	text on the current line is indented)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  177) keypad 9 -- read next line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  178) keypad period -- speak current cursor position and announce current
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  179) 	virtual console
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  181) It's also worth noting that the insert key on the keypad is mapped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  182) as the speakup key.  Instead of pressing and releasing this key, as you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  183) do under DOS or Windows, you hold it like a shift key, and press other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  184) keys in combination with it.  For example, repeatedly holding keypad
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  185) insert, from now on called speakup, and keypad enter will toggle the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  186) speaking of new text on the screen on and off.  This is not the same as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  187) just pressing keypad enter by itself, which just silences the speech
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  188) until you hit another key.  When you hit speakup plus keypad enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  189) Speakup will say, "You turned me off.", or "Hey, that's better."  When
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  190) Speakup is turned off, no new text on the screen will be spoken.  You
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  191) can still use the reading controls to review the screen however.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  192) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  193) 3.  Using the Speakup Help System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  194) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  195) In order to enter the Speakup help system, press and hold the speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  196) key (remember that this is the keypad insert key), and press the f1 key.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  197) You will hear the message:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  198) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  199) "Press space to leave help, cursor up or down to scroll, or a letter to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  200) go to commands in list."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  201) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  202) When you press the spacebar to leave the help system, you will hear:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  203) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  204) "Leaving help."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  205) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  206) While you are in the Speakup help system, you can scroll up or down
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  207) through the list of available commands using the cursor keys.  The list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  208) of commands is arranged in alphabetical order.  If you wish to jump to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  209) commands in a specific part of the alphabet, you may press the letter of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  210) the alphabet you wish to jump to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  211) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  212) You can also just explore by typing keyboard keys.  Pressing keys will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  213) cause Speakup to speak the command associated with that key.  For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  214) example, if you press the keypad 8 key, you will hear:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  216) "Keypad 8 is line, say current."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  217) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  218) You'll notice that some commands do not have keys assigned to them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  219) This is because they are very infrequently used commands, and are also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  220) accessible through the sys system.  We'll discuss the sys system later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  221) in this manual.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  223) You'll also notice that some commands have two keys assigned to them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  224) This is because Speakup has a built in set of alternative key bindings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  225) for laptop users.  The alternate speakup key is the caps lock key.  You
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  226) can press and hold the caps lock key, while pressing an alternate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  227) speakup command key to activate the command.  On most laptops, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  228) numeric keypad is defined as the keys in the j k l area of the keyboard.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  229) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  230) There is usually a function key which turns this keypad function on and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  231) off, and some other key which controls the numlock state.  Toggling the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  232) keypad functionality on and off can become a royal pain.  So, Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  233) gives you a simple way to get at an alternative set of key mappings for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  234) your laptop.  These are also available by default on desktop systems,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  235) because Speakup does not know whether it is running on a desktop or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  236) laptop.  So you may choose which set of Speakup keys to use.  Some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  237) system administrators may have chosen to compile Speakup for a desktop
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  238) system without this set of alternate key bindings, but these details are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  239) beyond the scope of this manual.  To use the caps lock for its normal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  240) purpose, hold the shift key while toggling the caps lock on and off.  We
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  241) should note here, that holding the caps lock key and pressing the z key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  242) will toggle the alternate j k l keypad on and off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  243) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  244) 4.  Keys and Their Assigned Commands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  246) In this section, we'll go through a list of all the speakup keys and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  247) commands.  You can also get a list of commands and assigned keys from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  248) the help system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  250) The following list was taken from the speakupmap.map file.  Key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  251) assignments are on the left of the equal sign, and the associated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  252) Speakup commands are on the right.  The designation "spk" means to press
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  253) and hold the speakup key, a.k.a. keypad insert, a.k.a. caps lock, while
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  254) pressing the other specified key.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  255) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  256) spk key_f9 = punc_level_dec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  257) spk key_f10 = punc_level_inc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  258) spk key_f11 = reading_punc_dec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  259) spk key_f12 = reading_punc_inc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  260) spk key_1 = vol_dec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  261) spk key_2 =  vol_inc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  262) spk key_3 = pitch_dec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  263) spk key_4 = pitch_inc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  264) spk key_5 = rate_dec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  265) spk key_6 = rate_inc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  266) key_kpasterisk = toggle_cursoring
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  267) spk key_kpasterisk = speakup_goto
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  268) spk key_f1 = speakup_help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  269) spk key_f2 = set_win
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  270) spk key_f3 = clear_win
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  271) spk key_f4 = enable_win
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  272) spk key_f5 = edit_some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  273) spk key_f6 = edit_most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  274) spk key_f7 = edit_delim
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  275) spk key_f8 = edit_repeat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  276) shift spk key_f9 = edit_exnum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  277)  key_kp7 = say_prev_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  278) spk key_kp7 = left_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  279)  key_kp8 = say_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  280) double  key_kp8 = say_line_indent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  281) spk key_kp8 = say_from_top
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  282)  key_kp9 = say_next_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  283) spk  key_kp9 = top_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  284)  key_kpminus = speakup_parked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  285) spk key_kpminus = say_char_num
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  286)  key_kp4 = say_prev_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  287) spk key_kp4 = say_from_left
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  288)  key_kp5 = say_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  289) double key_kp5 = spell_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  290) spk key_kp5 = spell_phonetic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  291)  key_kp6 = say_next_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  292) spk key_kp6 = say_to_right
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  293)  key_kpplus = say_screen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  294) spk key_kpplus = say_win
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  295)  key_kp1 = say_prev_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  296) spk key_kp1 = right_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  297)  key_kp2 = say_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  298) spk key_kp2 = say_to_bottom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  299) double key_kp2 = say_phonetic_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  300)  key_kp3 = say_next_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  301) spk  key_kp3 = bottom_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  302)  key_kp0 = spk_key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  303)  key_kpdot = say_position
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  304) spk key_kpdot = say_attributes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  305) key_kpenter = speakup_quiet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  306) spk key_kpenter = speakup_off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  307) key_sysrq = speech_kill
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  308)  key_kpslash = speakup_cut
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  309) spk key_kpslash = speakup_paste
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  310) spk key_pageup = say_first_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  311) spk key_pagedown = say_last_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  312) key_capslock = spk_key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  313)  spk key_z = spk_lock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  314) key_leftmeta = spk_key
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  315) ctrl spk key_0 = speakup_goto
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  316) spk key_u = say_prev_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  317) spk key_i = say_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  318) double spk key_i = say_line_indent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  319) spk key_o = say_next_line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  320) spk key_minus = speakup_parked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  321) shift spk key_minus = say_char_num
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  322) spk key_j = say_prev_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  323) spk key_k = say_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  324) double spk key_k = spell_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  325) spk key_l = say_next_word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  326) spk key_m = say_prev_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  327) spk key_comma = say_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  328) double spk key_comma = say_phonetic_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  329) spk key_dot = say_next_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  330) spk key_n = say_position
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  331)  ctrl spk key_m = left_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  332)  ctrl spk key_y = top_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  333)  ctrl spk key_dot = right_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  334) ctrl spk key_p = bottom_edge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  335) spk key_apostrophe = say_screen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  336) spk key_h = say_from_left
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  337) spk key_y = say_from_top
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  338) spk key_semicolon = say_to_right
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  339) spk key_p = say_to_bottom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  340) spk key_slash = say_attributes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  341)  spk key_enter = speakup_quiet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  342)  ctrl  spk key_enter = speakup_off
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  343)  spk key_9 = speakup_cut
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  344) spk key_8 = speakup_paste
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  345) shift spk key_m = say_first_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  346)  ctrl spk key_semicolon = say_last_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  347) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  348) 5.  The Speakup Sys System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  350) The Speakup screen reader also creates a speakup subdirectory as a part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  351) of the sys system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  352) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  353) As a convenience, run as root
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  354) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  355) ln -s /sys/accessibility/speakup /speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  356) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  357) to directly access speakup parameters from /speakup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  358) You can see these entries by typing the command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  359) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  360) ls -1 /speakup/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  361) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  362) If you issue the above ls command, you will get back something like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  363) this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  364) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  365) /speakup/attrib_bleep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  366) /speakup/bell_pos
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  367) /speakup/bleep_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  368) /speakup/bleeps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  369) /speakup/cursor_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  370) /speakup/delimiters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  371) /speakup/ex_num
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  372) /speakup/key_echo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  373) /speakup/keymap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  374) /speakup/no_interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  375) /speakup/punc_all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  376) /speakup/punc_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  377) /speakup/punc_most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  378) /speakup/punc_some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  379) /speakup/reading_punc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  380) /speakup/repeats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  381) /speakup/say_control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  382) /speakup/say_word_ctl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  383) /speakup/silent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  384) /speakup/spell_delay
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  385) /speakup/synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  386) /speakup/synth_direct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  387) /speakup/version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  388) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  389) /speakup/i18n:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  390) announcements
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  391) characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  392) chartab
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  393) colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  394) ctl_keys
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  395) formatted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  396) function_names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  397) key_names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  398) states
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  399) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  400) /speakup/soft:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  401) caps_start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  402) caps_stop
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  403) delay_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  404) direct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  405) freq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  406) full_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  407) jiffy_delta
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  408) pitch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  409) inflection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  410) punct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  411) rate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  412) tone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  413) trigger_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  414) voice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  415) vol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  416) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  417) Notice the two subdirectories of /speakup: /speakup/i18n and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  418) /speakup/soft.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  419) The i18n subdirectory is described in a later section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  420) The files under /speakup/soft represent settings that are specific to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  421) driver for the software synthesizer.  If you use the LiteTalk, your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  422) synthesizer-specific settings would be found in /speakup/ltlk.  In other words,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  423) a subdirectory named /speakup/KWD is created to hold parameters specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  424) to the device whose keyword is KWD.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  425) These parameters include volume, rate, pitch, and others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  426) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  427) In addition to using the Speakup hot keys to change such things as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  428) volume, pitch, and rate, you can also echo values to the appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  429) entry in the /speakup directory.  This is very useful, since it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  430) lets you control Speakup parameters from within a script.  How you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  431) would write such scripts is somewhat beyond the scope of this manual,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  432) but I will include a couple of simple examples here to give you a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  433) general idea of what such scripts can do.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  434) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  435) Suppose for example, that you wanted to control both the punctuation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  436) level and the reading punctuation level at the same time.  For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  437) simplicity, we'll call them punc0, punc1, punc2, and punc3.  The scripts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  438) might look something like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  439) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  440) #!/bin/bash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  441) # punc0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  442) # set punc and reading punc levels to 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  443) echo 0 >/speakup/punc_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  444) echo 0 >/speakup/reading_punc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  445) echo Punctuation level set to 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  446) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  447) #!/bin/bash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  448) # punc1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  449) # set punc and reading punc levels to 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  450) echo 1 >/speakup/punc_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  451) echo 1 >/speakup/reading_punc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  452) echo Punctuation level set to 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  453) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  454) #!/bin/bash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  455) # punc2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  456) # set punc and reading punc levels to 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  457) echo 2 >/speakup/punc_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  458) echo 2 >/speakup/reading_punc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  459) echo Punctuation level set to 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  460) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  461) #!/bin/bash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  462) # punc3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  463) # set punc and reading punc levels to 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  464) echo 3 >/speakup/punc_level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  465) echo 3 >/speakup/reading_punc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  466) echo Punctuation level set to 3.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  467) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  468) If you were to store these four small scripts in a directory in your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  469) path, perhaps /usr/local/bin, and set the permissions to 755 with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  470) chmod command, then you could change the default reading punc and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  471) punctuation levels at the same time by issuing just one command.  For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  472) example, if you were to execute the punc3 command at your shell prompt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  473) then the reading punc and punc level would both get set to 3.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  474) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  475) I should note that the above scripts were written to work with bash, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  476) regardless of which shell you use, you should be able to do something
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  477) similar.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  478) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  479) The Speakup sys system also has another interesting use.  You can echo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  480) Speakup parameters into the sys system in a script during system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  481) startup, and speakup will return to your preferred parameters every time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  482) the system is rebooted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  483) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  484) Most of the Speakup sys parameters can be manipulated by a regular user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  485) on the system.  However, there are a few parameters that are dangerous
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  486) enough that they should only be manipulated by the root user on your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  487) system.  There are even some parameters that are read only, and cannot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  488) be written to at all.  For example, the version entry in the Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  489) sys system is read only.  This is because there is no reason for a user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  490) to tamper with the version number which is reported by Speakup.  Doing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  491) an ls -l on /speakup/version will return this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  492) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  493) -r--r--r--    1 root     root            0 Mar 21 13:46 /speakup/version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  494) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  495) As you can see, the version entry in the Speakup sys system is read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  496) only, is owned by root, and belongs to the root group.  Doing a cat of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  497) /speakup/version will display the Speakup version number, like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  498) this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  499) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  500) cat /speakup/version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  501) Speakup v-2.00 CVS: Thu Oct 21 10:38:21 EDT 2004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  502) synth dtlk version 1.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  503) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  504) The display shows the Speakup version number, along with the version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  505) number of the driver for the current synthesizer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  506) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  507) Looking at entries in the Speakup sys system can be useful in many
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  508) ways.  For example, you might wish to know what level your volume is set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  509) at.  You could type:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  510) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  511) cat /speakup/KWD/vol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  512) # Replace KWD with the keyword for your synthesizer, E.G., ltlk for LiteTalk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  513) 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  514) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  515) The number five which comes back is the level at which the synthesizer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  516) volume is set at.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  517) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  518) All the entries in the Speakup sys system are readable, some are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  519) writable by root only, and some are writable by everyone.  Unless you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  520) know what you are doing, you should probably leave the ones that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  521) writable by root only alone.  Most of the names are self explanatory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  522) Vol for controlling volume, pitch for pitch, inflection for pitch range, rate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  523) for controlling speaking rate, etc.  If you find one you aren't sure about, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  524) can post a query on the Speakup list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  525) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  526) 6.  Changing Synthesizers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  527) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  528) It is possible to change to a different synthesizer while speakup is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  529) running.  In other words, it is not necessary to reboot the system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  530) in order to use a different synthesizer.  You can simply echo the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  531) synthesizer keyword to the /speakup/synth sys entry.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  532) Depending on your situation, you may wish to echo none to the synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  533) sys entry, to disable speech while one synthesizer is disconnected and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  534) a second one is connected in its place.  Then echo the keyword for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  535) new synthesizer into the synth sys entry in order to start speech
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  536) with the newly connected synthesizer.  See the list of synthesizer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  537) keywords in section 1 to find the keyword which matches your synth.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  538) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  539) 7.  Loading modules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  540) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  541) As mentioned earlier, Speakup can either be completely compiled into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  542) kernel, with the exception of the help module, or it can be compiled as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  543) a series of modules.   When compiled as modules, Speakup will only be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  544) able to speak some of the bootup messages if your system administrator
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  545) has configured the system to load the modules at boo time. The modules
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  546) can  be loaded after the file systems have been checked and mounted, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  547) from an initrd.  There is a third possibility.  Speakup can be compiled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  548) with some components built into the kernel, and others as modules.  As
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  549) we'll see in the next section, this is particularly useful when you are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  550) working with software synthesizers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  551) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  552) If Speakup is completely compiled as modules, then you must use the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  553) modprobe command to load Speakup.  You do this by loading the module for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  554) the synthesizer driver you wish to use.  The driver modules are all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  555) named speakup_<keyword>, where <keyword> is the keyword for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  556) synthesizer you want.  So, in order to load the driver for the DecTalk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  557) Express, you would type the following command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  558) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  559) modprobe speakup_dectlk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  560) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  561) Issuing this command would load the DecTalk Express driver and all other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  562) related Speakup modules necessary to get Speakup up and running.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  563) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  564) To completely unload Speakup, again presuming that it is entirely built
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  565) as modules, you would give the command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  566) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  567) modprobe -r speakup_dectlk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  568) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  569) The above command assumes you were running a DecTalk Express.  If you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  570) were using a different synth, then you would substitute its keyword in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  571) place of dectlk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  572) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  573) If you have multiple drivers loaded, you need to unload all of them, in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  574) order to completely unload Speakup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  575) For example, if you have loaded both the dectlk and ltlk drivers, use the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  576) command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  577) modprobe -r speakup_dectlk speakup_ltlk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  578) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  579) You cannot unload the driver for software synthesizers when a user-space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  580) daemon is using /dev/softsynth.  First, kill the daemon.  Next, remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  581) the driver with the command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  582) modprobe -r speakup_soft
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  583) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  584) Now, suppose we have a situation where the main Speakup component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  585) is built into the kernel, and some or all of the drivers are built as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  586) modules.  Since the main part of Speakup is compiled into the kernel, a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  587) partial Speakup sys system has been created which we can take advantage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  588) of by simply echoing the synthesizer keyword into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  589) /speakup/synth sys entry.  This will cause the kernel to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  590) automatically load the appropriate driver module, and start Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  591) talking.  To switch to another synth, just echo a new keyword to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  592) synth sys entry.  For example, to load the DoubleTalk LT driver,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  593) you would type:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  594) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  595) echo ltlk >/speakup/synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  596) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  597) You can use the modprobe -r command to unload driver modules, regardless
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  598) of whether the main part of Speakup has been built into the kernel or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  599) not.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  600) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  601) 8.  Using Software Synthesizers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  602) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  603) Using a software synthesizer requires that some other software be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  604) installed and running on your system.  For this reason, software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  605) synthesizers are not available for use at bootup, or during a system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  606) installation process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  607) There are two freely-available solutions for software speech: Espeakup and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  608) Speech Dispatcher.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  609) These are described in subsections 8.1 and 8.2, respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  610) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  611) During the rest of this section, we assume that speakup_soft is either
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  612) built in to your kernel, or loaded as a module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  613) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  614) If your system does not have udev installed , before you can use a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  615) software synthesizer, you must have created the /dev/softsynth device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  616) If you have not already done so, issue the following commands as root:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  617) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  618) cd /dev
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  619) mknod softsynth c 10 26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  620) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  621) While we are at it, we might just as well create the /dev/synth device,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  622) which can be used to let user space programs send information to your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  623) synthesizer.  To create /dev/synth, change to the /dev directory, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  624) issue the following command as root:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  625) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  626) mknod synth c 10 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  627) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  628) of both.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  629) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  630) 8.1. Espeakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  631) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  632) Espeakup is a connector between Speakup and the eSpeak software synthesizer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  633) Espeakup may already be available as a package for your distribution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  634) of Linux.  If it is not packaged, you need to install it manually.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  635) You can find it in the contrib/ subdirectory of the Speakup sources.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  636) The filename is espeakup-$VERSION.tar.bz2, where $VERSION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  637) depends on the current release of Espeakup.  The Speakup 3.1.2 source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  638) ships with version 0.71 of Espeakup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  639) The README file included with the Espeakup sources describes the process
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  640) of manual installation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  641) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  642) Assuming that Espeakup is installed, either by the user or by the distributor,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  643) follow these steps to use it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  644) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  645) Tell Speakup to use the "soft driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  646) echo soft > /speakup/synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  647) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  648) Finally, start the espeakup program.  There are two ways to do it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  649) Both require root privileges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  650) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  651) If Espeakup was installed as a package for your Linux distribution,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  652) you probably have a distribution-specific script that controls the operation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  653) of the daemon.  Look for a file named espeakup under /etc/init.d or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  654) /etc/rc.d.  Execute the following command with root privileges:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  655) /etc/init.d/espeakup start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  656) Replace init.d with rc.d, if your distribution uses scripts located under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  657) /etc/rc.d.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  658) Your distribution will also have a procedure for starting daemons at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  659) boot-time, so it is possible to have software speech as soon as user-space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  660) daemons are started by the bootup scripts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  661) These procedures are not described in this document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  662) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  663) If you built Espeakup manually, the "make install" step placed the binary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  664) under /usr/bin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  665) Run the following command as root:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  666) /usr/bin/espeakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  667) Espeakup should start speaking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  668) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  669) 8.2. Speech Dispatcher
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  670) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  671) For this option, you must have a package called
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  672) Speech Dispatcher running on your system, and it must be configured to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  673) work with one of its supported software synthesizers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  674) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  675) Two open source synthesizers you might use are Flite and Festival.  You
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  676) might also choose to purchase the Software DecTalk from Fonix Sales Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  677) If you run a google search for Fonix, you'll find their web site.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  678) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  679) You can obtain a copy of Speech Dispatcher from free(b)soft at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  680) http://www.freebsoft.org/.  Follow the installation instructions that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  681) come with Speech Dispatcher in order to install and configure Speech
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  682) Dispatcher.  You can check out the web site for your Linux distribution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  683) in order to get a copy of either Flite or Festival.  Your Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  684) distribution may also have a precompiled Speech Dispatcher package.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  685) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  686) Once you've installed, configured, and tested Speech Dispatcher with your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  687) chosen software synthesizer, you still need one more piece of software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  688) in order to make things work.  You need a package called speechd-up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  689) You get it from the free(b)soft web site mentioned above.  After you've
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  690) compiled and installed speechd-up, you are almost ready to begin using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  691) your software synthesizer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  692) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  693) Now you can begin using your software synthesizer.  In order to do so,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  694) echo the soft keyword to the synth sys entry like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  695) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  696) echo soft >/speakup/synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  697) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  698) Next run the speechd_up command like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  699) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  700) speechd_up &
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  701) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  702) Your synth should now start talking, and you should be able to adjust
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  703) the pitch, rate, etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  704) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  705) 9.  Using The DecTalk PC Card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  706) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  707) The DecTalk PC card is an ISA card that is inserted into one of the ISA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  708) slots in your computer.  It requires that the DecTalk PC software be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  709) installed on your computer, and that the software be loaded onto the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  710) Dectalk PC card before it can be used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  711) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  712) You can get the dec_pc.tgz file from the linux-speakup.org site.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  713) dec_pc.tgz file is in the ~ftp/pub/linux/speakup directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  714) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  715) After you have downloaded the dec_pc.tgz file, untar it in your home
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  716) directory, and read the Readme file in the newly created dec_pc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  717) directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  718) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  719) The easiest way to get the software working is to copy the entire dec_pc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  720) directory into /user/local/lib.  To do this, su to root in your home
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  721) directory, and issue the command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  722) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  723) cp dec_pc /usr/local/lib
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  724) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  725) You will need to copy the dtload command from the dec_pc directory to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  726) directory in your path.  Either /usr/bin or /usr/local/bin is a good
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  727) choice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  728) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  729) You can now run the dtload command in order to load the DecTalk PC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  730) software onto the card.  After you have done this, echo the decpc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  731) keyword to the synth entry in the sys system like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  732) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  733) echo decpc >/speakup/synth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  734) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  735) Your DecTalk PC should start talking, and then you can adjust the pitch,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  736) rate, volume, voice, etc.  The voice entry in the Speakup sys system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  737) will accept a number from 0 through 7 for the DecTalk PC synthesizer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  738) which will give you access to some of the DecTalk voices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  739) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  740) 10.  Using Cursor Tracking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  741) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  742) In Speakup version 2.0 and later, cursor tracking is turned on by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  743) default.  This means that when you are using an editor, Speakup will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  744) automatically speak characters as you move left and right with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  745) cursor keys, and lines as you move up and down with the cursor keys.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  746) This is the traditional sort of cursor tracking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  747) Recent versions of Speakup provide two additional ways to control the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  748) text that is spoken when the cursor is moved:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  749) "highlight tracking" and "read window."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  750) They are described later in this section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  751) Sometimes, these modes get in your way, so you can disable cursor tracking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  752) altogether.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  753) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  754) You may select among the various forms of cursor tracking using the keypad
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  755) asterisk key.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  756) Each time you press this key, a new mode is selected, and Speakup speaks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  757) the name of the new mode.  The names for the four possible states of cursor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  758) tracking are: "cursoring on", "highlight tracking", "read window",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  759) and "cursoring off."  The keypad asterisk key moves through the list of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  760) modes in a circular fashion.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  761) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  762) If highlight tracking is enabled, Speakup tracks highlighted text,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  763) rather than the cursor itself. When you move the cursor with the arrow keys,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  764) Speakup speaks the currently highlighted information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  765) This is useful when moving through various menus and dialog boxes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  766) If cursor tracking isn't helping you while navigating a menu,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  767) try highlight tracking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  768) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  769) With the "read window" variety of cursor tracking, you can limit the text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  770) that Speakup speaks by specifying a window of interest on the screen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  771) See section 15 for a description of the process of defining windows.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  772) When you move the cursor via the arrow keys, Speakup only speaks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  773) the contents of the window.  This is especially helpful when you are hearing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  774) superfluous speech.  Consider the following example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  775) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  776) Suppose that you are at a shell prompt.  You use bash, and you want to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  777) explore your command history using the up and down arrow keys.  If you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  778) have enabled cursor tracking, you will hear two pieces of information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  779) Speakup speaks both your shell prompt and the current entry from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  780) command history.  You may not want to hear the prompt repeated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  781) each time you move, so you can silence it by specifying a window.  Find
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  782) the last line of text on the screen.  Clear the current window by pressing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  783) the key combination speakup f3.  Use the review cursor to find the first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  784) character that follows your shell prompt.  Press speakup + f2 twice, to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  785) define a one-line window.  The boundaries of the window are the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  786) character following the shell prompt and the end of the line.  Now, cycle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  787) through the cursor tracking modes using keypad asterisk, until Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  788) says "read window."  Move through your history using your arrow keys.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  789) You will notice that Speakup no longer speaks the redundant prompt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  790) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  791) Some folks like to turn cursor tracking off while they are using the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  792) lynx web browser.  You definitely want to turn cursor tracking off when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  793) you are using the alsamixer application.  Otherwise, you won't be able
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  794) to hear your mixer settings while you are using the arrow keys.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  795) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  796) 11.  Cut and Paste
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  797) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  798) One of Speakup's more useful features is the ability to cut and paste
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  799) text on the screen.  This means that you can capture information from a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  800) program, and paste that captured text into a different place in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  801) program, or into an entirely different program, which may even be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  802) running on a different console.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  803) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  804) For example, in this manual, we have made references to several web
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  805) sites.  It would be nice if you could cut and paste these urls into your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  806) web browser.  Speakup does this quite nicely.  Suppose you wanted to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  807) past the following url into your browser:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  808) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  809) http://linux-speakup.org/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  810) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  811) Use the speakup review keys to position the reading cursor on the first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  812) character of the above url.  When the reading cursor is in position,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  813) press the keypad slash key once.  Speakup will say, "mark".  Next,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  814) position the reading cursor on the rightmost character of the above
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  815) url. Press the keypad slash key once again to actually cut the text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  816) from the screen.  Speakup will say, "cut".  Although we call this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  817) cutting, Speakup does not actually delete the cut text from the screen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  818) It makes a copy of the text in a special buffer for later pasting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  819) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  820) Now that you have the url cut from the screen, you can paste it into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  821) your browser, or even paste the url on a command line as an argument to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  822) your browser.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  823) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  824) Suppose you want to start lynx and go to the Speakup site.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  825) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  826) You can switch to a different console with the alt left and right
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  827) arrows, or you can switch to a specific console by typing alt and a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  828) function key.  These are not Speakup commands, just standard Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  829) console capabilities.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  830) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  831) Once you've changed to an appropriate console, and are at a shell prompt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  832) type the word lynx, followed by a space.  Now press and hold the speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  833) key, while you type the keypad slash character.  The url will be pasted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  834) onto the command line, just as though you had typed it in.  Press the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  835) enter key to execute the command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  836) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  837) The paste buffer will continue to hold the cut information, until a new
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  838) mark and cut operation is carried out.  This means you can paste the cut
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  839) information as many times as you like before doing another cut
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  840) operation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  841) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  842) You are not limited to cutting and pasting only one line on the screen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  843) You can also cut and paste rectangular regions of the screen.  Just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  844) position the reading cursor at the top left corner of the text to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  845) cut, mark it with the keypad slash key, then position the reading cursor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  846) at the bottom right corner of the region to be cut, and cut it with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  847) keypad slash key.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  848) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  849) 12.  Changing the Pronunciation of Characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  850) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  851) Through the /speakup/i18n/characters sys entry, Speakup gives you the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  852) ability to change how Speakup pronounces a given character.  You could,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  853) for example, change how some punctuation characters are spoken.  You can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  854) even change how Speakup will pronounce certain letters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  855) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  856) You may, for example, wish to change how Speakup pronounces the z
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  857) character.  The author of Speakup, Kirk Reiser, is Canadian, and thus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  858) believes that the z should be pronounced zed.  If you are an American,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  859) you might wish to use the zee pronunciation instead of zed.  You can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  860) change the pronunciation of both the upper and lower case z with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  861) following two commands:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  862) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  863) echo 90 zee >/speakup/characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  864) echo 122 zee >/speakup/characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  865) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  866) Let's examine the parts of the two previous commands.  They are issued
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  867) at the shell prompt, and could be placed in a startup script.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  868) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  869) The word echo tells the shell that you want to have it display the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  870) string of characters that follow the word echo.  If you were to just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  871) type:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  872) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  873) echo hello.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  874) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  875) You would get the word hello printed on your screen as soon as you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  876) pressed the enter key.  In this case, we are echoing strings that we
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  877) want to be redirected into the sys system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  878) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  879) The numbers 90 and 122 in the above echo commands are the ascii numeric
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  880) values for the upper and lower case z, the characters we wish to change.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  881) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  882) The string zee is the pronunciation that we want Speakup to use for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  883) upper and lower case z.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  884) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  885) The > symbol redirects the output of the echo command to a file, just
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  886) like in DOS, or at the Windows command prompt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  887) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  888) And finally, /speakup/i18n/characters is the file entry in the sys system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  889) where we want the output to be directed.  Speakup looks at the numeric
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  890) value of the character we want to change, and inserts the pronunciation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  891) string into an internal table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  892) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  893) You can look at the whole table with the following command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  894) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  895) cat /speakup/i18n/characters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  896) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  897) Speakup will then print out the entire character pronunciation table.  I
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  898) won't display it here, but leave you to look at it at your convenience.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  899) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  900) 13.  Mapping Keys
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  901) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  902) Speakup has the capability of allowing you to assign or "map" keys to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  903) internal Speakup commands.  This section necessarily assumes you have a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  904) Linux kernel source tree installed, and that it has been patched and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  905) configured with Speakup.  How you do this is beyond the scope of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  906) manual.  For this information, visit the Speakup web site at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  907) http://linux-speakup.org/.  The reason you'll need the kernel source
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  908) tree patched with Speakup is that the genmap utility you'll need for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  909) processing keymaps is in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  910) /usr/src/linux-<version_number>/drivers/char/speakup directory.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  911) <version_number> in the above directory path is the version number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  912) the Linux source tree you are working with.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  913) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  914) So ok, you've gone off and gotten your kernel source tree, and patched
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  915) and configured it.  Now you can start manipulating keymaps.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  916) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  917) You can either use the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  918) /usr/src/linux-<version_number>/drivers/char/speakup/speakupmap.map file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  919) included with the Speakup source, or you can cut and paste the copy in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  920) section 4 into a separate file.  If you use the one in the Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  921) source tree, make sure you make a backup of it before you start making
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  922) changes.  You have been warned!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  923) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  924) Suppose that you want to swap the key assignments for the Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  925) say_last_char and the Speakup say_first_char commands.  The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  926) speakupmap.map lists the key mappings for these two commands as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  927) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  928) spk key_pageup = say_first_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  929) spk key_pagedown = say_last_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  930) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  931) You can edit your copy of the speakupmap.map file and swap the command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  932) names on the right side of the = (equals) sign.  You did make a backup,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  933) right?  The new keymap lines would look like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  934) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  935) spk key_pageup = say_last_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  936) spk key_pagedown = say_first_char
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  937) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  938) After you edit your copy of the speakupmap.map file, save it under a new
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  939) file name, perhaps newmap.map.  Then exit your editor and return to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  940) shell prompt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  941) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  942) You are now ready to load your keymap with your swapped key assignments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  943)  Assuming that you saved your new keymap as the file newmap.map, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  944) would load your keymap into the sys system like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  945) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  946) /usr/src/linux-<version_number>/drivers/char/speakup/genmap newmap.map
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  947) >/speakup/keymap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  948) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  949) Remember to substitute your kernel version number for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  950) <version_number> in the above command.  Also note that although the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  951) above command wrapped onto two lines in this document, you should type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  952) it all on one line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  953) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  954) Your say first and say last characters should now be swapped.  Pressing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  955) speakup pagedown should read you the first non-whitespace character on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  956) the line your reading cursor is in, and pressing speakup pageup should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  957) read you the last character on the line your reading cursor is in.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  958) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  959) You should note that these new mappings will only stay in effect until
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  960) you reboot, or until you load another keymap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  961) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  962) One final warning.  If you try to load a partial map, you will quickly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  963) find that all the mappings you didn't include in your file got deleted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  964) from the working map.  Be extremely careful, and always make a backup!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  965) You have been warned!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  966) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  967) 14.  Internationalizing Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  968) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  969) Speakup indicates various conditions to the user by speaking messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  970) For instance, when you move to the left edge of the screen with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  971) review keys, Speakup says, "left."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  972) Prior to version 3.1.0 of Speakup, all of these messages were in English,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  973) and they could not be changed.  If you used a non-English synthesizer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  974) you still heard English messages, such as "left" and "cursoring on."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  975) In version 3.1.0 or higher, one may load translations for the various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  976) messages via the /sys filesystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  977) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  978) The directory /speakup/i18n contains several collections of messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  979) Each group of messages is stored in its own file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  980) The following section lists all of these files, along with a brief description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  981) of each.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  982) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  983) 14.1.  Files Under the i18n Subdirectory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  984) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  985) * announcements:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  986) This file contains various general announcements, most of which cannot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  987) be categorized.  You will find messages such as "You killed Speakup",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  988) "I'm alive", "leaving help", "parked", "unparked", and others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  989) You will also find the names of the screen edges and cursor tracking modes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  990) here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  991) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  992) * characters:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  993) See section 12 for a description of this file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  994) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  995) * chartab:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  996) See section 12.  Unlike the rest of the files in the i18n subdirectory,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  997) this one does not contain messages to be spoken.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  998) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  999) * colors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) When you use the "say attributes" function, Speakup says the name of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) foreground and background colors.  These names come from the i18n/colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) * ctl_keys:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) Here, you will find names of control keys.  These are used with Speakup's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) say_control feature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) * formatted:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) This group of messages contains embedded formatting codes, to specify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) the type and width of displayed data.  If you change these, you must
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) preserve all of the formatting codes, and they must appear in the order
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) used by the default messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) * function_names:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) Here, you will find a list of names for Speakup functions.  These are used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) by the help system.  For example, suppose that you have activated help mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) and you pressed keypad 3.  Speakup says:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) "keypad 3 is character, say next."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) The message "character, say next" names a Speakup function, and it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) comes from this function_names file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) * key_names:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) Again, key_names is used by Speakup's help system.  In the previous
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) example, Speakup said that you pressed "keypad 3."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) This name came from the key_names file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) * states:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) This file contains names for key states.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) Again, these are part of the help system.  For instance, if you had pressed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) speakup + keypad 3, you would hear:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) "speakup keypad 3 is go to bottom edge."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) The speakup key is depressed, so the name of the key state is speakup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) This part of the message comes from the states collection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) 14.2.  Loading Your Own Messages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) The files under the i18n subdirectory all follow the same format.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) They consist of lines, with one message per line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) Each message is represented by a number, followed by the text of the message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) The number is the position of the message in the given collection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) For example, if you view the file /speakup/i18n/colors, you will see the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) following list:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) 0	black
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) 1	blue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) 2	green
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) 3	cyan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) 4	red
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) 5	magenta
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) 6	yellow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) 7	white
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) 8	grey
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) You can change one message, or you can change a whole group.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) To load a whole collection of messages from a new source, simply use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) the cp command:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) cp ~/my_colors /speakup/i18n/colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) You can change an individual message with the echo command,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) as shown in the following example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) The Spanish name for the color blue is azul.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) Looking at the colors file, we see that the name "blue" is at position 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) within the colors group.  Let's change blue to azul:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) echo '1 azul' > /speakup/i18n/colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) The next time that Speakup says message 1 from the colors group, it will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) say "azul", rather than "blue."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) In the future, translations into various languages will be made available,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) and most users will just load the files necessary for their language.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) 14.3.  No Support for Non-Western-European Languages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) As of the current release, Speakup only supports Western European languages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) Support for the extended characters used by languages outside of the Western
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) European family of languages is a work in progress.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) 15.  Using Speakup's Windowing Capability
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) Speakup has the capability of defining and manipulating windows on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) screen.  Speakup uses the term "Window", to mean a user defined area of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) the screen.  The key strokes for defining and manipulating Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) windows are as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) speakup + f2 -- Set the bounds of the window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) Speakup + f3 -- clear the current window definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) speakup + f4 -- Toggle window silence on and off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) speakup + keypad plus -- Say the currently defined window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) These capabilities are useful for tracking a certain part of the screen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) without rereading the whole screen, or for silencing a part of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) screen that is constantly changing, such as a clock or status line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) There is no way to save these window settings, and you can only have one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) window defined for each virtual console.  There is also no way to have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) windows automatically defined for specific applications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) In order to define a window, use the review keys to move your reading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) cursor to the beginning of the area you want to define.  Then press
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) speakup + f2.  Speakup will tell you that the window starts at the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) indicated row and column position.  Then move the reading cursor to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) end of the area to be defined as a window, and press speakup + f2 again.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102)  If there is more than one line in the window, Speakup will tell you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) that the window ends at the indicated row and column position.  If there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) is only one line in the window, then Speakup will tell you that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) window is the specified line on the screen.  If you are only defining a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) one line window, you can just press speakup + f2 twice after placing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) reading cursor on the line you want to define as a window.  It is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) necessary to position the reading cursor at the end of the line in order
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) to define the whole line as a window.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) 16.  Tools for Controlling Speakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) The speakup distribution includes extra tools (in the tools directory)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) which were written to make speakup easier to use.  This section will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) briefly describe the use of these tools.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) 16.1.  Speakupconf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) speakupconf began life as a contribution from Steve Holmes, a member of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) the speakup community.  We would like to thank him for his work on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) early versions of this project.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) This script may be installed as part of your linux distribution, but if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) it isn't, the recommended places to put it are /usr/local/bin or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) /usr/bin.  This script can be run by any user, so it does not require
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) root privileges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) Speakupconf allows you to save and load your Speakup settings.  It works
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) by reading and writing the /sys files described above.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) The directory that speakupconf uses to store your settings depends on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) whether it is run from the root account.  If you execute speakupconf as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) root, it uses the directory /etc/speakup.  Otherwise, it uses the directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) ~/.speakup, where ~ is your home directory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) Anyone who needs to use Speakup from your console can load his own custom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) settings with this script.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) speakupconf takes one required argument: load or save.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) Use the command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) speakupconf save
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) to save your Speakup settings, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) speakupconf load
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) to load them into Speakup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) A second argument may be specified to use an alternate directory to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) load or save the speakup parameters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) 16.2.  Talkwith
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) Charles Hallenbeck, another member of the speakup community, wrote the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) initial versions of this script, and we would also like to thank him for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) his work on it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) This script needs root privileges to run, so if it is not installed as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) part of your linux distribution, the recommended places to install it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) are /usr/local/sbin or /usr/sbin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) Talkwith allows you to switch synthesizers on the fly.  It takes a synthesizer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) name as an argument.  For instance,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) talkwith dectlk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) causes Speakup to use the DecTalk Express.  If you wish to switch to a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) software synthesizer, you must also indicate which daemon you wish to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) use.  There are two possible choices:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) spd and espeakup.  spd is an abbreviation for speechd-up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) If you wish to use espeakup for software synthesis, give the command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) talkwith soft espeakup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) To use speechd-up, type:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) talkwith soft spd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) Any arguments that follow the name of the daemon are passed to the daemon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) when it is invoked.  For instance:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) talkwith espeakup --default-voice=fr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) causes espeakup to use the French voice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) Note that talkwith must always be executed with root privileges.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) Talkwith does not attempt to load your settings after the new
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) synthesizer is activated.  You can use speakupconf to load your settings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) if desired.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178)                 GNU Free Documentation License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179)                   Version 1.2, November 2002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182)  Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183)  Everyone is permitted to copy and distribute verbatim copies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184)  of this license document, but changing it is not allowed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) 0. PREAMBLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) The purpose of this License is to make a manual, textbook, or other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) functional and useful document "free" in the sense of freedom: to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) assure everyone the effective freedom to copy and redistribute it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) with or without modifying it, either commercially or noncommercially.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) Secondarily, this License preserves for the author and publisher a way
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) to get credit for their work, while not being considered responsible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) for modifications made by others.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) This License is a kind of "copyleft", which means that derivative
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) works of the document must themselves be free in the same sense.  It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) complements the GNU General Public License, which is a copyleft
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) license designed for free software.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) We have designed this License in order to use it for manuals for free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) software, because free software needs free documentation: a free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) program should come with manuals providing the same freedoms that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) software does.  But this License is not limited to software manuals;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) it can be used for any textual work, regardless of subject matter or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) whether it is published as a printed book.  We recommend this License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) principally for works whose purpose is instruction or reference.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) 1. APPLICABILITY AND DEFINITIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) This License applies to any manual or other work, in any medium, that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) contains a notice placed by the copyright holder saying it can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) distributed under the terms of this License.  Such a notice grants a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) world-wide, royalty-free license, unlimited in duration, to use that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) work under the conditions stated herein.  The "Document", below,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) refers to any such manual or work.  Any member of the public is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) licensee, and is addressed as "you".  You accept the license if you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) copy, modify or distribute the work in a way requiring permission
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) under copyright law.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) A "Modified Version" of the Document means any work containing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) Document or a portion of it, either copied verbatim, or with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) modifications and/or translated into another language.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) A "Secondary Section" is a named appendix or a front-matter section of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) the Document that deals exclusively with the relationship of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) publishers or authors of the Document to the Document's overall subject
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) (or to related matters) and contains nothing that could fall directly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) within that overall subject.  (Thus, if the Document is in part a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) textbook of mathematics, a Secondary Section may not explain any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) mathematics.)  The relationship could be a matter of historical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) connection with the subject or with related matters, or of legal,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) commercial, philosophical, ethical or political position regarding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) The "Invariant Sections" are certain Secondary Sections whose titles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) are designated, as being those of Invariant Sections, in the notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) that says that the Document is released under this License.  If a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) section does not fit the above definition of Secondary then it is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) allowed to be designated as Invariant.  The Document may contain zero
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) Invariant Sections.  If the Document does not identify any Invariant
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) Sections then there are none.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) The "Cover Texts" are certain short passages of text that are listed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) as Front-Cover Texts or Back-Cover Texts, in the notice that says that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) the Document is released under this License.  A Front-Cover Text may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) be at most 5 words, and a Back-Cover Text may be at most 25 words.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) A "Transparent" copy of the Document means a machine-readable copy,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) represented in a format whose specification is available to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) general public, that is suitable for revising the document
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) straightforwardly with generic text editors or (for images composed of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) pixels) generic paint programs or (for drawings) some widely available
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) drawing editor, and that is suitable for input to text formatters or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) for automatic translation to a variety of formats suitable for input
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) to text formatters.  A copy made in an otherwise Transparent file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) format whose markup, or absence of markup, has been arranged to thwart
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) or discourage subsequent modification by readers is not Transparent.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) An image format is not Transparent if used for any substantial amount
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) of text.  A copy that is not "Transparent" is called "Opaque".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) Examples of suitable formats for Transparent copies include plain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) ASCII without markup, Texinfo input format, LaTeX input format, SGML
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) or XML using a publicly available DTD, and standard-conforming simple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) HTML, PostScript or PDF designed for human modification.  Examples of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) transparent image formats include PNG, XCF and JPG.  Opaque formats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) include proprietary formats that can be read and edited only by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) proprietary word processors, SGML or XML for which the DTD and/or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) processing tools are not generally available, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) machine-generated HTML, PostScript or PDF produced by some word
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) processors for output purposes only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) The "Title Page" means, for a printed book, the title page itself,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) plus such following pages as are needed to hold, legibly, the material
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) this License requires to appear in the title page.  For works in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) formats which do not have any title page as such, "Title Page" means
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) the text near the most prominent appearance of the work's title,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) preceding the beginning of the body of the text.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) A section "Entitled XYZ" means a named subunit of the Document whose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) title either is precisely XYZ or contains XYZ in parentheses following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) text that translates XYZ in another language.  (Here XYZ stands for a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) specific section name mentioned below, such as "Acknowledgements",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) "Dedications", "Endorsements", or "History".)  To "Preserve the Title"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) of such a section when you modify the Document means that it remains a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) section "Entitled XYZ" according to this definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) The Document may include Warranty Disclaimers next to the notice which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) states that this License applies to the Document.  These Warranty
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) Disclaimers are considered to be included by reference in this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) License, but only as regards disclaiming warranties: any other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) implication that these Warranty Disclaimers may have is void and has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) no effect on the meaning of this License.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) 2. VERBATIM COPYING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) You may copy and distribute the Document in any medium, either
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) commercially or noncommercially, provided that this License, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) copyright notices, and the license notice saying this License applies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) to the Document are reproduced in all copies, and that you add no other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) conditions whatsoever to those of this License.  You may not use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) technical measures to obstruct or control the reading or further
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) copying of the copies you make or distribute.  However, you may accept
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) compensation in exchange for copies.  If you distribute a large enough
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) number of copies you must also follow the conditions in section 3.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) You may also lend copies, under the same conditions stated above, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) you may publicly display copies.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) 3. COPYING IN QUANTITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) If you publish printed copies (or copies in media that commonly have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) printed covers) of the Document, numbering more than 100, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) Document's license notice requires Cover Texts, you must enclose the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) copies in covers that carry, clearly and legibly, all these Cover
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) the back cover.  Both covers must also clearly and legibly identify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) you as the publisher of these copies.  The front cover must present
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) the full title with all words of the title equally prominent and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) visible.  You may add other material on the covers in addition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) Copying with changes limited to the covers, as long as they preserve
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) the title of the Document and satisfy these conditions, can be treated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) as verbatim copying in other respects.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) If the required texts for either cover are too voluminous to fit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) legibly, you should put the first ones listed (as many as fit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) reasonably) on the actual cover, and continue the rest onto adjacent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) pages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) If you publish or distribute Opaque copies of the Document numbering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) more than 100, you must either include a machine-readable Transparent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) copy along with each Opaque copy, or state in or with each Opaque copy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) a computer-network location from which the general network-using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) public has access to download using public-standard network protocols
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) a complete Transparent copy of the Document, free of added material.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) If you use the latter option, you must take reasonably prudent steps,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) when you begin distribution of Opaque copies in quantity, to ensure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342) that this Transparent copy will remain thus accessible at the stated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) location until at least one year after the last time you distribute an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) Opaque copy (directly or through your agents or retailers) of that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) edition to the public.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) It is requested, but not required, that you contact the authors of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) Document well before redistributing any large number of copies, to give
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) them a chance to provide you with an updated version of the Document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) 4. MODIFICATIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) You may copy and distribute a Modified Version of the Document under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) the conditions of sections 2 and 3 above, provided that you release
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) the Modified Version under precisely this License, with the Modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) Version filling the role of the Document, thus licensing distribution
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) and modification of the Modified Version to whoever possesses a copy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) of it.  In addition, you must do these things in the Modified Version:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) A. Use in the Title Page (and on the covers, if any) a title distinct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362)    from that of the Document, and from those of previous versions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363)    (which should, if there were any, be listed in the History section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364)    of the Document).  You may use the same title as a previous version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365)    if the original publisher of that version gives permission.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) B. List on the Title Page, as authors, one or more persons or entities
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367)    responsible for authorship of the modifications in the Modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368)    Version, together with at least five of the principal authors of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369)    Document (all of its principal authors, if it has fewer than five),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370)    unless they release you from this requirement.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) C. State on the Title page the name of the publisher of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372)    Modified Version, as the publisher.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) D. Preserve all the copyright notices of the Document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) E. Add an appropriate copyright notice for your modifications
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375)    adjacent to the other copyright notices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) F. Include, immediately after the copyright notices, a license notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377)    giving the public permission to use the Modified Version under the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378)    terms of this License, in the form shown in the Addendum below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) G. Preserve in that license notice the full lists of Invariant Sections
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380)    and required Cover Texts given in the Document's license notice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) H. Include an unaltered copy of this License.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) I. Preserve the section Entitled "History", Preserve its Title, and add
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383)    to it an item stating at least the title, year, new authors, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384)    publisher of the Modified Version as given on the Title Page.  If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385)    there is no section Entitled "History" in the Document, create one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386)    stating the title, year, authors, and publisher of the Document as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387)    given on its Title Page, then add an item describing the Modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388)    Version as stated in the previous sentence.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) J. Preserve the network location, if any, given in the Document for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390)    public access to a Transparent copy of the Document, and likewise
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391)    the network locations given in the Document for previous versions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392)    it was based on.  These may be placed in the "History" section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393)    You may omit a network location for a work that was published at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394)    least four years before the Document itself, or if the original
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395)    publisher of the version it refers to gives permission.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) K. For any section Entitled "Acknowledgements" or "Dedications",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397)    Preserve the Title of the section, and preserve in the section all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398)    the substance and tone of each of the contributor acknowledgements
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399)    and/or dedications given therein.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) L. Preserve all the Invariant Sections of the Document,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401)    unaltered in their text and in their titles.  Section numbers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402)    or the equivalent are not considered part of the section titles.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) M. Delete any section Entitled "Endorsements".  Such a section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404)    may not be included in the Modified Version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) N. Do not retitle any existing section to be Entitled "Endorsements"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406)    or to conflict in title with any Invariant Section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) O. Preserve any Warranty Disclaimers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) If the Modified Version includes new front-matter sections or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) appendices that qualify as Secondary Sections and contain no material
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) copied from the Document, you may at your option designate some or all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) of these sections as invariant.  To do this, add their titles to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) list of Invariant Sections in the Modified Version's license notice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) These titles must be distinct from any other section titles.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) You may add a section Entitled "Endorsements", provided it contains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) nothing but endorsements of your Modified Version by various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) parties--for example, statements of peer review or that the text has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) been approved by an organization as the authoritative definition of a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) standard.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) You may add a passage of up to five words as a Front-Cover Text, and a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) passage of up to 25 words as a Back-Cover Text, to the end of the list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) of Cover Texts in the Modified Version.  Only one passage of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) Front-Cover Text and one of Back-Cover Text may be added by (or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) through arrangements made by) any one entity.  If the Document already
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) includes a cover text for the same cover, previously added by you or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) by arrangement made by the same entity you are acting on behalf of,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) you may not add another; but you may replace the old one, on explicit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) permission from the previous publisher that added the old one.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) The author(s) and publisher(s) of the Document do not by this License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) give permission to use their names for publicity for or to assert or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) imply endorsement of any Modified Version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) 5. COMBINING DOCUMENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) You may combine the Document with other documents released under this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) License, under the terms defined in section 4 above for modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) versions, provided that you include in the combination all of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) Invariant Sections of all of the original documents, unmodified, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) list them all as Invariant Sections of your combined work in its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) license notice, and that you preserve all their Warranty Disclaimers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) The combined work need only contain one copy of this License, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) multiple identical Invariant Sections may be replaced with a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) copy.  If there are multiple Invariant Sections with the same name but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) different contents, make the title of each such section unique by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) adding at the end of it, in parentheses, the name of the original
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) author or publisher of that section if known, or else a unique number.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) Make the same adjustment to the section titles in the list of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) Invariant Sections in the license notice of the combined work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) In the combination, you must combine any sections Entitled "History"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) in the various original documents, forming one section Entitled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) "History"; likewise combine any sections Entitled "Acknowledgements",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) and any sections Entitled "Dedications".  You must delete all sections
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) Entitled "Endorsements".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) 6. COLLECTIONS OF DOCUMENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) You may make a collection consisting of the Document and other documents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) released under this License, and replace the individual copies of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) License in the various documents with a single copy that is included in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) the collection, provided that you follow the rules of this License for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) verbatim copying of each of the documents in all other respects.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) You may extract a single document from such a collection, and distribute
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) it individually under this License, provided you insert a copy of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) License into the extracted document, and follow this License in all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) other respects regarding verbatim copying of that document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) 7. AGGREGATION WITH INDEPENDENT WORKS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) A compilation of the Document or its derivatives with other separate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) and independent documents or works, in or on a volume of a storage or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) distribution medium, is called an "aggregate" if the copyright
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) resulting from the compilation is not used to limit the legal rights
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) of the compilation's users beyond what the individual works permit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) When the Document is included in an aggregate, this License does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) apply to the other works in the aggregate which are not themselves
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) derivative works of the Document.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) If the Cover Text requirement of section 3 is applicable to these
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) copies of the Document, then if the Document is less than one half of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) the entire aggregate, the Document's Cover Texts may be placed on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) covers that bracket the Document within the aggregate, or the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) electronic equivalent of covers if the Document is in electronic form.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) Otherwise they must appear on printed covers that bracket the whole
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) aggregate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) 8. TRANSLATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) Translation is considered a kind of modification, so you may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) distribute translations of the Document under the terms of section 4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) Replacing Invariant Sections with translations requires special
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) permission from their copyright holders, but you may include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) translations of some or all Invariant Sections in addition to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) original versions of these Invariant Sections.  You may include a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) translation of this License, and all the license notices in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) Document, and any Warranty Disclaimers, provided that you also include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) the original English version of this License and the original versions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) of those notices and disclaimers.  In case of a disagreement between
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) the translation and the original version of this License or a notice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) or disclaimer, the original version will prevail.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) If a section in the Document is Entitled "Acknowledgements",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) "Dedications", or "History", the requirement (section 4) to Preserve
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) its Title (section 1) will typically require changing the actual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) title.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) 9. TERMINATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) You may not copy, modify, sublicense, or distribute the Document except
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) as expressly provided for under this License.  Any other attempt to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) copy, modify, sublicense or distribute the Document is void, and will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) automatically terminate your rights under this License.  However,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) parties who have received copies, or rights, from you under this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) License will not have their licenses terminated so long as such
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) parties remain in full compliance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) 10. FUTURE REVISIONS OF THIS LICENSE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) The Free Software Foundation may publish new, revised versions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531) of the GNU Free Documentation License from time to time.  Such new
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) versions will be similar in spirit to the present version, but may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) differ in detail to address new problems or concerns.  See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) https://www.gnu.org/copyleft/.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) Each version of the License is given a distinguishing version number.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) If the Document specifies that a particular numbered version of this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538) License "or any later version" applies to it, you have the option of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) following the terms and conditions either of that specified version or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) of any later version that has been published (not as a draft) by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) Free Software Foundation.  If the Document does not specify a version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) number of this License, you may choose any version ever published (not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) as a draft) by the Free Software Foundation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) ADDENDUM: How to use this License for your documents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) To use this License in a document you have written, include a copy of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) the License in the document and put the following copyright and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) license notices just after the title page:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552)     Copyright (c)  YEAR  YOUR NAME.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553)     Permission is granted to copy, distribute and/or modify this document
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554)     under the terms of the GNU Free Documentation License, Version 1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555)     or any later version published by the Free Software Foundation;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556)     with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557)     A copy of the license is included in the section entitled "GNU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558)     Free Documentation License".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) replace the "with...Texts." line with this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563)     with the Invariant Sections being LIST THEIR TITLES, with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564)     Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) If you have Invariant Sections without Cover Texts, or some other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) combination of the three, merge those two alternatives to suit the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) situation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) If your document contains nontrivial examples of program code, we
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) recommend releasing these examples in parallel under your choice of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) free software license, such as the GNU General Public License,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) to permit their use in free software.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) The End.