^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.