/[linux-patches]/genpatches-2.6/trunk/2.6.14-pre/4900_speakup-20050825.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14-pre/4900_speakup-20050825.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 150 - (hide annotations) (download)
Thu Aug 25 21:50:28 2005 UTC (7 years, 8 months ago) by eradicator
Original Path: genpatches-2.6/trunk/2.6.13-pre/4900_speakup-20050825.patch
File size: 465973 byte(s)
Updated speakup snapshot.
1 eradicator 150 diff -Naurp linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/DefaultKeyAssignments linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/DefaultKeyAssignments
2     --- linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/DefaultKeyAssignments 1969-12-31 16:00:00.000000000 -0800
3     +++ linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/DefaultKeyAssignments 2005-08-25 14:06:54.000000000 -0700
4     @@ -0,0 +1,46 @@
5     +This file is intended to give you an overview of the default keys used
6     +by speakup for it's review functions. You may change them to be
7     +anything you want but that will take some familiarity with key
8     +mapping.
9     +
10     +We have remapped the insert or zero key on the keypad to act as a
11     +shift key. Well, actually as an altgr key. So in the following list
12     +InsKeyPad-period means hold down the insert key like a shift key and
13     +hit the keypad period.
14     +
15     +KeyPad-8 Say current Line
16     +InsKeyPad-8 say from top of screen to reading cursor.
17     +KeyPad-7 Say Previous Line (UP one line)
18     +KeyPad-9 Say Next Line (down one line)
19     +KeyPad-5 Say Current Word
20     +InsKeyPad-5 Spell Current Word
21     +KeyPad-4 Say Previous Word (left one word)
22     +InsKeyPad-4 say from left edge of line to reading cursor.
23     +KeyPad-6 Say Next Word (right one word)
24     +InsKeyPad-6 Say from reading cursor to right edge of line.
25     +KeyPad-2 Say Current Letter
26     +InsKeyPad-2 say current letter phonetically
27     +KeyPad-1 Say Previous Character (left one letter)
28     +KeyPad-3 Say Next Character (right one letter)
29     +KeyPad-plus Say Entire Screen
30     +InsKeyPad-plus Say from reading cursor line to bottom of screen.
31     +KeyPad-Minus Park reading cursor (toggle)
32     +InsKeyPad-minus Say character hex and decimal value.
33     +KeyPad-period Say Position (current line, position and console)
34     +InsKeyPad-period say colour attributes of current position.
35     +InsKeyPad-9 Move reading cursor to top of screen (insert pgup)
36     +InsKeyPad-3 Move reading cursor to bottom of screen (insert pgdn)
37     +InsKeyPad-7 Move reading cursor to left edge of screen (insert home)
38     +InsKeyPad-1 Move reading cursor to right edge of screen (insert end)
39     +ControlKeyPad-1 Move reading cursor to last character on current line.
40     +KeyPad-Enter Shut Up (until another key is hit) and sync reading cursor
41     +InsKeyPad-Enter Shut Up (until toggled back on).
42     +InsKeyPad-star n<x|y> go to line (y) or column (x). Where 'n' is any
43     + allowed value for the row or column for your current screen.
44     +KeyPad-/ Mark and Cut screen region.
45     +InsKeyPad-/ Paste screen region into any console.
46     +
47     +Hitting any key while speakup is outputting speech will quiet the
48     +synth until it has caught up with what is being printed on the
49     +console.
50     +
51     diff -Naurp linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/INSTALLATION linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/INSTALLATION
52     --- linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/INSTALLATION 1969-12-31 16:00:00.000000000 -0800
53     +++ linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/INSTALLATION 2005-08-25 14:06:54.000000000 -0700
54     @@ -0,0 +1,108 @@
55     +This document assumes you have had some experience with kernel
56     +compilation and installation. If you have not, I recommend you get
57     +the kernel source and read the README and various documents in the
58     +linux/Documentation directory. In particular the Changes file to make
59     +sure you have the appropriate utilities needed for installing a 2.2.xx
60     +or 2.4xx kernel. It isn't as difficult as you might think. The
61     +kernel README is intimidating the first time but once you get the
62     +steps down, it's really pretty easy. Getting through the "make
63     +config" is the tedious bit.
64     +
65     +The first thing to do is to place a copy of the tarball in the /usr/src
66     +directory which is the directory the linux tree is located in as well.
67     +Next untar speakup by typing:
68     +
69     +tar zxf speakup-1.00.tar.gz
70     +cd speakup-1.00
71     +./install
72     +
73     +Note the dot-slash before the install. This will copy the speakup
74     +directory to the kernel tree and apply the various patches and
75     +components to the appropriate kernel files. Depending on how
76     +experienced you are with kernel compiling and hacking will determine
77     +whether you should bother looking at any failed patches. If this
78     +happens, you should probably write to the speakup mailing list for
79     +help or myself.
80     +
81     +If all of the patch hunks apply successfully then just continue with
82     +the standard steps to compile the kernel with:
83     +
84     +make mrproper
85     +make config
86     +
87     +When you get to the section console speech output, answer 'y' to the
88     +CONFIG_SPEAKUP prompt. You will be given a submenu with the list of
89     +synthesizers which are currently supported. You can include as many
90     +synths in the kernel as you wish but remember each one takes up kernel
91     +space. You can only choose one of the synths as the default or none,
92     +so just type dtlk or whatever is the correct string for the
93     +synthesizer you have. You will also be asked if you wish to build-in
94     +a speakup key map. If you do not say 'y' to this option you will need
95     +to load a speakup map at boot time with whichever mechanism your
96     +distribution uses for loading key maps.
97     +
98     +We have placed the speakup configuration options in make config just
99     +after the vga console choice. For the DoubleTalk PC driver included
100     +by Jim Van Zandt. I recommend you say no to that option. I have not
101     +tried configuring them both in, but I wouldn't be at all surprised if
102     +it didn't work.
103     +
104     +If all goes well up to this point you can continue with the compiling
105     +process by doing:
106     +
107     +make dep >dep.file 2>&1 &
108     +make bzImage >cc.file 2>&1 &
109     +make modules >mod.file 2>&1 &
110     +
111     +I always redirect output to the files dep.file and cc.file so I can
112     +look over the compilation record to make sure there are no errors and
113     +warnings.
114     +
115     +Okay, you are ready to install the newly compiled kernel. Make sure
116     +you make an linux.old entry in your lilo.conf file so you can recover
117     +if it blows up. next as root run "make modules_install" to install
118     +whatever modules you compiled and move the bzImage from
119     +/usr/src/linux/arch/i386/boot to wherever your kernel lives. Also
120     +move the System.map from /usr/src/linux to where your System.map
121     +lives. On our systems we use debian so we create an vmlinuz-speakup
122     +and System.map-speakup in our /boot directory and set the symbolic
123     +links vmlinuz and System.map in the root (/) directory to point to the
124     +images. Now type lilo to tell lilo to build the new booter file and
125     +install it.
126     +
127     +As of version 0.07, the keymap for speakup is automatically built in
128     +at compile time. If you have other keymaps installed at boot time,
129     +you might want to consider removing them before you reboot the system.
130     +
131     +If everything has gone OK up until now, cross your fingers and type:
132     +
133     +shutdown -r now
134     +
135     +Your system should start talking to you as soon as it starts booting.
136     +It will talk and talk and ... well, you might want to hit the
137     +keypad-enter key to tell it to shut up. You should also read the
138     +DefaultKeyAssignments file to learn the various review functions
139     +available.
140     +
141     +As of v-0.10 the speakup configuration options are in the
142     +/proc/speakup subtree. The individual options should be fairly
143     +obvious by their names such as rate, volume, punc_level and so forth.
144     +You can manipulate them by cat'ing or echoing new values to them such
145     +as:
146     +
147     +echo 9 >/proc/speakup/rate
148     +
149     +You can see what the current values are by cat'ing those files to the console:
150     +
151     +cat /proc/speakup/rate
152     +
153     +I have probably managed to overlook a whole whack of things because
154     +this is the, enter version number here, draft. Don't worry we'll get
155     +it right eventually. If you like the package you really should get on
156     +the mailing list and start participating in it's development.
157     +
158     + Kirk
159     +
160     +email: kirk@braille.uwo.ca
161     +phone: (519) 679-6845 (home)
162     +
163     diff -Naurp linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/README linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/README
164     --- linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/README 1969-12-31 16:00:00.000000000 -0800
165     +++ linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/README 2005-08-25 14:06:54.000000000 -0700
166     @@ -0,0 +1,98 @@
167     +Welcome to the speakup project for the Speakup speech package for Linux.
168     +
169     +Speakup is written by Kirk Reiser and Andy Berdan. It is licensed
170     +under the GPL. If you don't already know, the GPL stands for the GNU
171     +General Public License. Which basically states that this code is free to
172     +copy, modify and distribute to anyone interested in playing with it.
173     +The one thing you may not do is turn any part of it into proprietary
174     +or commercial code without the permission of the author. That's me.
175     +
176     +If you are interested in being involved with the development of speech
177     +output for Linux you can subscribe to the Speakup mailing list by
178     +sending a message to speakup-request@braille.uwo.ca with the line: subscribe. You can also subscribe by going to the speakup web page and following the links at http://www.linux-speakup.org.
179     +
180     +We are at a very early stage in the development of this package.
181     +Hopefully changes will happen often and many. The current files in
182     +this directory are:
183     +
184     +DefaultKeyAssignments # speakup's default review keys
185     +INSTALLATION # for installing speakup from the tar ball.
186     +README # this file
187     +keymap-tutorial # a tutorial on how to layout the keyboard
188     +
189     +Read the INSTALLATION file to learn how to apply the patches and the
190     +default.map for the keyboard. You should also read the Changes file.
191     +It really has any new things I've added since last time.
192     +
193     +There is no documentation in any of these files to instruct you what
194     +to do if something goes wrong with the patching or compilation. If
195     +you would like that information you will need to subscribe to the
196     +mailing list and ask for help, or write me kirk@braille.uwo.ca for
197     +help. I suggest the mailing list because I will probably tire quickly
198     +of answering the same questions over and over. You could always
199     +decide to dig-in and take on the task, and write documentation to help
200     +others.
201     +
202     +There also is a speakup reflector for the Speak Freely package, which
203     +many of us hang out on and discuss all sorts of topics from speakup
204     +problems to ALSA driver installation and just about anything else
205     +you'd like to talk about. The reflector is at lwl.braille.uwo.ca:4074
206     +with it's lwl page at lwl.braille.uwo.ca/speakup.html. Come and join
207     +us, it's fun!
208     +
209     +Acknowledgements:
210     +
211     +I am really very new at kernel hacking and screen review package
212     +writing, so I have depended heavily on other folks kindness to help me
213     +a long. No doubt I will continue to abuse them freely and others
214     +before this is a really good speech solution for Linux. (Oh Well!,
215     +somebody's got to do it.)
216     +
217     +Theodore Ts'o. He gave me a good discussion of unicode and UTF and
218     +the like. He doesn't even remember writing me about it.
219     +
220     +Alan Cox. He has answered many questions about scheduling and wait
221     +queues and timers along with code fragments and so on. I just wish I
222     +understood it all totally. He has also helped immensely in moving
223     +this package toward inclusion in the standard kernel tree. (Maybe next
224     +release!)
225     +
226     +Martin Mares. He pointed me in the right direction to figuring out
227     +the colour attributes and other useful tidbits.
228     +
229     +Paul McDermott. He really is the catalyst for me to actually get
230     +this all working. Besides I like seeing him bounce around and get all
231     +excited every time I have something new working.
232     +
233     +John Covici, He was the first person to actually attempt writing
234     +another synthesizer driver for speakup. It was the Speakout driver so
235     +it was also the first serial driver.
236     +
237     +Brian Borowski, he was the first person to actually write a speakup
238     +function other than Andy and I.
239     +
240     +Jim Danley, he has more or less become my main man in helping test
241     +code, add new features, bounce ideas off and generally become a good
242     +friend.
243     +
244     +Matt Campbell, he basically rewrote the drivers to be able to include
245     +all synths in the kernel at the same time. The distribution
246     +maintainers appreciate him a lot as well.
247     +
248     +Gene Collins, he was very helpful debugging the current release prior
249     +to its public showing. He has also worked hard educating others on
250     +the list and writing the ALSA mini howto.
251     +
252     +I would also like to really thank the folks that handle the
253     +distribution packages. I and many other people would not find access
254     +to speakup nearly so convenient without their efforts. They include
255     +Bill Acker, Tom Moore, Matt Campbell, Joe Norton and Joshua Lambert.
256     +
257     +There are probably many more I am forgetting right now. I guess I'll
258     +just have to add you all later.
259     +
260     +
261     +Happy Hacking!
262     +
263     + Kirk
264     +
265     diff -Naurp linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/keymap-tutorial linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/keymap-tutorial
266     --- linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/keymap-tutorial 1969-12-31 16:00:00.000000000 -0800
267     +++ linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/keymap-tutorial 2005-08-25 14:06:54.000000000 -0700
268     @@ -0,0 +1,140 @@
269     + Speakup Keymap Tutorial
270     +
271     +This is meant to be a basic tutorial on how to change the Linux keymap
272     +file to assign speakup review functions to desired keys. It is not
273     +intended to be a replacement for the loadkeys(8) or keymap(5) man
274     +pages.
275     +
276     +The basic lay-out of the keymap file is a series of lines with the
277     +following fields. The keyword keycode indicates this is the start of
278     +a new key assignment. It is then followed by a number which
279     +represents the actual key on the keyboard. That number is followed by
280     +the equals '=' operator and finally a list of keywords representing
281     +key names such as keypad5. Each line can have quite a few key
282     +functions on it. They are interpreted by loadkeys in order and
283     +assigned to key shift states depending on the order they are
284     +encountered. So for example, the first value after the equals is the
285     +keys unshifted state, while the second is the keys shifted state. If
286     +you wish to learn the order they are interpreted in read the
287     +loadkeys(8) and keymap(5) man pages.
288     +
289     +You can have subsequent lines which are indented and start with
290     +another keyword for the various shifted states. This way you can
291     +assign some of the states without having to specify them all in order
292     +up until you get to the one you want to assign.
293     +
294     +In speakup, we have assigned the insert key on the number pad to the
295     +altgr keyword. This is not required; you could choose any other
296     +shifted state keyword. We used altgr because it typically represents
297     +the right hand alt key. In Linux each shift key is separate and
298     +independent, so the left shift and the right shift keys are not
299     +necessarily the same. The altgr key is not really used for anything
300     +important, so we steel it.
301     +
302     +Here are the default key assignments for the number eight on the
303     +keypad:
304     +
305     +keycode 72 = KP_8
306     + alt keycode 72 = Ascii_8
307     +
308     +As you can see, the first line starts with keycode followed by 72
309     +which is the actual number assigned to the key when the keyboard port
310     +is read. The KP_8 after the equal sign, is the symbolic representation
311     +of the function called when that key is hit.
312     +
313     +The second line is the same format except it starts with the keyword
314     +alt which is indented. That means that the function at the end of
315     +that line Ascii_8 is applied to the alt-shifted eight key.
316     +
317     +Now here are the speakup assignments for that key:
318     +
319     +keycode 72 = 0x0d0a
320     + altgr keycode 72 = 0x0d20
321     +#keycode 72 = KP_8
322     + alt keycode 72 = Ascii_8
323     +
324     +Notice that the only thing which has changed on the first line is the
325     +function called when the key is struck. It is a hexadecimal number
326     +identifying the function called in a look up table. It is not a
327     +symbolic representation yet because that means we need to change the
328     +loadkeys program to understand our symbolic names. We will do this in
329     +the future but for now it is more expedient to just use the table
330     +indices. You will find a table at the bottom of this document
331     +listing the review functions and their corresponding hex lookups.
332     +
333     +The 0x0d0a in the first line above is speakup's say line function.
334     +The second line ends with 0x0d20 which is speakup's read from top of
335     +screen to reading cursor line.
336     +
337     +The third line is the original key assignment commented out with a
338     +number-sign '#' at the beginning. I do that so I can easily find the
339     +keys I want to affect by symbolic name. Otherwise I would need to
340     +keep a look up table for all the keycodes. I recommend you do this as
341     +well or you'll be very sorry at some point in the future.
342     +
343     +The forth line is just the standard key assignment for the left hand
344     +alt key.
345     +
346     +Now let's say we want to design a different keyboard layout. I'll use
347     +an example for the JAWS style keypad because I've specifically been
348     +asked to help with that. JAWS uses the eight on the keypad to move up
349     +a line or the speakup function to read previous line. JAWS also uses
350     +the keypad_8 key in a shifted mode to read the current line. I
351     +apologize if these are not quite right. It has been a long time since
352     +I used JAWS. So we would have the following two lines:
353     +
354     +keycode 72 = 0x0d0b
355     + altgr keycode 72 = 0x0d0a
356     +
357     +The hex value 0x0d0b in the first line is speakup's SAY_PREVIOUS_LINE
358     +function. The 0x0d0a in the second line is the same say_line function
359     +as we had earlier. So when the number eight is hit on the keypad
360     +speakup will read the previous line and when the number eight is
361     +shifted with the insert key on the keypad it will read the current
362     +line.
363     +
364     +As you can tell, it is not really very difficult to reassign the keys
365     +to different review functions.
366     +
367     +Once you have carefully edited the keymap file, called default.map in
368     +the speakup distribution, you copy it into the /etc/kbd directory.
369     +Make sure you back up the original default.map from that directory
370     +first, if there is one. Then you run loadkeys to load the new map
371     +into the kernel:
372     +
373     +loadkeys /etc/kbd/default.map
374     +
375     +If you wish to build your new keyboard lay-out into the kernel, after
376     +testing it, copy the default.map file into the drivers/char directory,
377     +with the name defkeymap.map, of your Linux source tree. Then rm the
378     +defkeymap.c file and recompile the kernel. Because there is no
379     +defkeymap.c `make' will rebuild it on the next compile.
380     +
381     +Here is a list of the available speakup review functions at this point
382     +in time.
383     +
384     +SAY_CHAR 0x0d04 /* say this character */
385     +SAY_PREV_CHAR 0x0d05 /* say character left of this char */
386     +SAY_NEXT_CHAR 0x0d06 /* say char right of this char */
387     +SAY_WORD 0x0d07 /* say this word under reading cursor */
388     +SAY_PREV_WORD 0x0d08
389     +SAY_NEXT_WORD 0x0d09
390     +SAY_LINE 0x0d0a /* say this line */
391     +SAY_PREV_LINE 0x0d0b /* say line above this line */
392     +SAY_NEXT_LINE 0x0d0c
393     +TOP_EDGE 0x0d0d /* move to top edge of screen */
394     +BOTTOM_EDGE 0x0d0e
395     +LEFT_EDGE 0x0d0f
396     +RIGHT_EDGE 0x0d10
397     +SAY_PHONETIC_CHAR 0x0d11 /* say this character phonetically */
398     +SPELL_WORD 0x0d12 /* spell this word letter by letter */
399     +SAY_SCREEN 0x0d14
400     +SAY_POSITION 0x0d1b
401     +SPEECH_OFF 0x0d1c
402     +SAY_ATTRIBUTES 0x0d1d
403     +SPEAKUP_PARKED 0x0d1e
404     +SAY_FROM_TOP 0x0d20
405     +SAY_TO_BOTTOM 0x0d21
406     +SAY_FROM_LEFT 0x0d22
407     +SAY_TO_RIGHT 0x0d23
408     +
409     diff -Naurp linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/spkguide.txt linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/spkguide.txt
410     --- linux-2.6.13-rc6-git13-gentoo/Documentation/speakup/spkguide.txt 1969-12-31 16:00:00.000000000 -0800
411     +++ linux-2.6.13-rc6-git13-gentoo-speakup/Documentation/speakup/spkguide.txt 2005-08-25 14:06:54.000000000 -0700
412     @@ -0,0 +1,1279 @@
413     +
414     +The Speakup User's Guide
415     +For Speakup 2.0 and Later
416     +By Gene Collins
417     +Last modified on Tue Mar 29 10:54:19 2005
418     +Document version 1.0
419     +
420     +Copyright (c) 2005 Gene Collins
421     +
422     +Permission is granted to copy, distribute and/or modify this document
423     +under the terms of the GNU Free Documentation License, Version 1.2 or
424     +any later version published by the Free Software Foundation; with no
425     +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
426     +copy of the license is included in the section entitled "GNU Free
427     +Documentation License".
428     +
429     +Preface
430     +
431     +The purpose of this document is to familiarize users with the user
432     +interface to Speakup, a Linux Screen Reader. If you need instructions
433     +for installing or obtaining Speakup, visit the web site at
434     +http://linux-speakup.org/. Speakup is a set of patches to the standard
435     +Linux kernel source tree. It can be built as a series of modules, or as
436     +a part of a monolithic kernel. These details are beyond the scope of
437     +this manual, but the user may need to be aware of the module
438     +capabilities, depending on how your system administrator has installed
439     +Speakup. If Speakup is built as a part of a monolithic kernel, and the
440     +user is using a hardware synthesizer, then Speakup will be able to
441     +provide speech access from the time the kernel is loaded, until the time
442     +the system is shutdown. This means that if you have obtained Linux
443     +installation media for a distribution which includes Speakup as a part
444     +of its kernel, you will be able, as a blind person, to install Linux
445     +with speech access unaided by a sighted person. Again, these details
446     +are beyond the scope of this manual, but the user should be aware of
447     +them. See the web site mentioned above for further details.
448     +
449     +1. Starting Speakup
450     +
451     +If your system administrator has installed Speakup to work with your
452     +specific synthesizer by default, then all you need to do to use Speakup
453     +is to boot your system, and Speakup should come up talking. This
454     +assumes of course that your synthesizer is a supported hardware
455     +synthesizer, and that it is either installed in or connected to your
456     +system, and is if necessary powered on.
457     +
458     +It is possible, however, that Speakup may have been compiled into the
459     +kernel with no default synthesizer. It is even possible that your
460     +kernel has been compiled with support for some of the supported
461     +synthesizers and not others. If you find that this is the case, and
462     +your synthesizer is supported but not available, complain to the person
463     +who compiled and installed your kernel. Or better yet, go to the web
464     +site, and learn how to patch Speakup into your own kernel source, and
465     +build and install your own kernel.
466     +
467     +If your kernel has been compiled with Speakup, and has no default
468     +synthesizer set, or you would like to use a different synthesizer than
469     +the default one, then you may issue the following command at the boot
470     +prompt of your boot loader.
471     +
472     +linux speakup_synth=ltlk
473     +
474     +This command would tell Speakup to look for and use a LiteTalk or
475     +DoubleTalk LT at boot up. You may replace the ltlk synthesizer keyword
476     +with the keyword for whatever synthesizer you wish to use. The
477     +speakup_synth parameter will accept the following keywords, provided
478     +that support for the related synthesizers has been built into the
479     +kernel.
480     +
481     +acntsa -- Accent SA
482     +acntpc -- Accent PC
483     +apolo -- Apolo
484     +audptr -- Audapter
485     +bns -- Braille 'n Speak
486     +dectlk -- DecTalk Express (old and new, db9 serial only)
487     +decext -- DecTalk (old) External
488     +dtlk -- DoubleTalk PC
489     +keypc -- Keynote Gold PC
490     +ltlk -- DoubleTalk LT, LiteTalk, or external Tripletalk (db9 serial only)
491     +spkout -- Speak Out
492     +txprt -- Transport
493     +
494     +Note: Speakup does * NOT * support usb connections! Speakup also does *
495     +NOT * support the internal Tripletalk!
496     +
497     +Speakup does support two other synthesizers, but because they work in
498     +conjunction with other software, they must be loaded as modules after
499     +their related software is loaded, and so are not available at boot up.
500     +These are as follows:
501     +
502     +decpc -- DecTalk PC (not available at boot up)
503     +sftsyn -- One of several software synthesizers (not available at boot up)
504     +
505     +See the sections on loading modules and software synthesizers later in
506     +this manual for further details. It should be noted here that the
507     +speakup_synth boot parameter will have no effect if Speakup has been
508     +compiled as modules. In order for Speakup modules to be loaded during
509     +the boot process, such action must be configured by your system
510     +administrator. This will mean that you will hear some, but not all, of
511     +the bootup messages.
512     +
513     +2. Basic operation
514     +
515     +Once you have booted the system, and if necessary, have supplied the
516     +proper bootup parameter for your synthesizer, Speakup will begin
517     +talking as soon as the kernel is loaded. In fact, it will talk a lot!
518     +It will speak all the boot up messages that the kernel prints on the
519     +screen during the boot process. This is because Speakup is not a
520     +separate screen reader, but is actually built into the operating
521     +system. Since almost all console applications must print text on the
522     +screen using the kernel, and must get their keyboard input through the
523     +kernel, they are automatically handled properly by Speakup. There are a
524     +few exceptions, but we'll come to those later.
525     +
526     +Note: In this guide I will refer to the numeric keypad as the keypad.
527     +This is done because the speakupmap.map file referred to later in this
528     +manual uses the term keypad instead of numeric keypad. Also I'm lazy
529     +and would rather only type one word. So keypad it is. Got it? Good.
530     +
531     +Most of the Speakup review keys are located on the keypad at the far
532     +right of the keyboard. The numlock key should be off, in order for these
533     +to work. If you toggle the numlock on, the keypad will produce numbers,
534     +which is exactly what you want for spreadsheets and such. For the
535     +purposes of this guide, you should have the numlock turned off, which is
536     +its default state at bootup.
537     +
538     +You probably won't want to listen to all the bootup messages every time
539     +you start your system, though it's a good idea to listen to them at
540     +least once, just so you'll know what kind of information is available to
541     +you during the boot process. You can always review these messages after
542     +bootup with the command:
543     +
544     +dmesg | more
545     +
546     +In order to speed the boot process, and to silence the speaking of the
547     +bootup messages, just press the keypad enter key. This key is located
548     +in the bottom right corner of the keypad. Speakup will shut up and stay
549     +that way, until you press another key.
550     +
551     +You can check to see if the boot process has completed by pressing the 8
552     +key on the keypad, which reads the current line. This also has the
553     +effect of starting Speakup talking again, so you can press keypad enter
554     +to silence it again if the boot process has not completed.
555     +
556     +When the boot process is complete, you will arrive at a "login" prompt.
557     +At this point, you'll need to type in your user id and password, as
558     +provided by your system administrator. You will hear Speakup speak the
559     +letters of your user id as you type it, but not the password. This is
560     +because the password is not displayed on the screen for security
561     +reasons. This has nothing to do with Speakup, it's a Linux security
562     +feature.
563     +
564     +Once you've logged in, you can run any Linux command or program which is
565     +allowed by your user id. Normal users will not be able to run programs
566     +which require root privileges.
567     +
568     +When you are running a program or command, Speakup will automatically
569     +speak new text as it arrives on the screen. You can at any time silence
570     +the speech with keypad enter, or use any of the Speakup review keys.
571     +
572     +Here are some basic Speakup review keys, and a short description of what
573     +they do.
574     +
575     +keypad 1 -- read previous character
576     +keypad 2 -- read current character (pressing keypad 2 twice rapidly will speak
577     + the current character phonetically)
578     +keypad 3 -- read next character
579     +keypad 4 -- read previous word
580     +keypad 5 -- read current word (press twice rapidly to spell the current word)
581     +keypad 6 -- read next word
582     +keypad 7 -- read previous line
583     +keypad 8 -- read current line (press twice rapidly to hear how much the
584     + text on the current line is indented)
585     +keypad 9 -- read next line
586     +keypad period -- speak current cursor position and announce current
587     + virtual console
588     +
589     +It's also worth noting that the insert key on the keypad is mapped
590     +as the speakup key. Instead of pressing and releasing this key, as you
591     +do under DOS or Windows, you hold it like a shift key, and press other
592     +keys in combination with it. For example, repeatedly holding keypad
593     +insert, from now on called speakup, and keypad enter will toggle the
594     +speaking of new text on the screen on and off. This is not the same as
595     +just pressing keypad enter by itself, which just silences the speech
596     +until you hit another key. When you hit speakup plus keypad enter,
597     +Speakup will say, "You turned me off.", or "Hey, that's better." When
598     +Speakup is turned off, no new text on the screen will be spoken. You
599     +can still use the reading controls to review the screen however.
600     +
601     +3. Using the Speakup Help System
602     +
603     +Speakup has a help system, which is compiled as a module. It is loaded
604     +automatically whenever the Speakup help system is invoked for the first
605     +time, and remains loaded after that, until speakup is unloaded. Note
606     +that if speakup was compiled into a monolithic kernel on your system,
607     +you will not be able to unload Speakup from your kernel. If you try to
608     +use the help system, and find that it is unavailable, then your system
609     +administrator has not installed the Speakup help module, which is called
610     +speakup_help. Complain to your system administrator about this.
611     +
612     +In order to enter the Speakup help system, press and hold the speakup
613     +key (remember that this is the keypad insert key), and press the f1 key.
614     +You will hear the message:
615     +
616     +"Press space to leave help, cursor up or down to scroll, or a letter to
617     +go to commands in list."
618     +
619     +When you press the spacebar to leave the help system, you will hear:
620     +
621     +"Leaving help."
622     +
623     +While you are in the Speakup help system, you can scroll up or down
624     +through the list of available commands using the cursor keys. The list
625     +of commands is arranged in alphabetical order. If you wish to jump to
626     +commands in a specific part of the alphabet, you may press the letter of
627     +the alphabet you wish to jump to.
628     +
629     +You can also just explore by typing keyboard keys. Pressing keys will
630     +cause Speakup to speak the command associated with that key. For
631     +example, if you press the keypad 8 key, you will hear:
632     +
633     +"Keypad 8 is line, say current."
634     +
635     +You'll notice that some commands do not have keys assigned to them.
636     +This is because they are very infrequently used commands, and are also
637     +accessible through the proc system. We'll discuss the proc system later
638     +in this manual.
639     +
640     +You'll also notice that some commands have two keys assigned to them.
641     +This is because Speakup has a built in set of alternative key bindings
642     +for laptop users. The alternate speakup key is the caps lock key. You
643     +can press and hold the caps lock key, while pressing an alternate
644     +speakup command key to activate the command. On most laptops, the
645     +numeric keypad is defined as the keys in the j k l area of the keyboard.
646     +
647     +There is usually a function key which turns this keypad function on and
648     +off, and some other key which controls the numlock state. Toggling the
649     +keypad functionality on and off can become a royal pain. So, Speakup
650     +gives you a simple way to get at an alternative set of key mappings for
651     +your laptop. These are also available by default on desktop systems,
652     +because Speakup does not know whether it is running on a desktop or
653     +laptop. So you may choose which set of Speakup keys to use. Some
654     +system administrators may have chosen to compile Speakup for a desktop
655     +system without this set of alternate key bindings, but these details are
656     +beyond the scope of this manual. To use the caps lock for its normal
657     +purpose, hold the shift key while toggling the caps lock on and off. We
658     +should note here, that holding the caps lock key and pressing the z key
659     +will toggle the alternate j k l keypad on and off.
660     +
661     +4. Keys and Their Assigned Commands
662     +
663     +In this section, we'll go through a list of all the speakup keys and
664     +commands. You can also get a list of commands and assigned keys from
665     +the help system.
666     +
667     +The following list was taken from the speakupmap.map file. Key
668     +assignments are on the left of the equal sign, and the associated
669     +Speakup commands are on the right. The designation "spk" means to press
670     +and hold the speakup key, a.k.a. keypad insert, a.k.a. caps lock, while
671     +pressing the other specified key.
672     +
673     +spk key_f9 = punc_level_dec
674     +spk key_f10 = punc_level_inc
675     +spk key_f11 = reading_punc_dec
676     +spk key_f12 = reading_punc_inc
677     +spk key_1 = vol_dec
678     +spk key_2 = vol_inc
679     +spk key_3 = pitch_dec
680     +spk key_4 = pitch_inc
681     +spk key_5 = rate_dec
682     +spk key_6 = rate_inc
683     +key_kpasterisk = toggle_cursoring
684     +spk key_kpasterisk = speakup_goto
685     +spk key_f1 = speakup_help
686     +spk key_f2 = set_win
687     +spk key_f3 = clear_win
688     +spk key_f4 = enable_win
689     +spk key_f5 = edit_some
690     +spk key_f6 = edit_most
691     +spk key_f7 = edit_delim
692     +spk key_f8 = edit_repeat
693     +shift spk key_f9 = edit_exnum
694     + key_kp7 = say_prev_line
695     +spk key_kp7 = left_edge
696     + key_kp8 = say_line
697     +double key_kp8 = say_line_indent
698     +spk key_kp8 = say_from_top
699     + key_kp9 = say_next_line
700     +spk key_kp9 = top_edge
701     + key_kpminus = speakup_parked
702     +spk key_kpminus = say_char_num
703     + key_kp4 = say_prev_word
704     +spk key_kp4 = say_from_left
705     + key_kp5 = say_word
706     +double key_kp5 = spell_word
707     +spk key_kp5 = spell_phonetic
708     + key_kp6 = say_next_word
709     +spk key_kp6 = say_to_right
710     + key_kpplus = say_screen
711     +spk key_kpplus = say_win
712     + key_kp1 = say_prev_char
713     +spk key_kp1 = right_edge
714     + key_kp2 = say_char
715     +spk key_kp2 = say_to_bottom
716     +double key_kp2 = say_phonetic_char
717     + key_kp3 = say_next_char
718     +spk key_kp3 = bottom_edge
719     + key_kp0 = spk_key
720     + key_kpdot = say_position
721     +spk key_kpdot = say_attributes
722     +key_kpenter = speakup_quiet
723     +spk key_kpenter = speakup_off
724     +key_sysrq = speech_kill
725     + key_kpslash = speakup_cut
726     +spk key_kpslash = speakup_paste
727     +spk key_pageup = say_first_char
728     +spk key_pagedown = say_last_char
729     +key_capslock = spk_key
730     + spk key_z = spk_lock
731     +key_leftmeta = spk_key
732     +ctrl spk key_0 = speakup_goto
733     +spk key_u = say_prev_line
734     +spk key_i = say_line
735     +double spk key_i = say_line_indent
736     +spk key_o = say_next_line
737     +spk key_minus = speakup_parked
738     +shift spk key_minus = say_char_num
739     +spk key_j = say_prev_word
740     +spk key_k = say_word
741     +double spk key_k = spell_word
742     +spk key_l = say_next_word
743     +spk key_m = say_prev_char
744     +spk key_comma = say_char
745     +double spk key_comma = say_phonetic_char
746     +spk key_dot = say_next_char
747     +spk key_n = say_position
748     + ctrl spk key_m = left_edge
749     + ctrl spk key_y = top_edge
750     + ctrl spk key_dot = right_edge
751     +ctrl spk key_p = bottom_edge
752     +spk key_apostrophe = say_screen
753     +spk key_h = say_from_left
754     +spk key_y = say_from_top
755     +spk key_semicolon = say_to_right
756     +spk key_p = say_to_bottom
757     +spk key_slash = say_attributes
758     + spk key_enter = speakup_quiet
759     + ctrl spk key_enter = speakup_off
760     + spk key_9 = speakup_cut
761     +spk key_8 = speakup_paste
762     +shift spk key_m = say_first_char
763     + ctrl spk key_semicolon = say_last_char
764     +
765     +5. The Speakup Proc System
766     +
767     +The Speakup screen reader also creates a speakup subdirectory as a part
768     +of the proc system. You can see these entries by typing the command:
769     +
770     +ls -1 /proc/speakup/*
771     +
772     +If you issue the above ls command, you will get back something like
773     +this:
774     +
775     +/proc/speakup/attrib_bleep
776     +/proc/speakup/bell_pos
777     +/proc/speakup/bleep_time
778     +/proc/speakup/bleeps
779     +/proc/speakup/caps_start
780     +/proc/speakup/caps_stop
781     +/proc/speakup/characters
782     +/proc/speakup/cursor_time
783     +/proc/speakup/delay_time
784     +/proc/speakup/delimiters
785     +/proc/speakup/ex_num
786     +/proc/speakup/freq
787     +/proc/speakup/full_time
788     +/proc/speakup/jiffy_delta
789     +/proc/speakup/key_echo
790     +/proc/speakup/keymap
791     +/proc/speakup/no_interrupt
792     +/proc/speakup/pitch
793     +/proc/speakup/punc_all
794     +/proc/speakup/punc_level
795     +/proc/speakup/punc_most
796     +/proc/speakup/punc_some
797     +/proc/speakup/punct
798     +/proc/speakup/rate
799     +/proc/speakup/reading_punc
800     +/proc/speakup/repeats
801     +/proc/speakup/say_control
802     +/proc/speakup/say_word_ctl
803     +/proc/speakup/silent
804     +/proc/speakup/spell_delay
805     +/proc/speakup/synth_direct
806     +/proc/speakup/synth_name
807     +/proc/speakup/tone
808     +/proc/speakup/trigger_time
809     +/proc/speakup/version
810     +/proc/speakup/voice
811     +/proc/speakup/vol
812     +
813     +In addition to using the Speakup hot keys to change such things as
814     +volume, pitch, and rate, you can also echo values to the appropriate
815     +entry in the /proc/speakup directory. This is very useful, since it
816     +lets you control Speakup parameters from within a script. How you
817     +would write such scripts is somewhat beyond the scope of this manual,
818     +but I will include a couple of simple examples here to give you a
819     +general idea of what such scripts can do.
820     +
821     +Suppose for example, that you wanted to control both the punctuation
822     +level and the reading punctuation level at the same time. For
823     +simplicity, we'll call them punc0, punc1, punc2, and punc3. The scripts
824     +might look something like this:
825     +
826     +#!/bin/bash
827     +# punc0
828     +# set punc and reading punc levels to 0
829     +echo 0 >/proc/speakup/punc_level
830     +echo 0 >/proc/speakup/reading_punc
831     +echo Punctuation level set to 0.
832     +
833     +#!/bin/bash
834     +# punc1
835     +# set punc and reading punc levels to 1
836     +echo 1 >/proc/speakup/punc_level
837     +echo 1 >/proc/speakup/reading_punc
838     +echo Punctuation level set to 1.
839     +
840     +#!/bin/bash
841     +# punc2
842     +# set punc and reading punc levels to 2
843     +echo 2 >/proc/speakup/punc_level
844     +echo 2 >/proc/speakup/reading_punc
845     +echo Punctuation level set to 2.
846     +
847     +#!/bin/bash
848     +# punc3
849     +# set punc and reading punc levels to 3
850     +echo 3 >/proc/speakup/punc_level
851     +echo 3 >/proc/speakup/reading_punc
852     +echo Punctuation level set to 3.
853     +
854     +If you were to store these four small scripts in a directory in your
855     +path, perhaps /usr/local/bin, and set the permissions to 755 with the
856     +chmod command, then you could change the default reading punc and
857     +punctuation levels at the same time by issuing just one command. For
858     +example, if you were to execute the punc3 command at your shell prompt,
859     +then the reading punc and punc level would both get set to 3.
860     +
861     +I should note that the above scripts were written to work with bash, but
862     +regardless of which shell you use, you should be able to do something
863     +similar.
864     +
865     +The Speakup proc system also has another interesting use. You can echo
866     +Speakup parameters into the proc system in a script during system
867     +startup, and speakup will return to your preferred parameters every time
868     +the system is rebooted.
869     +
870     +Most of the Speakup proc parameters can be manipulated by a regular user
871     +on the system. However, there are a few parameters that are dangerous
872     +enough that they should only be manipulated by the root user on your
873     +system. There are even some parameters that are read only, and cannot
874     +be written to at all. For example, the version entry in the Speakup
875     +proc system is read only. This is because there is no reason for a user
876     +to tamper with the version number which is reported by Speakup. Doing
877     +an ls -l on /proc/speakup/version will return this:
878     +
879     +-r--r--r-- 1 root root 0 Mar 21 13:46 /proc/speakup/version
880     +
881     +As you can see, the version entry in the Speakup proc system is read
882     +only, is owned by root, and belongs to the root group. Doing a cat of
883     +/proc/speakup/version will display the Speakup version number, like
884     +this:
885     +
886     +cat /proc/speakup/version
887     +Speakup v-2.00 CVS: Thu Oct 21 10:38:21 EDT 2004
888     +synth dtlk version 1.1
889     +
890     +The display shows the Speakup version number, along with the version
891     +number of the driver for the current synthesizer.
892     +
893     +Looking at entries in the Speakup proc system can be useful in many
894     +ways. For example, you might wish to know what level your volume is set
895     +at. You could type:
896     +
897     +cat /proc/speakup/vol
898     +5
899     +
900     +The number five which comes back is the level at which the synthesizer
901     +volume is set at.
902     +
903     +All the entries in the Speakup proc system are readable, some are
904     +writable by root only, and some are writable by everyone. Unless you
905     +know what you are doing, you should probably leave the ones that are
906     +writable by root only alone. Most of the names are self explanatory.
907     +Vol for controlling volume, pitch for pitch, rate for controlling speaking
908     +rate, etc. If you find one you aren't sure about, you can post a query
909     +on the Speakup list.
910     +
911     +6. Changing Synthesizers
912     +
913     +It is possible to change to a different synthesizer while speakup is
914     +running. In other words, it is not necessary to reboot the system
915     +in order to use a different synthesizer. You can simply echo the
916     +synthesizer keyword to the /proc/speakup/synth_name proc entry.
917     +Depending on your situation, you may wish to echo none to the synth_name
918     +proc entry, to disable speech while one synthesizer is disconnected and
919     +a second one is connected in its place. Then echo the keyword for the
920     +new synthesizer into the synth_name proc entry in order to start speech
921     +with the newly connected synthesizer. See the list of synthesizer
922     +keywords in section 1 to find the keyword which matches your synth.
923     +
924     +7. Loading modules
925     +
926     +As mentioned earlier, Speakup can either be completely compiled into the
927     +kernel, with the exception of the help module, or it can be compiled as
928     +a series of modules. When compiled as modules, Speakup will only be
929     +able to speak some of the bootup messages if your system administrator
930     +has configured the system to load the modules at boo time. The modules
931     +can be loaded after the file systems have been checked and mounted, or
932     +from an initrd. There is a third possibility. Speakup can be compiled
933     +with some components built into the kernel, and others as modules. As
934     +we'll see in the next section, this is particularly useful when you are
935     +working with software synthesizers.
936     +
937     +If Speakup is completely compiled as modules, then you must use the
938     +modprobe command to load Speakup. You do this by loading the module for
939     +the synthesizer driver you wish to use. The driver modules are all
940     +named speakup_<keyword>, where <keyword> is the keyword for the
941     +synthesizer you want. So, in order to load the driver for the DecTalk
942     +Express, you would type the following command:
943     +
944     +modprobe speakup_dectlk
945     +
946     +Issuing this command would load the DecTalk Express driver and all other
947     +related Speakup modules necessary to get Speakup up and running.
948     +
949     +To completely unload Speakup, again presuming that it is entirely built
950     +as modules, you would give the command:
951     +
952     +modprobe -r speakup_dectlk
953     +
954     +The above command assumes you were running a DecTalk Express. If you
955     +were using a different synth, then you would substitute its keyword in
956     +place of dectlk.
957     +
958     +But now, suppose we have a situation where the main Speakup component
959     +is built into the kernel, and some or all of the drivers are built as
960     +modules. Since the main part of Speakup is compiled into the kernel, a
961     +partial Speakup proc system has been created which we can take advantage
962     +of by simply echoing the synthesizer keyword into the
963     +/proc/speakup/synth_name proc entry. This will cause the kernel to
964     +automatically load the appropriate driver module, and start Speakup
965     +talking. To switch to another synth, just echo a new keyword to the
966     +synth_name proc entry. For example, to load the DoubleTalk LT driver,
967     +you would type:
968     +
969     +echo ltlk >/proc/speakup/synth_name
970     +
971     +You can use the modprobe -r command to unload driver modules, regardless
972     +of whether the main part of Speakup has been built into the kernel or
973     +not.
974     +
975     +8. Using Software Synthesizers
976     +
977     +Using a software synthesizer requires that some other software be
978     +installed and running on your system. For this reason, software
979     +synthesizers are not available for use at bootup, or during a system
980     +installation process.
981     +
982     +In order to use a software synthesizer, you must have a package called
983     +Speech Dispatcher running on your system, and it must be configured to
984     +work with one of its supported software synthesizers.
985     +
986     +Two open source synthesizers you might use are Flite and Festival. You
987     +might also choose to purchase the Software DecTalk from Fonix Sales Inc.
988     +If you run a google search for Fonix, you'll find their web site.
989     +
990     +You can obtain a copy of Speech Dispatcher from free(b)soft at
991     +http://www.freebsoft.org/. Follow the installation instructions that
992     +come with Speech Dispatcher in order to install and configure Speech
993     +Dispatcher. You can check out the web site for your Linux distribution
994     +in order to get a copy of either Flite or Festival. Your Linux
995     +distribution may also have a precompiled Speech Dispatcher package.
996     +
997     +Once you've installed, configured, and tested Speech Dispatcher with your
998     +chosen software synthesizer, you still need one more piece of software
999     +in order to make things work. You need a package called speechd-up.
1000     +You get it from the free(b)soft web site mentioned above. After you've
1001     +compiled and installed speechd-up, you are almost ready to begin using
1002     +your software synthesizer.
1003     +
1004     +Before you can use a software synthesizer, you must have created the
1005     +/dev/softsynth device. If you have not already done so, issue the
1006     +following commands as root:
1007     +
1008     +cd /dev
1009     +mknod softsynth c 10 26
1010     +
1011     +While we are at it, we might just as well create the /dev/synth device,
1012     +which can be used to let user space programs send information to your
1013     +synthesizer. To create /dev/synth, change to the /dev directory, and
1014     +issue the following command as root:
1015     +
1016     +mknod synth c 10 25
1017     +
1018     +Now you can begin using your software synthesizer. In order to do so,
1019     +echo the sftsyn keyword to the synth_name proc entry like this:
1020     +
1021     +echo sftsyn >/proc/speakup/synth_name
1022     +
1023     +Next run the speechd_up command like this:
1024     +
1025     +speechd_up &
1026     +
1027     +Your synth should now start talking, and you should be able to adjust
1028     +the pitch, rate, etc.
1029     +
1030     +In this section, we have assumed that your copy of Speakup was compiled
1031     +with the speakup_sftsyn component either built into the kernel, or
1032     +compiled as a module.
1033     +
1034     +9. Using The DecTalk PC Card
1035     +
1036     +The DecTalk PC card is an ISA card that is inserted into one of the ISA
1037     +slots in your computer. It requires that the DecTalk PC software be
1038     +installed on your computer, and that the software be loaded onto the
1039     +Dectalk PC card before it can be used.
1040     +
1041     +You can get the dec_pc.tgz file from the linux-speakup.org site. The
1042     +dec_pc.tgz file is in the ~ftp/pub/linux/speakup directory.
1043     +
1044     +After you have downloaded the dec_pc.tgz file, untar it in your home
1045     +directory, and read the Readme file in the newly created dec_pc
1046     +directory.
1047     +
1048     +The easiest way to get the software working is to copy the entire dec_pc
1049     +directory into /user/local/lib. To do this, su to root in your home
1050     +directory, and issue the command:
1051     +
1052     +cp dec_pc /usr/local/lib
1053     +
1054     +You will need to copy the dtload command from the dec_pc directory to a
1055     +directory in your path. Either /usr/bin or /usr/local/bin is a good
1056     +choice.
1057     +
1058     +You can now run the dtload command in order to load the DecTalk PC
1059     +software onto the card. After you have done this, echo the decpc
1060     +keyword to the synth_name entry in the proc system like this:
1061     +
1062     +echo decpc >/proc/speakup/synth_name
1063     +
1064     +Your DecTalk PC should start talking, and then you can adjust the pitch,
1065     +rate, volume, voice, etc. The voice entry in the Speakup proc system
1066     +will accept a number from 0 through 7 for the DecTalk PC synthesizer,
1067     +which will give you access to some of the DecTalk voices.
1068     +
1069     +10. Using Cursor Tracking
1070     +
1071     +In Speakup version 2.0 and later, cursor tracking is turned on by
1072     +default. This means that when you are using an editor, Speakup will
1073     +automatically speak characters as you move left and right with the
1074     +cursor keys, and lines as you move up and down with the cursor keys.
1075     +
1076     +This is extremely useful, and makes editing files a snap. But there are
1077     +times when cursor tracking can get in your way. So Speakup provides a
1078     +toggle to turn cursor tracking on and off. You do this with the keypad
1079     +asterisk key. Pressing this key repeatedly will toggle the cursor
1080     +tracking on and off, and you will hear Speakup say, "cursoring off", and
1081     +"cursoring on".
1082     +
1083     +Some folks like to turn cursor tracking off while they are using the
1084     +lynx web browser. You definitely want to turn cursor tracking off when
1085     +you are using the alsamixer application. Otherwise, you won't be able
1086     +to hear your mixer settings while you are using the arrow keys.
1087     +
1088     +11. Cut and Paste
1089     +
1090     +One of Speakup's more useful features is the ability to cut and paste
1091     +text on the screen. This means that you can capture information from a
1092     +program, and paste that captured text into a different place in the
1093     +program, or into an entirely different program, which may even be
1094     +running on a different console.
1095     +
1096     +For example, in this manual, we have made references to several web
1097     +sites. It would be nice if you could cut and paste these urls into your
1098     +web browser. Speakup does this quite nicely. Suppose you wanted to
1099     +past the following url into your browser:
1100     +
1101     +http://linux-speakup.org/
1102     +
1103     +Use the speakup review keys to position the reading cursor on the first
1104     +character of the above url. When the reading cursor is in position,
1105     +press the keypad slash key once. Speakup will say, "mark". Next,
1106     +position the reading cursor on the rightmost character of the above
1107     +url. Press the keypad slash key once again to actually cut the text
1108     +from the screen. Speakup will say, "cut". Although we call this
1109     +cutting, Speakup does not actually delete the cut text from the screen.
1110     +It makes a copy of the text in a special buffer for later pasting.
1111     +
1112     +Now that you have the url cut from the screen, you can paste it into
1113     +your browser, or even paste the url on a command line as an argument to
1114     +your browser.
1115     +
1116     +Suppose you want to start lynx and go to the Speakup site.
1117     +
1118     +You can switch to a different console with the alt left and right
1119     +arrows, or you can switch to a specific console by typing alt and a
1120     +function key. These are not Speakup commands, just standard Linux
1121     +console capabilities.
1122     +
1123     +Once you've changed to an appropriate console, and are at a shell prompt,
1124     +type the word lynx, followed by a space. Now press and hold the speakup
1125     +key, while you type the keypad slash character. The url will be pasted
1126     +onto the command line, just as though you had typed it in. Press the
1127     +enter key to execute the command.
1128     +
1129     +The paste buffer will continue to hold the cut information, until a new
1130     +mark and cut operation is carried out. This means you can paste the cut
1131     +information as many times as you like before doing another cut
1132     +operation.
1133     +
1134     +You are not limited to cutting and pasting only one line on the screen.
1135     +You can also cut and paste rectangular regions of the screen. Just
1136     +position the reading cursor at the top left corner of the text to be
1137     +cut, mark it with the keypad slash key, then position the reading cursor
1138     +at the bottom right corner of the region to be cut, and cut it with the
1139     +keypad slash key.
1140     +
1141     +12. Changing the Pronunciation of Characters
1142     +
1143     +Through the /proc/speakup/chars proc entry, Speakup gives you the
1144     +ability to change how Speakup pronounces a given character. You could,
1145     +for example, change how some punctuation characters are spoken. You can
1146     +even change how Speakup will pronounce certain letters.
1147     +
1148     +You may, for example, wish to change how Speakup pronounces the z
1149     +character. The author of Speakup, Kirk Reiser, is Canadian, and thus
1150     +believes that the z should be pronounced zed. If you are an American,
1151     +you might wish to use the zee pronunciation instead of zed. You can
1152     +change the pronunciation of both the upper and lower case z with the
1153     +following two commands:
1154     +
1155     +echo 90 zee >/proc/speakup/characters
1156     +echo 122 zee >/proc/speakup/characters
1157     +
1158     +Let's examine the parts of the two previous commands. They are issued
1159     +at the shell prompt, and could be placed in a startup script.
1160     +
1161     +The word echo tells the shell that you want to have it display the
1162     +string of characters that follow the word echo. If you were to just
1163     +type:
1164     +
1165     +echo hello.
1166     +
1167     +You would get the word hello printed on your screen as soon as you
1168     +pressed the enter key. In this case, we are echoing strings that we
1169     +want to be redirected into the proc system.
1170     +
1171     +The numbers 90 and 122 in the above echo commands are the ascii numeric
1172     +values for the upper and lower case z, the characters we wish to change.
1173     +
1174     +The string zee is the pronunciation that we want Speakup to use for the
1175     +upper and lower case z.
1176     +
1177     +The > symbol redirects the output of the echo command to a file, just
1178     +like in DOS, or at the Windows command prompt.
1179     +
1180     +And finally, /proc/speakup/chars is the file entry in the proc system
1181     +where we want the output to be directed. Speakup looks at the numeric
1182     +value of the character we want to change, and inserts the pronunciation
1183     +string into an internal table.
1184     +
1185     +You can look at the whole table with the following command:
1186     +
1187     +cat /proc/speakup/chars
1188     +
1189     +Speakup will then print out the entire character pronunciation table. I
1190     +won't display it here, but leave you to look at it at your convenience.
1191     +
1192     +13. Mapping Keys
1193     +
1194     +Speakup has the capability of allowing you to assign or "map" keys to
1195     +internal Speakup commands. This section necessarily assumes you have a
1196     +Linux kernel source tree installed, and that it has been patched and
1197     +configured with Speakup. How you do this is beyond the scope of this
1198     +manual. For this information, visit the Speakup web site at
1199     +http://linux-speakup.org/. The reason you'll need the kernel source
1200     +tree patched with Speakup is that the genmap utility you'll need for
1201     +processing keymaps is in the
1202     +/usr/src/linux-<version_number>/drivers/char/speakup directory. The
1203     +<version_number> in the above directory path is the version number of
1204     +the Linux source tree you are working with.
1205     +
1206     +So ok, you've gone off and gotten your kernel source tree, and patched
1207     +and configured it. Now you can start manipulating keymaps.
1208     +
1209     +You can either use the
1210     +/usr/src/linux-<version_number>/drivers/char/speakup/speakupmap.map file
1211     +included with the Speakup source, or you can cut and paste the copy in
1212     +section 4 into a separate file. If you use the one in the Speakup
1213     +source tree, make sure you make a backup of it before you start making
1214     +changes. You have been warned!
1215     +
1216     +Suppose that you want to swap the key assignments for the Speakup
1217     +say_last_char and the Speakup say_first_char commands. The
1218     +speakupmap.map lists the key mappings for these two commands as follows:
1219     +
1220     +spk key_pageup = say_first_char
1221     +spk key_pagedown = say_last_char
1222     +
1223     +You can edit your copy of the speakupmap.map file and swap the command
1224     +names on the right side of the = (equals) sign. You did make a backup,
1225     +right? The new keymap lines would look like this:
1226     +
1227     +spk key_pageup = say_last_char
1228     +spk key_pagedown = say_first_char
1229     +
1230     +After you edit your copy of the speakupmap.map file, save it under a new
1231     +file name, perhaps newmap.map. Then exit your editor and return to the
1232     +shell prompt.
1233     +
1234     +You are now ready to load your keymap with your swapped key assignments.
1235     + Assuming that you saved your new keymap as the file newmap.map, you
1236     +would load your keymap into the proc system like this:
1237     +
1238     +/usr/src/linux-<version_number>/drivers/char/speakup/genmap newmap.map
1239     +>/proc/speakup/keymap
1240     +
1241     +Remember to substitute your kernel version number for the
1242     +<version_number> in the above command. Also note that although the
1243     +above command wrapped onto two lines in this document, you should type
1244     +it all on one line.
1245     +
1246     +Your say first and say last characters should now be swapped. Pressing
1247     +speakup pagedown should read you the first non-whitespace character on
1248     +the line your reading cursor is in, and pressing speakup pageup should
1249     +read you the last character on the line your reading cursor is in.
1250     +
1251     +You should note that these new mappings will only stay in effect until
1252     +you reboot, or until you load another keymap.
1253     +
1254     +One final warning. If you try to load a partial map, you will quickly
1255     +find that all the mappings you didn't include in your file got deleted
1256     +from the working map. Be extremely careful, and always make a backup!
1257     +You have been warned!
1258     +
1259     +14. Using Speakup's Windowing Capability
1260     +
1261     +Speakup has the capability of defining and manipulating windows on the
1262     +screen. Speakup uses the term "Window", to mean a user defined area of
1263     +the screen. The key strokes for defining and manipulating Speakup
1264     +windows are as follows:
1265     +
1266     +speakup + f2 -- Set the bounds of the window.
1267     +Speakup + f3 -- clear the current window definition.
1268     +speakup + f4 -- Toggle window silence on and off.
1269     +speakup + keypad plus -- Say the currently defined window.
1270     +
1271     +These capabilities are useful for tracking a certain part of the screen
1272     +without rereading the whole screen, or for silencing a part of the
1273     +screen that is constantly changing, such as a clock or status line.
1274     +
1275     +There is no way to save these window settings, and you can only have one
1276     +window defined for each virtual console. There is also no way to have
1277     +windows automaticly defined for specific applications.
1278     +
1279     +In order to define a window, use the review keys to move your reading
1280     +cursor to the beginning of the area you want to define. Then press
1281     +speakup + f2. Speakup will tell you that the window starts at the
1282     +indicated row and column position. Then move the reading cursor to the
1283     +end of the area to be defined as a window, and press speakup + f2 again.
1284     + If there is more than one line in the window, Speakup will tell you
1285     +that the window ends at the indicated row and column position. If there
1286     +is only one line in the window, then Speakup will tell you that the
1287     +window is the specified line on the screen. If you are only defining a
1288     +one line window, you can just press speakup + f2 twice after placing the
1289     +reading cursor on the line you want to define as a window. It is not
1290     +necessary to position the reading cursor at the end of the line in order
1291     +to define the whole line as a window.
1292     +
1293     + GNU Free Documentation License
1294     + Version 1.2, November 2002
1295     +
1296     +
1297     + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
1298     + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1299     + Everyone is permitted to copy and distribute verbatim copies
1300     + of this license document, but changing it is not allowed.
1301     +
1302     +
1303     +0. PREAMBLE
1304     +
1305     +The purpose of this License is to make a manual, textbook, or other
1306     +functional and useful document "free" in the sense of freedom: to
1307     +assure everyone the effective freedom to copy and redistribute it,
1308     +with or without modifying it, either commercially or noncommercially.
1309     +Secondarily, this License preserves for the author and publisher a way
1310     +to get credit for their work, while not being considered responsible
1311     +for modifications made by others.
1312     +
1313     +This License is a kind of "copyleft", which means that derivative
1314     +works of the document must themselves be free in the same sense. It
1315     +complements the GNU General Public License, which is a copyleft
1316     +license designed for free software.
1317     +
1318     +We have designed this License in order to use it for manuals for free
1319     +software, because free software needs free documentation: a free
1320     +program should come with manuals providing the same freedoms that the
1321     +software does. But this License is not limited to software manuals;
1322     +it can be used for any textual work, regardless of subject matter or
1323     +whether it is published as a printed book. We recommend this License
1324     +principally for works whose purpose is instruction or reference.
1325     +
1326     +
1327     +1. APPLICABILITY AND DEFINITIONS
1328     +
1329     +This License applies to any manual or other work, in any medium, that
1330     +contains a notice placed by the copyright holder saying it can be
1331     +distributed under the terms of this License. Such a notice grants a
1332     +world-wide, royalty-free license, unlimited in duration, to use that
1333     +work under the conditions stated herein. The "Document", below,
1334     +refers to any such manual or work. Any member of the public is a
1335     +licensee, and is addressed as "you". You accept the license if you
1336     +copy, modify or distribute the work in a way requiring permission
1337     +under copyright law.
1338     +
1339     +A "Modified Version" of the Document means any work containing the
1340     +Document or a portion of it, either copied verbatim, or with
1341     +modifications and/or translated into another language.
1342     +
1343     +A "Secondary Section" is a named appendix or a front-matter section of
1344     +the Document that deals exclusively with the relationship of the
1345     +publishers or authors of the Document to the Document's overall subject
1346     +(or to related matters) and contains nothing that could fall directly
1347     +within that overall subject. (Thus, if the Document is in part a
1348     +textbook of mathematics, a Secondary Section may not explain any
1349     +mathematics.) The relationship could be a matter of historical
1350     +connection with the subject or with related matters, or of legal,
1351     +commercial, philosophical, ethical or political position regarding
1352     +them.
1353     +
1354     +The "Invariant Sections" are certain Secondary Sections whose titles
1355     +are designated, as being those of Invariant Sections, in the notice
1356     +that says that the Document is released under this License. If a
1357     +section does not fit the above definition of Secondary then it is not
1358     +allowed to be designated as Invariant. The Document may contain zero
1359     +Invariant Sections. If the Document does not identify any Invariant
1360     +Sections then there are none.
1361     +
1362     +The "Cover Texts" are certain short passages of text that are listed,
1363     +as Front-Cover Texts or Back-Cover Texts, in the notice that says that
1364     +the Document is released under this License. A Front-Cover Text may
1365     +be at most 5 words, and a Back-Cover Text may be at most 25 words.
1366     +
1367     +A "Transparent" copy of the Document means a machine-readable copy,
1368     +represented in a format whose specification is available to the
1369     +general public, that is suitable for revising the document
1370     +straightforwardly with generic text editors or (for images composed of
1371     +pixels) generic paint programs or (for drawings) some widely available
1372     +drawing editor, and that is suitable for input to text formatters or
1373     +for automatic translation to a variety of formats suitable for input
1374     +to text formatters. A copy made in an otherwise Transparent file
1375     +format whose markup, or absence of markup, has been arranged to thwart
1376     +or discourage subsequent modification by readers is not Transparent.
1377     +An image format is not Transparent if used for any substantial amount
1378     +of text. A copy that is not "Transparent" is called "Opaque".
1379     +
1380     +Examples of suitable formats for Transparent copies include plain
1381     +ASCII without markup, Texinfo input format, LaTeX input format, SGML
1382     +or XML using a publicly available DTD, and standard-conforming simple
1383     +HTML, PostScript or PDF designed for human modification. Examples of
1384     +transparent image formats include PNG, XCF and JPG. Opaque formats
1385     +include proprietary formats that can be read and edited only by
1386     +proprietary word processors, SGML or XML for which the DTD and/or
1387     +processing tools are not generally available, and the
1388     +machine-generated HTML, PostScript or PDF produced by some word
1389     +processors for output purposes only.
1390     +
1391     +The "Title Page" means, for a printed book, the title page itself,
1392     +plus such following pages as are needed to hold, legibly, the material
1393     +this License requires to appear in the title page. For works in
1394     +formats which do not have any title page as such, "Title Page" means
1395     +the text near the most prominent appearance of the work's title,
1396     +preceding the beginning of the body of the text.
1397     +
1398     +A section "Entitled XYZ" means a named subunit of the Document whose
1399     +title either is precisely XYZ or contains XYZ in parentheses following
1400     +text that translates XYZ in another language. (Here XYZ stands for a
1401     +specific section name mentioned below, such as "Acknowledgements",
1402     +"Dedications", "Endorsements", or "History".) To "Preserve the Title"
1403     +of such a section when you modify the Document means that it remains a
1404     +section "Entitled XYZ" according to this definition.
1405     +
1406     +The Document may include Warranty Disclaimers next to the notice which
1407     +states that this License applies to the Document. These Warranty
1408     +Disclaimers are considered to be included by reference in this
1409     +License, but only as regards disclaiming warranties: any other
1410     +implication that these Warranty Disclaimers may have is void and has
1411     +no effect on the meaning of this License.
1412     +
1413     +
1414     +2. VERBATIM COPYING
1415     +
1416     +You may copy and distribute the Document in any medium, either
1417     +commercially or noncommercially, provided that this License, the
1418     +copyright notices, and the license notice saying this License applies
1419     +to the Document are reproduced in all copies, and that you add no other
1420     +conditions whatsoever to those of this License. You may not use
1421     +technical measures to obstruct or control the reading or further
1422     +copying of the copies you make or distribute. However, you may accept
1423     +compensation in exchange for copies. If you distribute a large enough
1424     +number of copies you must also follow the conditions in section 3.
1425     +
1426     +You may also lend copies, under the same conditions stated above, and
1427     +you may publicly display copies.
1428     +
1429     +
1430     +3. COPYING IN QUANTITY
1431     +
1432     +If you publish printed copies (or copies in media that commonly have
1433     +printed covers) of the Document, numbering more than 100, and the
1434     +Document's license notice requires Cover Texts, you must enclose the
1435     +copies in covers that carry, clearly and legibly, all these Cover
1436     +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
1437     +the back cover. Both covers must also clearly and legibly identify
1438     +you as the publisher of these copies. The front cover must present
1439     +the full title with all words of the title equally prominent and
1440     +visible. You may add other material on the covers in addition.
1441     +Copying with changes limited to the covers, as long as they preserve
1442     +the title of the Document and satisfy these conditions, can be treated
1443     +as verbatim copying in other respects.
1444     +
1445     +If the required texts for either cover are too voluminous to fit
1446     +legibly, you should put the first ones listed (as many as fit
1447     +reasonably) on the actual cover, and continue the rest onto adjacent
1448     +pages.
1449     +
1450     +If you publish or distribute Opaque copies of the Document numbering
1451     +more than 100, you must either include a machine-readable Transparent
1452     +copy along with each Opaque copy, or state in or with each Opaque copy
1453     +a computer-network location from which the general network-using
1454     +public has access to download using public-standard network protocols
1455     +a complete Transparent copy of the Document, free of added material.
1456     +If you use the latter option, you must take reasonably prudent steps,
1457     +when you begin distribution of Opaque copies in quantity, to ensure
1458     +that this Transparent copy will remain thus accessible at the stated
1459     +location until at least one year after the last time you distribute an
1460     +Opaque copy (directly or through your agents or retailers) of that
1461     +edition to the public.
1462     +
1463     +It is requested, but not required, that you contact the authors of the
1464     +Document well before redistributing any large number of copies, to give
1465     +them a chance to provide you with an updated version of the Document.
1466     +
1467     +
1468     +4. MODIFICATIONS
1469     +
1470     +You may copy and distribute a Modified Version of the Document under
1471     +the conditions of sections 2 and 3 above, provided that you release
1472     +the Modified Version under precisely this License, with the Modified
1473     +Version filling the role of the Document, thus licensing distribution
1474     +and modification of the Modified Version to whoever possesses a copy
1475     +of it. In addition, you must do these things in the Modified Version:
1476     +
1477     +A. Use in the Title Page (and on the covers, if any) a title distinct
1478     + from that of the Document, and from those of previous versions
1479     + (which should, if there were any, be listed in the History section
1480     + of the Document). You may use the same title as a previous version
1481     + if the original publisher of that version gives permission.
1482     +B. List on the Title Page, as authors, one or more persons or entities
1483     + responsible for authorship of the modifications in the Modified
1484     + Version, together with at least five of the principal authors of the
1485     + Document (all of its principal authors, if it has fewer than five),
1486     + unless they release you from this requirement.
1487     +C. State on the Title page the name of the publisher of the
1488     + Modified Version, as the publisher.
1489     +D. Preserve all the copyright notices of the Document.
1490     +E. Add an appropriate copyright notice for your modifications
1491     + adjacent to the other copyright notices.
1492     +F. Include, immediately after the copyright notices, a license notice
1493     + giving the public permission to use the Modified Version under the
1494     + terms of this License, in the form shown in the Addendum below.
1495     +G. Preserve in that license notice the full lists of Invariant Sections
1496     + and required Cover Texts given in the Document's license notice.
1497     +H. Include an unaltered copy of this License.
1498     +I. Preserve the section Entitled "History", Preserve its Title, and add
1499     + to it an item stating at least the title, year, new authors, and
1500     + publisher of the Modified Version as given on the Title Page. If
1501     + there is no section Entitled "History" in the Document, create one
1502     + stating the title, year, authors, and publisher of the Document as
1503     + given on its Title Page, then add an item describing the Modified
1504     + Version as stated in the previous sentence.
1505     +J. Preserve the network location, if any, given in the Document for
1506     + public access to a Transparent copy of the Document, and likewise
1507     + the network locations given in the Document for previous versions
1508     + it was based on. These may be placed in the "History" section.
1509     + You may omit a network location for a work that was published at
1510     + least four years before the Document itself, or if the original
1511     + publisher of the version it refers to gives permission.
1512     +K. For any section Entitled "Acknowledgements" or "Dedications",
1513     + Preserve the Title of the section, and preserve in the section all
1514     + the substance and tone of each of the contributor acknowledgements
1515     + and/or dedications given therein.
1516     +L. Preserve all the Invariant Sections of the Document,
1517     + unaltered in their text and in their titles. Section numbers
1518     + or the equivalent are not considered part of the section titles.
1519     +M. Delete any section Entitled "Endorsements". Such a section
1520     + may not be included in the Modified Version.
1521     +N. Do not retitle any existing section to be Entitled "Endorsements"
1522     + or to conflict in title with any Invariant Section.
1523     +O. Preserve any Warranty Disclaimers.
1524     +
1525     +If the Modified Version includes new front-matter sections or
1526     +appendices that qualify as Secondary Sections and contain no material
1527     +copied from the Document, you may at your option designate some or all
1528     +of these sections as invariant. To do this, add their titles to the
1529     +list of Invariant Sections in the Modified Version's license notice.
1530     +These titles must be distinct from any other section titles.
1531     +
1532     +You may add a section Entitled "Endorsements", provided it contains
1533     +nothing but endorsements of your Modified Version by various
1534     +parties--for example, statements of peer review or that the text has
1535     +been approved by an organization as the authoritative definition of a
1536     +standard.
1537     +
1538     +You may add a passage of up to five words as a Front-Cover Text, and a
1539     +passage of up to 25 words as a Back-Cover Text, to the end of the list
1540     +of Cover Texts in the Modified Version. Only one passage of
1541     +Front-Cover Text and one of Back-Cover Text may be added by (or
1542     +through arrangements made by) any one entity. If the Document already
1543     +includes a cover text for the same cover, previously added by you or
1544     +by arrangement made by the same entity you are acting on behalf of,
1545     +you may not add another; but you may replace the old one, on explicit
1546     +permission from the previous publisher that added the old one.
1547     +
1548     +The author(s) and publisher(s) of the Document do not by this License
1549     +give permission to use their names for publicity for or to assert or
1550     +imply endorsement of any Modified Version.
1551     +
1552     +
1553     +5. COMBINING DOCUMENTS
1554     +
1555     +You may combine the Document with other documents released under this
1556     +License, under the terms defined in section 4 above for modified
1557     +versions, provided that you include in the combination all of the
1558     +Invariant Sections of all of the original documents, unmodified, and
1559     +list them all as Invariant Sections of your combined work in its
1560     +license notice, and that you preserve all their Warranty Disclaimers.
1561     +
1562     +The combined work need only contain one copy of this License, and
1563     +multiple identical Invariant Sections may be replaced with a single
1564     +copy. If there are multiple Invariant Sections with the same name but
1565     +different contents, make the title of each such section unique by
1566     +adding at the end of it, in parentheses, the name of the original
1567     +author or publisher of that section if known, or else a unique number.
1568     +Make the same adjustment to the section titles in the list of
1569     +Invariant Sections in the license notice of the combined work.
1570     +
1571     +In the combination, you must combine any sections Entitled "History"
1572     +in the various original documents, forming one section Entitled
1573     +"History"; likewise combine any sections Entitled "Acknowledgements",
1574     +and any sections Entitled "Dedications". You must delete all sections
1575     +Entitled "Endorsements".
1576     +
1577     +
1578     +6. COLLECTIONS OF DOCUMENTS
1579     +
1580     +You may make a collection consisting of the Document and other documents
1581     +released under this License, and replace the individual copies of this
1582     +License in the various documents with a single copy that is included in
1583     +the collection, provided that you follow the rules of this License for
1584     +verbatim copying of each of the documents in all other respects.
1585     +
1586     +You may extract a single document from such a collection, and distribute
1587     +it individually under this License, provided you insert a copy of this
1588     +License into the extracted document, and follow this License in all
1589     +other respects regarding verbatim copying of that document.
1590     +
1591     +
1592     +7. AGGREGATION WITH INDEPENDENT WORKS
1593     +
1594     +A compilation of the Document or its derivatives with other separate
1595     +and independent documents or works, in or on a volume of a storage or
1596     +distribution medium, is called an "aggregate" if the copyright
1597     +resulting from the compilation is not used to limit the legal rights
1598     +of the compilation's users beyond what the individual works permit.
1599     +When the Document is included in an aggregate, this License does not
1600     +apply to the other works in the aggregate which are not themselves
1601     +derivative works of the Document.
1602     +
1603     +If the Cover Text requirement of section 3 is applicable to these
1604     +copies of the Document, then if the Document is less than one half of
1605     +the entire aggregate, the Document's Cover Texts may be placed on
1606     +covers that bracket the Document within the aggregate, or the
1607     +electronic equivalent of covers if the Document is in electronic form.
1608     +Otherwise they must appear on printed covers that bracket the whole
1609     +aggregate.
1610     +
1611     +
1612     +8. TRANSLATION
1613     +
1614     +Translation is considered a kind of modification, so you may
1615     +distribute translations of the Document under the terms of section 4.
1616     +Replacing Invariant Sections with translations requires special
1617     +permission from their copyright holders, but you may include
1618     +translations of some or all Invariant Sections in addition to the
1619     +original versions of these Invariant Sections. You may include a
1620     +translation of this License, and all the license notices in the
1621     +Document, and any Warranty Disclaimers, provided that you also include
1622     +the original English version of this License and the original versions
1623     +of those notices and disclaimers. In case of a disagreement between
1624     +the translation and the original version of this License or a notice
1625     +or disclaimer, the original version will prevail.
1626     +
1627     +If a section in the Document is Entitled "Acknowledgements",
1628     +"Dedications", or "History", the requirement (section 4) to Preserve
1629     +its Title (section 1) will typically require changing the actual
1630     +title.
1631     +
1632     +
1633     +9. TERMINATION
1634     +
1635     +You may not copy, modify, sublicense, or distribute the Document except
1636     +as expressly provided for under this License. Any other attempt to
1637     +copy, modify, sublicense or distribute the Document is void, and will
1638     +automatically terminate your rights under this License. However,
1639     +parties who have received copies, or rights, from you under this
1640     +License will not have their licenses terminated so long as such
1641     +parties remain in full compliance.
1642     +
1643     +
1644     +10. FUTURE REVISIONS OF THIS LICENSE
1645     +
1646     +The Free Software Foundation may publish new, revised versions
1647     +of the GNU Free Documentation License from time to time. Such new
1648     +versions will be similar in spirit to the present version, but may
1649     +differ in detail to address new problems or concerns. See
1650     +http://www.gnu.org/copyleft/.
1651     +
1652     +Each version of the License is given a distinguishing version number.
1653     +If the Document specifies that a particular numbered version of this
1654     +License "or any later version" applies to it, you have the option of
1655     +following the terms and conditions either of that specified version or
1656     +of any later version that has been published (not as a draft) by the
1657     +Free Software Foundation. If the Document does not specify a version
1658     +number of this License, you may choose any version ever published (not
1659     +as a draft) by the Free Software Foundation.
1660     +
1661     +
1662     +ADDENDUM: How to use this License for your documents
1663     +
1664     +To use this License in a document you have written, include a copy of
1665     +the License in the document and put the following copyright and
1666     +license notices just after the title page:
1667     +
1668     + Copyright (c) YEAR YOUR NAME.
1669     + Permission is granted to copy, distribute and/or modify this document
1670     + under the terms of the GNU Free Documentation License, Version 1.2
1671     + or any later version published by the Free Software Foundation;
1672     + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
1673     + A copy of the license is included in the section entitled "GNU
1674     + Free Documentation License".
1675     +
1676     +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
1677     +replace the "with...Texts." line with this:
1678     +
1679     + with the Invariant Sections being LIST THEIR TITLES, with the
1680     + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
1681     +
1682     +If you have Invariant Sections without Cover Texts, or some other
1683     +combination of the three, merge those two alternatives to suit the
1684     +situation.
1685     +
1686     +If your document contains nontrivial examples of program code, we
1687     +recommend releasing these examples in parallel under your choice of
1688     +free software license, such as the GNU General Public License,
1689     +to permit their use in free software.
1690     +
1691     +The End.
1692     diff -Naurp linux-2.6.13-rc6-git13-gentoo/MAINTAINERS linux-2.6.13-rc6-git13-gentoo-speakup/MAINTAINERS
1693     --- linux-2.6.13-rc6-git13-gentoo/MAINTAINERS 2005-08-22 14:35:18.000000000 -0700
1694     +++ linux-2.6.13-rc6-git13-gentoo-speakup/MAINTAINERS 2005-08-25 14:06:54.000000000 -0700
1695     @@ -2219,6 +2219,13 @@ M: wli@holomorphy.com
1696     L: sparclinux@vger.kernel.org
1697     S: Maintained
1698    
1699     +SPEAKUP Console speech output
1700     +P: Kirk Reiser
1701     +M: kirk@braille.uwo.ca
1702     +L: speakup@braille.uwo.ca
1703     +W: http://www.linux-speakup.org
1704     +S: Maintained
1705     +
1706     SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
1707     P: Roger Wolff
1708     M: R.E.Wolff@BitWizard.nl
1709     diff -Naurp linux-2.6.13-rc6-git13-gentoo/arch/arm/Kconfig linux-2.6.13-rc6-git13-gentoo-speakup/arch/arm/Kconfig
1710     --- linux-2.6.13-rc6-git13-gentoo/arch/arm/Kconfig 2005-08-22 14:35:00.000000000 -0700
1711     +++ linux-2.6.13-rc6-git13-gentoo-speakup/arch/arm/Kconfig 2005-08-25 14:06:54.000000000 -0700
1712     @@ -755,6 +755,7 @@ source "drivers/misc/Kconfig"
1713     source "drivers/media/Kconfig"
1714    
1715     source "drivers/video/Kconfig"
1716     +source "drivers/char/speakup/Kconfig"
1717    
1718     source "sound/Kconfig"
1719    
1720     diff -Naurp linux-2.6.13-rc6-git13-gentoo/arch/mips/Kconfig linux-2.6.13-rc6-git13-gentoo-speakup/arch/mips/Kconfig
1721     --- linux-2.6.13-rc6-git13-gentoo/arch/mips/Kconfig 2005-08-22 14:35:01.000000000 -0700
1722     +++ linux-2.6.13-rc6-git13-gentoo-speakup/arch/mips/Kconfig 2005-08-25 14:06:54.000000000 -0700
1723     @@ -839,6 +839,8 @@ config SIBYTE_STANDALONE
1724     depends on SIBYTE_SB1xxx_SOC && !SIBYTE_CFE
1725     default y
1726    
1727     +source "drivers/char/speakup/Kconfig"
1728     +
1729     config SIBYTE_STANDALONE_RAM_SIZE
1730     int "Memory size (in megabytes)"
1731     depends on SIBYTE_STANDALONE
1732     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/Kconfig linux-2.6.13-rc6-git13-gentoo-speakup/drivers/Kconfig
1733     --- linux-2.6.13-rc6-git13-gentoo/drivers/Kconfig 2005-08-22 14:38:22.000000000 -0700
1734     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/Kconfig 2005-08-25 14:06:54.000000000 -0700
1735     @@ -52,6 +52,8 @@ source "drivers/media/Kconfig"
1736    
1737     source "drivers/video/Kconfig"
1738    
1739     +source "drivers/char/speakup/Kconfig"
1740     +
1741     source "sound/Kconfig"
1742    
1743     source "drivers/usb/Kconfig"
1744     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/Makefile linux-2.6.13-rc6-git13-gentoo-speakup/drivers/Makefile
1745     --- linux-2.6.13-rc6-git13-gentoo/drivers/Makefile 2005-08-22 14:40:26.000000000 -0700
1746     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/Makefile 2005-08-25 14:06:54.000000000 -0700
1747     @@ -1,4 +1,3 @@
1748     -#
1749     # Makefile for the Linux kernel device drivers.
1750     #
1751     # 15 Sep 2000, Christoph Hellwig <hch@infradead.org>
1752     @@ -25,6 +24,8 @@ obj-$(CONFIG_FB_INTEL) += video
1753     obj-$(CONFIG_SERIO) += input/serio/
1754     obj-y += serial/
1755     obj-$(CONFIG_PARPORT) += parport/
1756     +# load keyboard early so speakup can be quieted
1757     +obj-$(CONFIG_INPUT) += input/
1758     obj-y += base/ block/ misc/ net/ media/
1759     obj-$(CONFIG_NUBUS) += nubus/
1760     obj-$(CONFIG_ATM) += atm/
1761     @@ -47,7 +48,6 @@ obj-$(CONFIG_TC) += tc/
1762     obj-$(CONFIG_USB) += usb/
1763     obj-$(CONFIG_USB_GADGET) += usb/gadget/
1764     obj-$(CONFIG_GAMEPORT) += input/gameport/
1765     -obj-$(CONFIG_INPUT) += input/
1766     obj-$(CONFIG_I2O) += message/
1767     obj-$(CONFIG_I2C) += i2c/
1768     obj-$(CONFIG_W1) += w1/
1769     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/Makefile linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/Makefile
1770     --- linux-2.6.13-rc6-git13-gentoo/drivers/char/Makefile 2005-08-22 14:35:03.000000000 -0700
1771     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/Makefile 2005-08-25 14:06:54.000000000 -0700
1772     @@ -83,6 +83,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio
1773     obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
1774     obj-$(CONFIG_TANBAC_TB0219) += tb0219.o
1775    
1776     +obj-$(CONFIG_SPEAKUP) += speakup/
1777     obj-$(CONFIG_WATCHDOG) += watchdog/
1778     obj-$(CONFIG_MWAVE) += mwave/
1779     obj-$(CONFIG_AGP) += agp/
1780     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/consolemap.c linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/consolemap.c
1781     --- linux-2.6.13-rc6-git13-gentoo/drivers/char/consolemap.c 2005-06-17 12:48:29.000000000 -0700
1782     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/consolemap.c 2005-08-25 14:06:54.000000000 -0700
1783     @@ -670,3 +670,4 @@ console_map_init(void)
1784     }
1785    
1786     EXPORT_SYMBOL(con_copy_unimap);
1787     +EXPORT_SYMBOL(inverse_translate);
1788     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/keyboard.c linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/keyboard.c
1789     --- linux-2.6.13-rc6-git13-gentoo/drivers/char/keyboard.c 2005-08-22 14:35:03.000000000 -0700
1790     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/keyboard.c 2005-08-25 14:06:54.000000000 -0700
1791     @@ -40,6 +40,13 @@
1792     #include <linux/sysrq.h>
1793     #include <linux/input.h>
1794    
1795     +
1796     +#include <linux/speakup.h>
1797     +
1798     +#ifdef CONFIG_SPEAKUP_MODULE
1799     +spk_key_func addr_spk_key = NULL;
1800     +#endif
1801     +
1802     static void kbd_disconnect(struct input_handle *handle);
1803     extern void ctrl_alt_del(void);
1804    
1805     @@ -64,6 +71,10 @@ extern void ctrl_alt_del(void);
1806    
1807     #define KBD_DEFLOCK 0
1808    
1809     +/* Key types processed even in raw modes */
1810     +
1811     +#define TYPES_ALLOWED_IN_RAW_MODE ((1 << KT_SPEC) | (1 << KT_SHIFT) | (1 << KT_SPKUP))
1812     +
1813     void compute_shiftstate(void);
1814    
1815     /*
1816     @@ -79,7 +90,7 @@ void compute_shiftstate(void);
1817     typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value,
1818     char up_flag, struct pt_regs *regs);
1819     static k_handler_fn K_HANDLERS;
1820     -static k_handler_fn *k_handler[16] = { K_HANDLERS };
1821     +k_handler_fn *k_handler[16] = { K_HANDLERS };
1822    
1823     #define FN_HANDLERS\
1824     fn_null, fn_enter, fn_show_ptregs, fn_show_mem,\
1825     @@ -100,15 +111,18 @@ static fn_handler_fn *fn_handler[] = { F
1826     const int max_vals[] = {
1827     255, ARRAY_SIZE(func_table) - 1, ARRAY_SIZE(fn_handler) - 1, NR_PAD - 1,
1828     NR_DEAD - 1, 255, 3, NR_SHIFT - 1, 255, NR_ASCII - 1, NR_LOCK - 1,
1829     - 255, NR_LOCK - 1, 255
1830     + 255, NR_LOCK - 1, 255, 255
1831     };
1832    
1833     const int NR_TYPES = ARRAY_SIZE(max_vals);
1834    
1835     struct kbd_struct kbd_table[MAX_NR_CONSOLES];
1836     -static struct kbd_struct *kbd = kbd_table;
1837     +struct kbd_struct *kbd = kbd_table;
1838     static struct kbd_struct kbd0;
1839    
1840     +EXPORT_SYMBOL(kbd);
1841     +EXPORT_SYMBOL(k_handler);
1842     +
1843     int spawnpid, spawnsig;
1844    
1845     /*
1846     @@ -256,12 +270,14 @@ void kd_mksound(unsigned int hz, unsigne
1847     }
1848     }
1849     }
1850     - if (ticks)
1851     - mod_timer(&kd_mksound_timer, jiffies + ticks);
1852     + if (ticks)
1853     + mod_timer(&kd_mksound_timer, jiffies + ticks);
1854     } else
1855     kd_nosound(0);
1856     }
1857    
1858     +EXPORT_SYMBOL(kd_mksound);
1859     +
1860     /*
1861     * Setting the keyboard rate.
1862     */
1863     @@ -603,6 +619,7 @@ static void k_spec(struct vc_data *vc, u
1864     if (up_flag)
1865     return;
1866     if (value >= ARRAY_SIZE(fn_handler))
1867     + if (up_flag || (value >= ARRAY_SIZE(fn_handler)))
1868     return;
1869     if ((kbd->kbdmode == VC_RAW ||
1870     kbd->kbdmode == VC_MEDIUMRAW) &&
1871     @@ -1119,6 +1136,13 @@ static void kbd_keycode(unsigned int key
1872     key_map = key_maps[shift_final];
1873    
1874     if (!key_map) {
1875     +#ifdef CONFIG_SPEAKUP
1876     + if (speakup_key(vc, shift_final, keycode, K(KT_SHIFT,0), !down, regs ))
1877     + return;
1878     +#elif defined(CONFIG_SPEAKUP_MODULE)
1879     + if ( addr_spk_key && (*addr_spk_key)(vc, shift_final,
1880     + keycode, K(KT_SHIFT,0), !down, regs) ) return;
1881     +#endif
1882     compute_shiftstate();
1883     kbd->slockstate = 0;
1884     return;
1885     @@ -1136,10 +1160,17 @@ static void kbd_keycode(unsigned int key
1886     }
1887    
1888     type -= 0xf0;
1889     -
1890     - if (raw_mode && type != KT_SPEC && type != KT_SHIFT)
1891     +#ifdef CONFIG_SPEAKUP
1892     + if (speakup_key(vc, shift_final, keycode, keysym, !down, regs ))
1893     return;
1894     +#elif defined(CONFIG_SPEAKUP_MODULE)
1895     + if ( addr_spk_key && (*addr_spk_key)(vc, shift_final,
1896     + keycode, keysym, !down, regs) ) return;
1897     +#endif
1898    
1899     + if (raw_mode && type != KT_SPEC && type != KT_SHIFT )
1900     + return;
1901     +
1902     if (type == KT_LETTER) {
1903     type = KT_LATIN;
1904     if (vc_kbd_led(kbd, VC_CAPSLOCK)) {
1905     @@ -1148,7 +1179,6 @@ static void kbd_keycode(unsigned int key
1906     keysym = key_map[keycode];
1907     }
1908     }
1909     -
1910     (*k_handler[type])(vc, keysym & 0xff, !down, regs);
1911    
1912     if (type != KT_SLOCK)
1913     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/BUGS linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/BUGS
1914     --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/BUGS 1969-12-31 16:00:00.000000000 -0800
1915     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/BUGS 2001-10-18 05:53:52.000000000 -0700
1916     @@ -0,0 +1,10 @@
1917     +Well, there are probably just thousands to squash, but these are the
1918     +ones I think of as bugs.
1919     +
1920     +There is a problem with speakup interrogating LiteTalks with rom
1921     +versions of at least 3.22 and earlier. (kirk)
1922     +
1923     +I define bugs as things which aren't working correctly although
1924     +they've been implemented. NOT features which haven't been added yet.
1925     +
1926     + Kirk
1927     diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/ChangeLog linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/ChangeLog
1928     --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/ChangeLog 1969-12-31 16:00:00.000000000 -0800
1929     +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/ChangeLog 2005-08-04 10:40:51.000000000 -0700
1930     @@ -0,0 +1,2649 @@
1931     +2005-08-04 Thursday 12:42 kirk
1932     +
1933     + Here are the first set of revisions to include screen comparing and
1934     + attribute or highlight tracking thanks to Mike McDonald of APH. I am
1935     + also starting a general clean-up of the code to remove kernel support
1936     + before 2.6.12. I will also be starting to modularize all text output
1937     + by speakup to support other character sets than just ISO-8859-1.
1938     + (kirk)
1939     +
1940     +2005-06-27 Monday 10:12 kirk
1941     +
1942     + Removed the static int errno declaration line 81 in speakup.c which
1943     + seemed to be causing gcc4 or at least fedora gcc great amounts of
1944     + angst. It doesn't seem to bother gcc 3.x so why not. (kirk)
1945     +
1946     +2005-06-24 Friday 14:53 kirk
1947     +
1948     + Okay, some how I checked in the older patches in four places in vt.c.
1949     + Go figure! I have just hopefully fixed those so they should actually
1950     + work. I'll depend on Gene and Bill to beat on this if possible. They
1951     + own the professional hammers. (kirk)
1952     +
1953     +2005-06-24 Friday 14:32 kirk
1954     +
1955     + Adding in a couple of small patches to clean up the module handling of
1956     + speakup. Once thanks to Daniel Drake for these. Let's see if I can
1957     + get this patch to check in properly now. (kirk)
1958     +
1959     +2005-06-22 Wednesday 16:16 kirk
1960     +
1961     + Checking in the changes to speakup for 2.6.12. This will make speakup
1962     + cvs incompatible with previous versions of the kernel before 2.6.12.
1963     + Many thanks to Daniel Drake of the gentoo project who managed to send
1964     + me patches before I had my changes very far underway. (kirk)
1965     +
1966     +2005-04-19 Tuesday 14:37 kirk
1967     +
1968     + This is getting tedious. The speakup.c does not like being the old
1969     + version! 'grin' (kirk)
1970     +
1971     +2005-04-19 Tuesday 12:26 kirk
1972     +
1973     + Updating Changlog, fixed a missing line in install script to move into
1974     + the kernel tree root needed for tar ball installation. Also checked
1975     + in another copy of the 2.4.27 speakup.c which somehow disappeared
1976     + after my last checkin. Let's see if this fixes the 2.4.27 plus cut
1977     + and paste hang problem. (kirk)
1978     +
1979     +2005-04-07 Thursday 15:57 gene
1980     +
1981     + Added Speakup User's Guide to the Speakup tree (Gene)
1982     +
1983     +2005-03-30 Wednesday 14:02 gene
1984     +
1985     + Changed max pitch in DecTalk Express driver from 100 to 200 (Gene)
1986     +
1987     +2005-03-02 Wednesday 20:23 kirk
1988     +
1989     + I have been also trying to figure out why the cvs mail is not going
1990     + out recently so this is mostly just a test of that and updating the
1991     + change log. (kirk)
1992     +
1993     +2005-03-02 Wednesday 20:04 kirk
1994     +
1995     + Well, I broke it good with the last check in and now I'm trying to fix
1996     + it. When I took a patch against speakup.c on checkin I forgot it
1997     + would check in the speakup.c as well so that won't work. Now I am
1998     + trying the other approach to copy a speakup.c into place on a 2.4.x
1999     + checkout. We'll see if it works. (kirk)
2000     +
2001     +2005-03-02 Wednesday 17:43 kirk
2002     +
2003     + Just checking in the new speakup.c.patch diff. (kirk)
2004     +
2005     +2005-03-02 Wednesday 17:40 kirk
2006     +
2007     + Making changes to the 2.6.11 branch of speakup. Had to change four
2008     + areas of vt.c and we should now have our speakup cursor updating
2009     + working once again. Thanks to Daniel Drake of Gentoo for supplying a
2010     + patch against speakup.c with all the vc_data structure and variable
2011     + changes. I am making a v2.6 patch against the 2.4.x speakup.c to
2012     + hopefully allow us to maintain both trees for a little while longer.
2013     + (kirk)
2014     +
2015     + Also made a minor change to speakup_dectlk.c driver to accommodate
2016     + female voices thanks to Ken Hitt for that. (kirk)
2017     +
2018     +2004-12-28 Tuesday 15:11 kirk
2019     +
2020     + Just checking in the latest ChangeLog. (kirk)
2021     +
2022     +2004-12-28 Tuesday 14:21 kirk
2023     +
2024     + [no log message]
2025     +
2026     +2004-12-28 Tuesday 14:03 kirk
2027     +
2028     + 2.6.10 changed the structure of console_callback() which did away with
2029     + the curcons variable for the total local context and made it local to
2030     + a if then clause. Also moved the function up about 40 lines in the
2031     + vt.c file which caused the patch to fail on checkout. (kirk)
2032     +
2033     +2004-10-21 Thursday 10:39 kirk
2034     +
2035     + I fixed host-progs-y to hostprogs-y which may have been screwing up
2036     + some people when installing keymaps and the like. (kirk)
2037     +
2038     +2004-10-20 Wednesday 14:28 kirk
2039     +
2040     + Okay, it seems that the atkbd must get registered in the serio modules
2041     + someplace because moving it below that in the drivers/Makefile allows
2042     + it to not only compile but actually boot the system as well. I also
2043     + fix the integer/pointer warning in line 917 of speakup.c. Now I just
2044     + have to get speakup to work once again. (kirk)
2045     +
2046     +2004-10-20 Wednesday 10:14 kirk
2047     +
2048     + Checking in the first set of modifications for the 2.6.9 kernel
2049     + speakup tree. Modified drivers/Makefile and arch/mips/Kconfig with a
2050     + successful compile. I still have to run some tests to check
2051     + operation. (kirk)
2052     +
2053     +2004-08-29 Sunday 23:52 kirk
2054     +
2055     + Minor fix to vt.c under 2.6.8.1 which prevented one hunk of the vt.c
2056     + patch from being applied.
2057     +
2058     + Thanks to Garry Turkington for finding the problem with speakup not
2059     + compiling under the amd 64 bit processors. I hope this will take care
2060     + of all 64 bit architectures. Garry's solution to the problem follows.
2061     + (kirk)
2062     +
2063     + In speakup.c you include the console_macros.h file from the drivers/char
2064     + directory. This is included before linux/modules.h which is fine in and
2065     + of itself. But in modules.h there's a
2066     + definition for :
2067     + struct attribute attr;
2068     +
2069     + This is conditional, within a
2070     + #ifdef CONFIG_MODULES
2071     +
2072     + The problem is that console_macros.h defines a macro called attr. So if
2073     + that definition above is hit the macro is included and everything barfs
2074     + horribly.
2075     +
2076     + So the solution is to move the #include "../console_macros.h" in speakup.c
2077     + from its current position further down - I put it after the
2078     + #include <linux/consolemap.h> just to be safe. Everything then compiles
2079     + fine and from a quick 10 minutes playing around seems to work well on my
2080     + Athlon64 box.
2081     +
2082     + I still don't understand the conditional compilation and why this hits on
2083     + the x86_64 build I've been using. Note that the attr nameclash isn't
2084     + Speakup specific - any module including that console_macros.h file is at
2085     + the same risk. I need to spend a little time understanding what the
2086     + conditional means and what config options hit it.
2087     +
2088     +2004-06-07 Monday 10:53 kirk
2089     +
2090     + Fixed the problem with not being able to switch between synths that
2091     + are built-in to the kernel. Changed the softsynth internal synth name
2092     + to sftsyn and applied Ammer's patch to fix the synth init string for
2093     + the DECTalk Express. Thanks Ameer. (kirk)
2094     +
2095     +2004-05-13 Thursday 16:05 yue
2096     +
2097     + include #include<linux/module.h> in consolemap.c, make sure EXPORT_SYMBOL
2098     + is defined in this file
2099     +
2100     +2004-05-13 Thursday 13:38 kirk
2101     +
2102     + First of all I believe I have fixed the say screen run together
2103     + problem but I haven't tested it myself so someone please let me know
2104     + if I squashed it. We were properly putting a blank space at the end
2105     + of the line but weren't incrementing the pointer correctly.
2106     +
2107     + Next Steve Holmes submitted a new script version of speakupconf which
2108     + will now save speakup settings separately for different synths. Thank
2109     + you Steve.
2110     +
2111     + And last but by no means least Ameer Armaly has submitted two patches
2112     + for the default speakup key map the first of which he claims makes the
2113     + qwerty keyboard map act more closely like the key pad keys. Secondly
2114     + he made some changes I requested which now place volume and pitch
2115     + increment and decrement on keyboard 1234 next to the rate decrement
2116     + and increment. We have moved the review and reading punctuation keys
2117     + up to speakup-f9 through speakup-f12 and move edit xnum to
2118     + speakup-shift-f5. Thank you very much for these changes Ameer. (kirk)
2119     +
2120     +2004-05-11 Tuesday 16:34 kirk
2121     +
2122     + Adding the new consolemap.c patch for 2.4.x. (kirk)
2123     +
2124     +2004-05-11 Tuesday 16:32 kirk
2125     +
2126     + Removing the selection.c patch for 2.4.x and taking the initial patch
2127     + for consolemap.c. (kirk)
2128     +
2129     +2004-05-11 Tuesday 16:29 kirk
2130     +
2131     + Initial check in of the 2.4.x modifications for cut and paste. I
2132     + believe this is still broken so try it at your own risk. My machine
2133     + has major hardware problems which prevent me getting this working
2134     + correctly just now. I'll try again from another machine later. (kirk)
2135     +
2136     +2004-05-11 Tuesday 14:45 kirk
2137     +
2138     + Adding the new patch file for consolemap.c which just needed to have a
2139     + function inverse_translate() exported. (kirk)
2140     +
2141     +2004-05-11 Tuesday 14:44 kirk
2142     +
2143     + Checking in the first draft of my cut and paste work around for 2.6.xx
2144     + kernels. This will temporarily break 2.4.xx kernels until I get the
2145     + changes there made. We are moving to our own selection.c routines
2146     + which are much smaller than the set_selection in selection.c because
2147     + we only keep the char-by-char mode and throw away the
2148     + highlighting. (kirk)
2149     +
2150     +2004-04-14 Wednesday 16:25 kirk
2151     +
2152     + Reverted the speakup Makefile change to $V that John Mylchreest
2153     + requested because it broke 2.4.x compiling. I need to get more
2154     + clarification on that because it doesn't look like it should have
2155     + affected his situation in anycase. (kirk)
2156     +
2157     +2004-04-06 Tuesday 13:26 kirk
2158     +
2159     + Fixed the problem with say current word when the reading cursor was
2160     + past the end of characters on the line. Fixed the say window problem
2161     + of only reading half of the line when a say window was hit. Modified
2162     + the speakup Makefile by request of John Mylchreest to remove the
2163     + $(topdir) variable being referenced because it seems to play havock
2164     + with koutput which Gentoo is using to build objects outside of the
2165     + tree. (kirk)
2166     +
2167     +2004-03-11 Thursday 14:35 kirk
2168     +
2169     + Checking in the new patch which is needed to make the keyboard
2170     + responce time changes that Gene checked in last week. I didn't
2171     + realize it needed a new patch so his change didn't take. (kirk)
2172     +
2173     +2004-03-11 Thursday 14:31 kirk
2174     +
2175     + Have removed the Kconfig patches for architectures alpha and m68k in
2176     + kernel 2.6.4 because they are using the same Kconfig as is i386 and
2177     + ppc. (kirk)
2178     +
2179     +2004-03-10 Wednesday 14:56 kirk
2180     +
2181     + This is just some clean up of the 2.6.3 kernel tree. Removed the ppc
2182     + architecture patch because they are now using the standard
2183     + drivers/Kconfig which is patched for speakup under the i386
2184     + architecture. Editted speakup_drvcommon.c and speakup_keypc.c to
2185     + clean up some warnings during compile time. (kirk)
2186     +
2187     +2004-03-06 Saturday 10:55 kirk
2188     +
2189     + Okay a bit of administrative housekeeping and some small but useful
2190     + tweaks. First of all much thanks to Ameer Armaly for finding a work
2191     + around for 2.6.x kernels to restore keyboard responciveness during the
2192     + boot sequence. Thank you to a host of folks that have sent me tweaks
2193     + for the speakup_apolo driver which I have just gotten around to
2194     + installing. I cannot remember all of your names but I know Christer
2195     + Extrum was one contributor please let me know how you all like the new
2196     + changes. I have updated the Todo list after a couple of years. It was
2197     + surprising to find how many of the items we had actually
2198     + accomplished. (kirk)
2199     +
2200     +2004-03-06 Saturday 01:09 kirk
2201     +
2202     + Okay, I have updated ChangeLog and patched drivers/char/Makefile to
2203     + work with 2.4.25. This is mostly a test to see if the cvs mailing
2204     + list is once again working or not. (kirk)
2205     +
2206     +2004-03-05 Friday 16:53 gene
2207     +
2208     + Patched drivers/Makefile to get early keyboard response at boot. (Gene)
2209     +
2210     +2003-12-22 Monday 16:22 kirk
2211     +
2212     + Finally got get_word() working the way I intended it to. Considerably
2213     + simpler code. Made a number of small modifications to various
2214     + drivers. We still have the kernel hang problem when trying to remove
2215     + modules when both speakup and the drivers are modularized. I'm not
2216     + sure what the hell is up with that. Sort of looks like a timing issue
2217     + but I can't see how or where. (kirk)
2218     +
2219     +2003-12-10 Wednesday 11:53 kirk
2220     +
2221     + Checking in the fixes to drivers/char/Makefile for the 2.4.23 kernel.
2222     + Hopefully this will still allow earlier 2.4.x kernels to still patch.
2223     + (kirk)
2224     +
2225     +2003-12-10 Wednesday 10:29 kirk
2226     +
2227     + Checking in the initial version of speakup_sftsyn.c a simple device
2228     + for software synthesizers. It will create a device /dev/softsynth
2229     + with major number 10 and minor 26 one higher than our /dev/synth.
2230     + This is a read only device and can be built as either a module or into
2231     + the kernel. (kirk)
2232     +
2233     + Also fixed a few minor other bugs, the double 'n' on the on/off label
2234     + which I've fixed at least twice before. Moved the park clear up a few
2235     + lines in handle_cursor so that bloody reading cursor is released when
2236     + a cursor key is hit. Fixed the kernel oops when unloading speakup as
2237     + a module with modprobe on the console. (kirk)
2238     +
2239     +2003-11-27 Thursday 08:41 kirk
2240     +
2241     + Okay, I'm checking in the probable fix for the mysterious 2.6.xx bleep
2242     + problem thanks to Jamie Teh. It seems that somehow two lines have
2243     + been being removed from keyboard.c when checking in some fix well in
2244     + the past. The two lines were:
2245     +
2246     + if (ticks)
2247     + mod_timer(&kd_mksound_timer, jiffies + ticks);
2248     +
2249     + Would someone running 2.6.0-test? please try this and let us know how
2250     + it works. (kirk)
2251     +
2252     +2003-11-20 Thursday 14:35 gene
2253     +
2254     + Updated the config help formatting in speakup/Kconfig. (Gene)
2255     +
2256     +2003-11-15 Saturday 14:13 david
2257     +
2258     + the synth struct was incorrectly named and it would not link
2259     + as a built-in
2260     +
2261     +2003-11-14 Friday 15:03 kirk
2262     +
2263     + Fixed Config.in to indicate the three to six character string rather
2264     + than four to six, thanks to Mario Lang for that. Also fixed a
2265     + conflict in Kconfig introduced when Gene checked in his new
2266     + configuration help information for the 2.6.xx kernels. (kirk)
2267     +
2268     +2003-11-13 Thursday 16:38 gene
2269     +
2270     + Wrote configuration help In Kconfig file for 2.6. (Gene)
2271     +
2272     +2003-11-13 Thursday 10:51 david
2273     +
2274     + fixed bad timer set code also cursortrack variable for possibly more
2275     + types of cursoring in the future.
2276     +
2277     +2003-11-12 Wednesday 15:53 kirk
2278     +
2279     + Made the modifications for the Apollo synth in the Configure.help for
2280     + the 2.4.xx kernels. (kirk)
2281     +
2282     +2003-11-12 Wednesday 15:41 kirk
2283     +
2284     + Fixed the problem with the Speakout synth not getting detected on load
2285     + thanks to Steve Holmes. I over looked fixing Apolo to Apollo in
2286     + Config.in thanks to Bill Acker for noticing that. I still have to fix
2287     + it in Config.help but I'll do that shortly. Put fuzzy say_word
2288     + processing back in when say_word_ctl is not set thanks to John Covici
2289     + for that one. I also put cursor tracking on/off back in do to a cast
2290     + of thousands asking for it. Mostly at the instigation of Gene
2291     + Collins. You'll have to check to see if it actually works Gene.
2292     + (kirk)
2293     +
2294     +2003-11-11 Tuesday 09:51 david
2295     +
2296     + the keynote pc driver off the machine which had the working version, oops!
2297     +
2298     +2003-11-06 Thursday 14:00 kirk
2299     +
2300     + These are mostly maintenance fixes. I added the Keynote Gold PC
2301     + configuration information to Kconfig. I edited the keynote driver
2302     + speakup_keypc.c so it actually compiles. Someone else will have to
2303     + test this because I don't have a Keynote Gold PC. I removed the
2304     + serial_in functions which were not being used from the
2305     + speakup_acntsa.c and speakup_bns.c drivers. I actually finally got
2306     + around to fixing the Apollo driver and related other code to use
2307     + apollo with two 'l's like it should have been a long time ago. (kirk)
2308     +
2309     +2003-11-03 Monday 09:31 david
2310     +
2311     + fixed a multiplier bug in common so it would do negative multipliers.
2312     + also added prliminary keynote pc driver.
2313     +
2314     +2003-11-01 Saturday 17:45 kirk
2315     +
2316     + I moved the synth_alive setting to true up a number of lines. The
2317     + synths which depend on that variable were not receiving their
2318     + initialization strings because it wasn't set quite early enough. The
2319     + speakup_write() returns if synth_alive isn't set and so it wasn't
2320     + sending out the initialization strings. (kirk)
2321     +
2322     + I put a ten millisecond delay back in the probing code for the
2323     + speakout which I removed when updating last time. It may be the
2324     + reason the probe is failing on the Speakouts. (kirk)
2325     +
2326     +2003-10-28 Tuesday 11:15 david
2327     +
2328     + fixed volume command for j norton
2329     +
2330     +2003-10-24 Friday 14:20 david
2331     +
2332     + the EXPORT-OBJ is now fixed
2333     +
2334     +2003-10-24 Friday 14:00 david
2335     +
2336     + ok hopefully keyboard.c and char/Makefile will patch correctly
2337     +
2338     +2003-10-23 Thursday 10:14 david
2339     +
2340     + added delay for accent-sa.
2341     + also fixed bug where if word ended in col-80 and next line had word in col-1
2342     + next-word key would skip first workd on next line.
2343     +
2344     +2003-10-20 Monday 09:58 kirk
2345     +
2346     + Changed patch for architecture i386 from arch/i386/Kconfig to
2347     + drivers/Kconfig for kernels above 2.6.0-test7. I suspect this may
2348     + happen to many of the architecture files over time. Makes sense
2349     + really. (kirk)
2350     +
2351     +2003-10-10 Friday 16:08 kirk
2352     +
2353     + I have fixed the say_next_word bug which when moving to the next line
2354     + misses the partial word at the beginning of line caused by a wrap
2355     + around on the screen. I have also created a new
2356     + /proc/speakup/say_word_ctl option to allow a user to set whether they
2357     + have the old say word behavior or returns space if between words. The
2358     + default is the old way although not quite because I still have to fix
2359     + the way it used to check words. It will eventually have more control
2360     + options than just 0 return word or 1 return space on space. (kirk)
2361     +
2362     +2003-10-08 Wednesday 13:29 kirk
2363     +
2364     + Temporarily removing the MOD_INC_AND_DEC_USE_COUNT variables for now.
2365     + I am not sure they are particularly useful. (kirk)
2366     +
2367     +2003-10-08 Wednesday 11:02 kirk
2368     +
2369     + Made a couple of syntax changes to speakup_key_help and
2370     + speakup_acntsa.c. Also modified the Dectalk PC internal
2371     + driver. (kirk)
2372     +
2373     +2003-10-07 Tuesday 21:04 kirk
2374     +
2375     + Okay, I have modified all of the drivers except the Dectalk PC
2376     + internal. People are free to try them and let me know how they do or
2377     + don't work. (kirk)
2378     +
2379     +2003-10-07 Tuesday 16:02 kirk
2380     +
2381     + This is an experimental check in of speakup which has many changes and
2382     + fixes and most likely broken bits, in it. It is dangerous to use this
2383     + currently and unless you have an Apollo, Transport or LiteTalk it just
2384     + plain won't work.
2385     +
2386     + Now what I have done so far. Modified synth_request_region to steel
2387     + the tty's away from the operating system if we're being loaded as a
2388     + module or modules. Heavily modified the module sections of the code
2389     + to work properly under 2.6.x and 2.4.2? hopefully. Modified three
2390     + drivers so far to not pretend to be ready and available when they are
2391     + not. We get away with it under 2.4.x but not under 2.6.x. I don't
2392     + remember what else just now but a lot of changes. (kirk)
2393     +
2394     + When this is all finished you will be able to load or unload with
2395     + either modprobe or echo whichever you prefer. It will hopefully make
2396     + it easier for loading modules at boot time. (kirk)
2397     +
2398     +2003-09-19 Friday 10:03 kirk
2399     +
2400     + Just updating the ChangeLog before commensing to break things! (kirk)
2401     +
2402     +2003-09-19 Friday 10:01 kirk
2403     +
2404     + Updating the 2.6.0 tree based on 2.6.0-test5 which modified once again
2405     + how the arch Kconfig's are arranged. Also including the decpc driver
2406     + and fixing a Kconfig bug for the Audapter under 2.6.x kernels. (kirk)
2407     +
2408     +2003-08-18 Monday 13:02 gene
2409     +
2410     + Reverted from Jul 23 to Jul 16 LiteTalk driver because of a bad port test. (Gene)
2411     +
2412     +2003-08-08 Friday 14:15 david
2413     +
2414     + added punc level 4 for reading of extended characters above ascii 127
2415     + changed the say/spell word functions so that if not on a word say space
2416     + instead of dragging to the nearest word, prevented me from hearing
2417     + collumn misallignments.
2418     +
2419     +2003-08-02 Saturday 20:56 david
2420     +
2421     + fixed accent driver, forgot to set synth_alive (cuss cuss)
2422     + So it use to only talk when you pressed kill oops :-)
2423     +
2424     +2003-08-01 Friday 16:23 david
2425     +
2426     + fixed flush and some hanging issues. Also better board detection.
2427     +
2428     +2003-07-31 Thursday 11:27 david
2429     +
2430     + the dec_pc beta driver. You will also need dec_pc.tgz to init the
2431     + dec_pc board. The source for dtload is here.
2432     + the dec_pc.tgz contains dtload, a Readme and the dec_pc software.
2433     +
2434     +2003-07-30 Wednesday 14:50 david
2435     +
2436     + hmmm fixed help? darn thing didn't even compile. oops!!
2437     +
2438     +2003-07-30 Wednesday 14:45 david
2439     +
2440     + fixed help so it doesn't hang.
2441     + also removed the synthlist for modules. this means that new synth
2442     + can be loaded as modules without re-compiling speakup.
2443     + It now just looks for a module speakup_(name) with a valid check value
2444     + in the synth header.
2445     +
2446     +2003-07-28 Monday 18:48 david
2447     +
2448     + fixed dec to be more responsive after flush.
2449     + instead of waiting 100ms, wiat for receive ctl-a
2450     + from express, signals done flush.
2451     +
2452     +2003-07-23 Wednesday 14:26 david
2453     +
2454     + fixed bug in ltlk where if no synth kernel hung
2455     + waiting for input. Also made sure other
2456     + synths could not hang on startup.
2457     +
2458     +2003-07-22 Tuesday 17:17 kirk
2459     +
2460     + Checking in the 2.6.x changes to Makefile to support Davids new
2461     + makemapdata.c and makemapdata.h files. (kirk)
2462     +
2463     +2003-07-22 Tuesday 15:15 kirk
2464     +
2465     + Okay, I lied earlier as usual. This fix works and I know it! (kirk)
2466     +
2467     +2003-07-22 Tuesday 10:51 kirk
2468     +
2469     + Hopefully fixed once and for all the copy and paste call to
2470     + set_selection() for 2.4.x and 2.6.x kernels. Had to revert to using a
2471     + silly #if (linux_version_code) macro for a function argument which
2472     + gets bumped in 2.4.x kernels but is used as is in the 2.6.x
2473     + tree. (kirk)
2474     +
2475     +2003-07-21 Monday 08:26 david
2476     +
2477     + fixed keyhelp so speakup key is not announced twice as in
2478     + keypad 0, speakup keypad 0
2479     + the speakup mapping is required so speakup key is processed
2480     + when speakup bit is set.
2481     + also genmap now detects two functions mapped to same key combination.
2482     +
2483     +2003-07-18 Friday 10:08 david
2484     +
2485     + makemapdata.c creates mapdata.h which is used to
2486     + build genmap
2487     +
2488     +2003-07-18 Friday 10:07 david
2489     +
2490     + split genmap into two programs so includes do not
2491     + have to be available.
2492     + makemapdata constructs the tables which genmap uses
2493     + mapdata.h is compiled into genmap so it can be stand-alone
2494     +
2495     +2003-07-17 Thursday 16:24 david
2496     +
2497     + enlarged keytable was causing misread of say attributes,
2498     + also version #if on inc_mod_use_count was wrong
2499     +
2500     +2003-07-17 Thursday 09:46 david
2501     +
2502     + a script to load/save speakup configurations. run as speakupconf load/save
2503     + as root saves in /etc/speakup, as non-root saves in $HOME/.speakup
2504     +
2505     +2003-07-17 Thursday 08:09 kirk
2506     +
2507     + Checked in Kconfig-shared.patch which I forgot to check in yesterday.
2508     + Removed arch/mips/Kconfig which has been replaced with Kconfig-shared.
2509     + Fixed copy-and-paste which wasn't working in the 2.5.x and 2.6.x
2510     + kernel branches. (kirk)
2511     +
2512     +2003-07-16 Wednesday 20:50 kirk
2513     +
2514     + Rechecking in the 2.4.21 changes to speakup. I have also changed the
2515     + default punctuation delimeters to none and moved reading punc default
2516     + back to some. (kirk)
2517     +
2518     +2003-07-16 Wednesday 17:17 david
2519     +
2520     + long awaited keymap proc entry. use genmap to create the map.
2521     + as in genmap personal.map >/proc/speakup/keymap
2522     + or genmap personal.map >key_save
2523     + then at startup cat key_save >/proc/speakup/keymap
2524     +
2525     +2003-07-16 Wednesday 13:51 kirk
2526     +
2527     + Adding in initial support for Linux version 2.6.x. (kirk)
2528     +
2529     +2003-07-16 Wednesday 09:07 david
2530     +
2531     + added a check value to synth structure to validate on init.
2532     + added synth flags for synth speciffic processing.
2533     + added synth speciffic code for dectalk to insert a space between
2534     + puncs and alphas to stop dec from spelling urls etc when punc is not
2535     + spoken.
2536     +
2537     +2003-07-15 Tuesday 16:29 david
2538     +
2539     + added extended numeric processing to do $4.00 correctly.
2540     + no exnum chars are currently on, edit them is bound to speakup f9
2541     +
2542     +2003-07-11 Friday 08:43 david
2543     +
2544     + added a type 2 key echo for always speaking key even if system does not
2545     + echo, useful for validating visa numbers etc. in forms.
2546     +
2547     +2003-07-08 Tuesday 08:51 david
2548     +
2549     + fixed keyboard so works in raw mode and also prev hang bug fix from 2.4
2550     +
2551     +2003-07-08 Tuesday 08:35 david
2552     +
2553     + fixed keyboard hang, caused by shift_state pointing at null map
2554     + and I passed KT_SPKUP instead of KT_SHIFT which caused shift_state to not be computed
2555     +
2556     +2003-06-26 Thursday 14:32 kirk
2557     +
2558     + Modified Makefile to handle compiling of genmap and the speakupmap.h
2559     + dependency correctly once again in the 2.4.x tree. Also updated
2560     + ChangeLog because it hasn't been done for a while. (kirk)
2561     +
2562     +2003-06-26 Thursday 13:43 kirk
2563     +
2564     + These are mostly changes to try to get the modularization working with
2565     + the 2.5.x kernel tree. They may have had an unstablizing affect on
2566     + the 2.4.x tree so beware.
2567     +
2568     + Changes include modifying genmap.c to hopefully work in both the 2.4.x
2569     + and 2.5.x trees. This has not yet been tested on the 2.4.x tree
2570     + although it will be soon. The reason for it's changes are because the
2571     + 2.4.x kernels 'cd' into each directory and then run Makefile. In the
2572     + 2.5.x kernels all compiling is run from the tree root.
2573     +
2574     + Modified Makefile to also use the 2.5.x Makefile changes and reordered
2575     + the synth lines alphabetically.
2576     +
2577     + Modified a couple of drivers and the module include files to
2578     + incorporate Tom Stivers module licensing strings which will hopefully
2579     + stop the tainted kernel messages on module loading.
2580     +
2581     + Partially incorporated the modularization code into keyboard.c, vt.c
2582     + and I'm not sure what other patches. This is not complete. Speakup
2583     + works if built-in but I am getting all sorts of kernel oopses when
2584     + loading modules. There's something I don't have quite right just
2585     + yet. (kirk)
2586     +
2587     +2003-06-19 Thursday 09:41 kirk
2588     +
2589     + qUpdated files for 2.4.21 which will require using it. Files changed are arch/mips/config-share.in, drivers/char/Makefile, drivers/char/keyboard.c and removed the miscdevices.h patch which doesn't appear to be necessary any longer. (kirk)
2590     +
2591     +2003-06-18 Wednesday 16:29 david
2592     +
2593     + added module include
2594     +
2595     +2003-06-17 Tuesday 16:37 david
2596     +
2597     + fixes to makefiles in speakup and char so it actually builds :-)
2598     +
2599     +2003-06-16 Monday 16:55 david
2600     +
2601     + added hopefully all the exported symbols for
2602     + modular speakup
2603     +
2604     +2003-06-16 Monday 16:40 david
2605     +
2606     + added the patch for vt.c to export kd_mksound for spk module
2607     +
2608     +2003-06-16 Monday 16:38 david
2609     +
2610     + modularized speakup now works on 2.4.
2611     + loading any synth with modprobe should load spk.o and start talking
2612     +
2613     +2003-06-13 Friday 12:43 david
2614     +
2615     + added key exploring to help so they ident when pressed.
2616     + also took off the unsigned from the int currcons as
2617     + fg_console is an int so the called funcs ought to take an int
2618     +
2619     +2003-06-13 Friday 08:39 kirk
2620     +
2621     + A couple of small fixes I keep making and forgetting to check in. Fixed
2622     + CONFIG_SPEAKUP_APOLO in the Kconfig file. Placed a space after cap in
2623     + the caps_start string for the apolo. I can't remember what else
2624     + off-hand. (kirk)
2625     +
2626     +2003-06-12 Thursday 15:48 kirk
2627     +
2628     + A simple typo fix in ld_help although I like having hell in the middle
2629     + of help. (kirk)
2630     +
2631     +2003-06-12 Thursday 14:39 david
2632     +
2633     + keyinfo.h is #defines and enum formerly in include/linux/speakup.h
2634     + these are not kernel specific and might as well be here!
2635     +
2636     +2003-06-12 Thursday 14:37 david
2637     +
2638     + moved defines to keyinfo.h and 2.5 task scheduling stuff
2639     +
2640     +2003-06-12 Thursday 14:30 david
2641     +
2642     + moved defines for keys to keyinfo.h in speakup directory.
2643     + version 2.5 scheduling also
2644     +
2645     +2003-06-12 Thursday 12:07 david
2646     +
2647     + added speakup_keyhelp.c
2648     + key help module
2649     +
2650     +2003-06-12 Thursday 12:05 david
2651     +
2652     + added a rather nifty key help module currently speakup-f1
2653     + must do make modules and make modules_install to install it.
2654     +
2655     +2003-05-30 Friday 13:18 david
2656     +
2657     + changed special handlers to return int so -1 is error, 0 let system
2658     + do key, 1 we used the key.
2659     + also changed read_punc default to 3.
2660     + also goto can end with another goto press or enter,
2661     + I prefer enter to do the goto.
2662     +
2663     +2003-05-30 Friday 09:52 david
2664     +
2665     + moved the re-enable synth to speech_kill as this is the total speech off
2666     + also fixed a bug where if speakup_off it was reading when cursor keys pressed
2667     +
2668     +2003-05-27 Tuesday 21:19 david
2669     +
2670     + forgot to add speech_kill to speakupmap.map
2671     +
2672     +2003-05-27 Tuesday 11:20 kirk
2673     +
2674     + I believe I've fixed the 2.5.x speech output going away. It was
2675     + is_cursor never getting set back to zero because of an inverted test
2676     + in cursor_stop_timer(). Took one hell of a lot of work to hunt it
2677     + down though. I also fixed another bug which was passing a u_char in a
2678     + function header when the calling argument was actually an int, talk
2679     + about interesting results. (kirk)
2680     +
2681     +2003-05-23 Friday 11:04 david
2682     +
2683     + fixed a couple of missing parens in speakup.h and took out double setting
2684     + of $V in Makefile. It stays set from first test.
2685     +
2686     +2003-05-22 Thursday 19:35 kirk
2687     +
2688     + Okay, doesn't it figure that I couldn't get it right the first time
2689     + anytime. Moved the #if linux_version_code test block for the
2690     + #includes down to get around the voodoo compiler errors. Also had to
2691     + remove a line I missed having in a version check #ifdef in
2692     + speakup_drvcommon.c. (kirk)
2693     +
2694     +2003-05-22 Thursday 17:21 kirk
2695     +
2696     + This is the first preliminary check in of the new #if revisions for
2697     + the 2.4.x and 2.5.x kernels. The files affected are Makefile,
2698     + speakup.c, speakup_drvcommon.c and spk_priv.h. I have also removed
2699     + the speakupmap section of Kconfig and the char/Makefile related to the
2700     + speakupmap code. Hopefully this won't break anything but world peace
2701     + is probably just around the corner as well. (kirk)
2702     +
2703     +2003-05-21 Wednesday 16:40 david
2704     +
2705     + fixed keyboard.h and speakup.h for b2.5 kernels
2706     +
2707     +2003-05-21 Wednesday 16:21 david
2708     +
2709     + #ifdef versioned Kirk's changed for 2.5
2710     + added a version of Terry Cudney's keymap so laptop users will be happy
2711     + allowed multiple defs of the speakup key currently
2712     + caps_lock, left_meta and numpad_insert
2713     +
2714     +2003-05-16 Friday 18:20 kirk
2715     +
2716     + Okay, I've figured out what's wrong now I have to figure out how to
2717     + fix it. Here is a temporary fix though I think. I'm placing the
2718     + original 2.4.20 spk_priv.h back in place. (kirk)
2719     +
2720     +2003-05-16 Friday 18:07 kirk
2721     +
2722     + To weird, this is 2.4.x being fixed yet again. (kirk)
2723     +
2724     +2003-05-16 Friday 18:04 kirk
2725     +
2726     + Okay, trying this once again. this is the 2.5.x tree. (kirk)
2727     +
2728     +2003-05-16 Friday 17:44 kirk
2729     +
2730     + This is just getting to weird. This is another check in of Makefile,
2731     + speakup.c and speakup_drvcommon.c for the 2.4.20 tree. These seem to
2732     + keep getting overwritten when I checkin the 2.5.x tree. (kirk)
2733     +
2734     +2003-05-16 Friday 16:53 kirk
2735     +
2736     + cvs add'ing the new spk_priv.h file for 2.5.x. (kirk)
2737     +
2738     +2003-05-16 Friday 16:51 kirk
2739     +
2740     + Forgot to checkin a slightly modified spk_priv.h earlier. It seems
2741     + the timer_list structure has changed somewhat in 2.5.x kernels. The
2742     + member structure list has changed names to entry. (kirk)
2743     +
2744     +2003-05-16 Friday 15:40 kirk
2745     +
2746     + Okay, checking the proper 2.4.x Makefile, speakup.c and
2747     + speakup_drvcommon.c files hopefully. (kirk)
2748     +
2749     +2003-05-16 Friday 14:57 yue
2750     +
2751     + Still trying to clean up all of my screw-ups from the original checkin
2752     + of the 2.5.x material. (kirk)
2753     +
2754     +2003-05-16 Friday 14:04 yue
2755     +
2756     + Forgot to add the new patch files in diff-v25. Time to take a break I
2757     + think. (kirk)
2758     +
2759     +2003-05-16 Friday 13:20 yue
2760     +
2761     + Just removing the config.help which isn't needed under v2.5.x any
2762     + longer. (kirk)
2763     +
2764     +2003-05-16 Friday 12:43 yue
2765     +
2766     + This is the first checkin of the new 2.5.x speakup code. We have
2767     + created patches against the 2.4.x versions of speakup Makefile,
2768     + speakup.c speakup_drvcommon.c, as well as adding Kconfig which is the
2769     + new 2.5.x configuration system. (kirk really Yue)
2770     +
2771     +2003-05-13 Tuesday 13:05 david
2772     +
2773     + took out the console announce, added stuff for the soon coming help handler
2774     + add speakup.o to the objects that export symbols in Makefile
2775     +
2776     +2003-05-13 Tuesday 10:35 david
2777     +
2778     + moved the shift check in speakup_key so the spk key can be one
2779     + of the shift/ctrl/alts if someone wants that.
2780     + added announcement when switching consoles.
2781     + added flag to stop multiple misc_register from being done,
2782     + crashed kernel if called more than once.
2783     +
2784     +2003-05-13 Tuesday 09:51 kirk
2785     +
2786     + Okay, I fucked things up big time when I cleaned up the Makefile last
2787     + night. I kinda cleaned up to much. I think it's all better
2788     + now. (kirk)
2789     +
2790     +2003-05-12 Monday 21:48 kirk
2791     +
2792     + Fixed a couple of typos in checkout. BTW, everyone needs a new
2793     + checkout script. (kirk)
2794     +
2795     +2003-05-12 Monday 21:35 kirk
2796     +
2797     + Turning on the --silent flag in patch. (kirk)
2798     +
2799     +2003-05-12 Monday 21:28 kirk
2800     +
2801     + Adding in the new patch files in diff-v24. (kirk)
2802     +
2803     +2003-05-12 Monday 21:05 kirk
2804     +
2805     + Cleaning up the speakup Makefile and about to destroy checkin and
2806     + checkout. Hopefully not for long. I, if successful, am modifying the
2807     + files in diff-vxx to be relative to the root dir which is the top
2808     + directory of the kernel tree. Checkout will first look for a command
2809     + line argument pointing to the kernel tree. If none is given it will
2810     + check for the existence of a kernel and Documentation directory in the
2811     + current directory and if found will determine that it is in the root
2812     + directory and set ROOTDIR accordingly. if not we will fall back to
2813     + assuming the tree is in /usr/src/linux. (kirk)
2814     +
2815     +2003-05-12 Monday 19:36 david
2816     +
2817     + fixed edit punc/delim/repeats to allow shift.
2818     + Also allow alpha in delim/repeats
2819     +
2820     +2003-05-12 Monday 17:20 david
2821     +
2822     + added the shift states to thespeakup internam key_buf
2823     + required for help, coming soon.
2824     + also extened key_max to 128 so windows keys could be used.
2825     +
2826     +2003-05-12 Monday 11:38 david
2827     +
2828     + added more info to the keymap, also finished spk key now defineable.
2829     + added it to map as KEY_KP0. genmap just puts out numbers to speakupmap.h now.
2830     + working towards /proc/speakup/keymap loading.
2831     + using genmap to generate the proc stuff as well as the built-in map.
2832     + added error checking to set_key_info as well as pass in the buffer so we could
2833     + have console speciffic keymaps if we want too at a later time.
2834     +
2835     +2003-05-10 Saturday 18:36 david
2836     +
2837     + in the second call to speakup_key keysym was uninitialized and could have
2838     + inadvertantly called one of the handlers with bad data.
2839     +
2840     +2003-05-10 Saturday 14:45 david
2841     +
2842     + I put the fix in for keyboard.c so if no map speakup_key will
2843     + still be called. also the = in genmap.c
2844     +
2845     +2003-05-10 Saturday 13:33 kirk
2846     +
2847     + Okay, added an equal sign to the output loop condition in genmap.c
2848     + which was causing the speakupmap.h to be cut-off one entry to soon.
2849     + Removed a 'l' from the word coll in say_position() which was causing
2850     + some synths the Audapter in particular to mispronounce it. Removed
2851     + symbols.h because it appears we do not need it any longer. (kirk)
2852     +
2853     +2003-05-10 Saturday 00:00 david
2854     +
2855     + fixed a tolower bug in genmap.c as you can't downshift a quoted string.
2856     + also some module unloading code in speakup.c to restore the key_handlers.
2857     + Still more module stuff to be done.
2858     +
2859     +2003-05-09 Friday 15:17 david
2860     +
2861     + spk_con_module.h is include by ../console.c when speakup
2862     + is configured as a module.
2863     +
2864     +2003-05-09 Friday 15:16 david
2865     +
2866     + the new mappings generated from speakupmap.map
2867     +
2868     +2003-05-09 Friday 15:15 david
2869     +
2870     + now speakupmap.h is included in speakup to provide mappings
2871     +
2872     +2003-05-09 Friday 15:13 david
2873     +
2874     + changed genmap and speakupmap.map to be the new style of keymaps
2875     + key names are now from include/linux/input.h
2876     + no special default keymap anymore, speakup mappings are done in speakup itself.
2877     + many changes in speakup.c also for local keymapping and more moving towards being able to be a
2878     + module. the speakup key numpad 0 is currently hardcoded but may change soon.
2879     + the modifiers currently supported are shift, ctrl, alt, altgr, spk and double
2880     + the double press keys can now be anything which has a single press map.
2881     + Warning: this is relatively untested code and may not be extremely stable
2882     + although it has not crashed for me.
2883     +
2884     +2003-05-07 Wednesday 13:14 david
2885     +
2886     + more moving to a module version. fixed init so is module callable by moving
2887     + the code into speakup_open accept the initial alloc then module can alloc first console
2888     + and call open. Also changed KT_SPKUP to 14 so if null synth they will
2889     + be ignored.
2890     +
2891     +2003-05-05 Monday 09:56 kirk
2892     +
2893     + Starting the trashing of 2.2.x kernel support. We are moving toward
2894     + 2.4.x and 2.5.x. (kirk)
2895     +
2896     +2003-05-05 Monday 09:46 david
2897     +
2898     + start of modularizing speakup.
2899     + also fixed char/Makefile so in no speakup default keymap the kernel still
2900     + compiles. changed parms to speakup_key for mapping of speakup keys in speakup
2901     + itself to support 2.5 kernels.
2902     +
2903     +2003-05-03 Saturday 19:29 kirk
2904     +
2905     + Fixed bug in say_next_word which caused skipping over the entire next
2906     + word if you were on the space just before the word. (kirk)
2907     +
2908     +2003-05-02 Friday 20:10 kirk
2909     +
2910     + Moved spk_register_dev() into proc_init() and removed the main.c patch
2911     + to do the registration. That should fix the devfs hang problem. Also
2912     + took the \r out of the synth_interrogate() function in
2913     + speakup_ltlk.c. (kirk)
2914     +
2915     +2003-05-02 Friday 18:43 kirk
2916     +
2917     + Fixed the problem with writing back to a string file in /proc/speakup
2918     + by surrounding the string in quotes and prepending a \x before
2919     + unprintable characters. I think it's a bit of a kludge so if anyone
2920     + sees a more elligant solution to the problem please invoke
2921     + same. (kirk)
2922     +
2923     +2003-05-02 Friday 12:01 kirk
2924     +
2925     + Now that I've added the ChangeLog, maybe just maybe I should make sure
2926     + it's up to date. (kirk)
2927     +
2928     +2003-05-02 Friday 11:56 kirk
2929     +
2930     + Adding the correct tome offset from Steve Homes for the Speak Out
2931     + driver. Also adding the ChangeLog which I thought was already part of
2932     + it. Go figure. (kirk)
2933     +
2934     +2003-05-01 Thursday 10:52 david
2935     +
2936     + fixed a bug in phonetic char and also have it prefix digits with number.
2937     +
2938     +2003-04-30 Wednesday 22:33 david
2939     +
2940     + try to get the cvs to eat my tab mod in console.c so tabbed
2941     + columns read properly
2942     +
2943     +2003-04-30 Wednesday 22:27 david
2944     +
2945     + fixed a bug where punctuation allowed to synth when punct is off said
2946     + nothing but could announce repeats.
2947     + also suppress multiples so repeats don't give long pauses.
2948     + added a write of a space in the console for a tab so tabbed columns
2949     + read properly not run together.
2950     +
2951     +2003-04-30 Wednesday 19:14 kirk
2952     +
2953     + I've put a test in synth_interrogate() to break from the rom version
2954     + loop if i gets larger than 48. I'm trying to find out what could
2955     + cause some ltlks to hang the system. (kirk)
2956     +
2957     +2003-04-30 Wednesday 17:02 kirk
2958     +
2959     + Just checking in the latest cvs logs. We have been remiss in keeping
2960     + on top of it.. (kirk)
2961     +
2962     +2003-04-30 Wednesday 14:29 david
2963     +
2964     + forgot to append a space in speak_char, kind of sounds funny!
2965     +
2966     +2003-04-30 Wednesday 14:21 david
2967     +
2968     + fixed one line windows, forgot to set bottom.
2969     + also some optimization in synth_start and spkup_write.
2970     + took the ex_num handling for now as it was buggy
2971     +
2972     +2003-04-30 Wednesday 12:35 kirk
2973     +
2974     + Changed speakup_ltlk.c to support the newer chip set needing a \r the
2975     + interrogate command. This now works with the TrippleTalk serial ports
2976     + on the usb synths as well. (Kirk)
2977     +
2978     +2003-04-29 Tuesday 08:43 kirk
2979     +
2980     + Fix synth detection string in speakup_audptr.c from "0x05[q" to
2981     + "\x05[q". (kirk)
2982     +
2983     +2003-04-28 Monday 12:24 david
2984     +
2985     + fixed chars_write_proc a rather silly bug, well two of them,
2986     + a bad optimization, and cnt was not zero when going back to get_more
2987     +
2988     +2003-04-25 Friday 15:35 david
2989     +
2990     + fixed get_word so if on a space before a word, advances one char.
2991     + Also an odd bug insay_word where multiple words of one char the same would get counted
2992     + as repeats, append a space to the word to stop this behaviour.
2993     +
2994     +2003-04-24 Thursday 15:32 david
2995     +
2996     + speakup.h in include/linux needs updating
2997     +
2998     +2003-04-24 Thursday 13:40 david
2999     +
3000     + fixed the rate and voice keys in the map I got caught by cut and paste
3001     +
3002     +2003-04-24 Thursday 13:28 kirk
3003     +
3004     + Fixed lock_status[] array to remove the second 'n' in on. Rewrote the
3005     + probe routine for the Transport driver to get a more reliable probing
3006     + on module loads. (kirk)
3007     +
3008     +2003-04-24 Thursday 12:09 david
3009     +
3010     + added reading level punctuation on speakup 3-4 top row numbers, moved rate to speakup 5-6
3011     + and voice change on speakup 7-8 top row numbers
3012     + also took out the __init declarations on places that may be called
3013     + more than once such as synth init/probe code
3014     +
3015     +2003-04-23 Wednesday 21:03 kirk
3016     +
3017     + A small modification to the top_edge() function to try to correct the
3018     + move to top of screen problem. (kirk)
3019     +
3020     +2003-04-23 Wednesday 20:14 david
3021     +
3022     + fixed a bug where numlock also made cursor keys numeric
3023     + was passing scancode to speakup_key not the translated keycode.
3024     + also makes numeric + and / work too!
3025     +
3026     +2003-04-23 Wednesday 13:53 david
3027     +
3028     + fix to mod_code that should fix the null pointer problem
3029     + If a module was installed wile another synth was active the wrong pointer
3030     + was updated
3031     +
3032     +2003-04-22 Tuesday 22:13 david
3033     +
3034     + fixed prev and next word so they stop on lines containing only delimiters
3035     + hopefully right this time.
3036     +
3037     +2003-04-22 Tuesday 11:16 david
3038     +
3039     + turn off temp park on type KT_SPEC keys such as enter, locks etc.
3040     +
3041     +2003-04-22 Tuesday 11:06 david
3042     +
3043     + added window which can be set, cleared, silenced or read,
3044     + currently bound to speakup with f1-f4 respectively
3045     + added keyboard editing of punc/delimiter/repeat chars.
3046     + currently mapped as follows:
3047     + speakup f5, edit some. speakup f6, edit most.
3048     + speakup f7, edit delimiters. speakup f8, edit repeats.
3049     + also touched initial rates in dectlk, decext, dtlk and ltlk synth files.
3050     +
3051     +2003-04-21 Monday 14:03 kirk
3052     +
3053     + I've fixed a character misplacement in speakup_decext.c in serprobe().
3054     + I hope this fixes Genes problem. (kirk)
3055     +
3056     +2003-04-21 Monday 12:35 kirk
3057     +
3058     + Just changing grave to accent again in the characters array. This is
3059     + really a test to see how cvs logging to a mailing list works. (kirk)
3060     +
3061     +2003-04-21 Monday 12:28 kirk
3062     +
3063     + Just changing grave to accent again in the characters array. This is
3064     + really a test to see how cvs logging to a mailing list works. (kirk)
3065     +
3066     +2003-04-18 Friday 15:44 david
3067     +
3068     + fixed open brace function begins, added numlock on gives numbers, fixed bugs in next/prev word
3069     + bleeps for attrib and bleep now do: 0 nothing, 1 beep, 2 announce, 3 both
3070     + changed speakup_reset to speakup_key, better name.
3071     + changed temperary park so it goes on only you move the review cursor.
3072     + i.e. prev/next char, word, line, edges, first/last char.
3073     +
3074     +2003-04-16 Wednesday 14:04 kirk
3075     +
3076     + I've changed speakupmap.map keycode 14 back to Delete from Backspace.
3077     + Thank you David for finding that. I've also changed the grave accent
3078     + key back to accent from grave which I'm afraid blends into strings to
3079     + well. (kirk)
3080     +
3081     +2003-04-14 Monday 16:32 kirk
3082     +
3083     + I forgot to #include "cvsversion.h" in the last check in. This also
3084     + has David's new speakup_reset() function. I haven't tested it
3085     + yet. (kirk)
3086     +
3087     +2003-04-14 Monday 14:37 kirk
3088     +
3089     + Okay, this is the first check in of Dave Borowski's major revisions to
3090     + speakup. It includes automagic cursor tracking, synth driver
3091     + modularization a whole bunch of rewritten code and a whack of new bugs
3092     + as well. This is very unstable currently, use at your own
3093     + risk. (kirk)
3094     +
3095     +2003-03-18 Tuesday 16:11 kirk
3096     +
3097     + Put a key definition into speakupmap.map for ShiftR keycode 55 which I
3098     + forgot to include when I was modifying how the map worked. This
3099     + restores the speakup go to column and row with the insert cursoring
3100     + mode. (kirk)
3101     +
3102     +2002-12-13 Friday 20:15 kirk
3103     +
3104     + Okay, to fix the problem when there is no speakup map loaded and
3105     + numlock is turned on, I've renamed all altgr modifiers to Shiftr which
3106     + is not used. I also changed the key check in speakup_control to the
3107     + shiftr code. As far as I can tell this fixes the problem. I had to
3108     + define the keymaps = line to include the 32 weight for the shiftr
3109     + key. (kirk)
3110     +
3111     +2002-08-15 Thursday 20:00 gene
3112     +
3113     + Fix multiple quick_quiet definition for 2.2.x (Gene)
3114     +
3115     +2002-08-07 Wednesday 14:10 kirk
3116     +
3117     + Stupid me forgot to remove a plus sign. Sorry about that folks. (kirk)
3118     +
3119     +2002-08-07 Wednesday 12:27 kirk
3120     +
3121     + Just fixing the miscdev.h /dev/synth entry which was rejected because a new line added to the file. (kirk)
3122     +
3123     +2002-07-05 Friday 21:52 gene
3124     +
3125     + fixed 2.2.x numlock 0 bug (Gene)
3126     +
3127     +2002-07-05 Friday 14:01 kirk
3128     +
3129     + Checking numlock keyboard enter '0' fix for 2.4.18 in keyboard.c
3130     + (kirk)
3131     +
3132     +2002-07-05 Friday 13:51 kirk
3133     +
3134     + Added in David Borowski's patches with takes speakupmap.map with text
3135     + strings representing the functions and converts them to their hex
3136     + string values usable by loadkeys. This patch affects Makefile in
3137     + speakup, speakupmap.map and a new file genmap.c. (kirk)
3138     +
3139     + Fixed the bug which placed a '0' on the command line when hitting
3140     + 'enter' with numlock mode on. Speakup_control() was being called from
3141     + do_spec() with a bad value. (kirk)
3142     +
3143     +2002-06-14 Friday 15:55 gene
3144     +
3145     + Edited drivers/char/Makefile to elimate multiple keymap definition problem (Gene)
3146     +
3147     +2002-06-13 Thursday 17:43 kirk
3148     +
3149     + Removed the speakup/Makefile patch I added last week because I found a
3150     + cleaner way to handle the make build variable changes. (kirk)
3151     +
3152     +2002-06-13 Thursday 10:21 jim
3153     +
3154     + /usr/src/linux/drivers/char/Makefile:
3155     + truncated line to read:
3156     + KEYMAP =
3157     + (jim)
3158     +
3159     +2002-06-11 Tuesday 14:24 kirk
3160     +
3161     + Once again fixing changes to drivers/char/Makefile and speakup/Makefile. I think this will work better and more cleanly now. (kirk)
3162     +
3163     +2002-06-10 Monday 13:58 kirk
3164     +
3165     + Trying to fix speakup/Makefile so it is the original once again. (kirk)
3166     +
3167     +2002-06-04 Tuesday 15:00 kirk
3168     +
3169     + Adding the new speakup/Makefile.patch to the cvs repository. (kirk)
3170     +
3171     +2002-06-04 Tuesday 14:57 kirk
3172     +
3173     + Modified drivers/charMakefile to fix rejected speakup patch. I also
3174     + had to modify speakup/Makefile to use export-objs instead of O_OBJECTS
3175     + which was causing multiple symbol definitions from
3176     + speakupmap.o. (kirk)
3177     +
3178     +2002-04-30 Tuesday 13:25 kirk
3179     +
3180     + Updating speakup to 2.5.11 and fixing ppc architecture patch. Also
3181     + included the move to end of line function from 2.4.x and 2.2.x trees.
3182     + (kirk)
3183     +
3184     +2002-04-11 Thursday 09:31 gene
3185     +
3186     + Checked in nr_speakup changes for 2.2.x to fix load keys problem (Gene)
3187     +
3188     +2002-04-10 Wednesday 14:30 kirk
3189     +
3190     + Changed NR_SPKUP to 0x2a in keyboard.h which was causing an unable to
3191     + bind error when leading speakupmap.map with loadkeys in 2.4.x
3192     + kernels with the new control-kp1 key. (kirk)
3193     + ----------------------------------------------------------------------
3194     + speakupmap.map CVS:
3195     + diff-v24/^usr^src^linux^Documentation^Configure.help.patch CVS:
3196     + diff-v24/^usr^src^linux^Documentation^speakup^DefaultKeyAssignments.copy
3197     + diff-v24/^usr^src^linux^Documentation^speakup^keymap-tutorial.copy
3198     + diff-v24/^usr^src^linux^arch^alpha^config.in.patch CVS:
3199     + diff-v24/^usr^src^linux^arch^arm^config.in.patch CVS:
3200     + diff-v24/^usr^src^linux^arch^i386^config.in.patch CVS:
3201     + diff-v24/^usr^src^linux^arch^m68k^config.in.patch CVS:
3202     + diff-v24/^usr^src^linux^arch^mips^config.in.patch CVS:
3203     + diff-v24/^usr^src^linux^arch^ppc^config.in.patch CVS:
3204     + diff-v24/^usr^src^linux^arch^sparc64^config.in.patch CVS:
3205     + diff-v24/^usr^src^linux^arch^sparc^config.in.patch CVS:
3206     + diff-v24/^usr^src^linux^drivers^char^Makefile.patch CVS:
3207     + diff-v24/^usr^src^linux^drivers^char^console.c.patch CVS:
3208     + diff-v24/^usr^src^linux^drivers^char^keyboard.c.patch CVS:
3209     + diff-v24/^usr^src^linux^drivers^char^selection.c.patch CVS:
3210     + diff-v24/^usr^src^linux^fs^proc^root.c.patch CVS:
3211     + diff-v24/^usr^src^linux^include^linux^keyboard.h.patch CVS:
3212     + diff-v24/^usr^src^linux^include^linux^miscdevice.h.patch CVS:
3213     + diff-v24/^usr^src^linux^include^linux^proc_fs.h.patch CVS:
3214     + diff-v24/^usr^src^linux^include^linux^speakup.h.copy CVS:
3215     + diff-v24/^usr^src^linux^init^main.c.patch CVS:
3216     + ----------------------------------------------------------------------
3217     +
3218     +2002-04-04 Thursday 11:33 gene
3219     +
3220     + Updated DefaultKeyAssignments for 2.2.x kernels - Gene Collins
3221     +
3222     +2002-04-02 Tuesday 12:27 kirk
3223     +
3224     + Editted defaultKeyAssignments to reflect the new key combination
3225     + control keypad 1 for move to last character on line. (kirk)
3226     +
3227     +2002-04-02 Tuesday 10:45 kirk
3228     +
3229     + Added new function end_of_line() to move the reading cursor to the
3230     + last character on the current line. (kirk)
3231     +
3232     +2002-03-27 Wednesday 10:44 kirk
3233     +
3234     + Have modified speakup_shut_off() or whatever it's called to not sync
3235     + the reading cursor to the actual cursor when temporarily shutting off
3236     + speakup. It was a request from Geoff Shang and others. (kirk)
3237     +
3238     + I cleaned up the Todo file to remove recent changes in features.
3239     + (kirk)
3240     +
3241     +2002-03-03 Sunday 22:32 kirk
3242     +
3243     + Checking in changes for 2.4.18 which stop the two patch hunks from
3244     + failing on keyboard.c. As far as I can tell they are format changes
3245     + which don't have anything to do with speakup directly. (kirk)
3246     +
3247     +2002-02-19 Tuesday 11:12 kirk
3248     +
3249     + Checking in modifications to linux/init/main.c for 2.5.5pre1. I still
3250     + need to find a better place for that patch; it is very out of place
3251     + there now. (kirk)
3252     +
3253     +2002-02-05 Tuesday 22:31 gene
3254     +
3255     +
3256     + Updated 2.2 tree with the new numlock handling code. (Gene)
3257     +
3258     +2002-02-05 Tuesday 20:22 kirk
3259     +
3260     + Removed some duplicate #include lines in speakup.c (kirk)
3261     +
3262     +2002-02-05 Tuesday 11:15 kirk
3263     +
3264     + Made the changes to move numlock checking code out of keyboard.c into
3265     + speakup_control() in the 2.4.x tree. (kirk)
3266     +
3267     +2002-02-05 Tuesday 11:01 kirk
3268     +
3269     + Moved the numlock checking code into speakup_control() where it
3270     + belongs and out of keyboard.c in the 2.5.x tree. (kirk)
3271     +
3272     +2002-02-04 Monday 15:18 kirk
3273     +
3274     + Just adding the new Config.help copy file into cvs. (kirk)
3275     +
3276     +2002-02-04 Monday 15:16 kirk
3277     +
3278     + Modified speakup to work with linux 2.5.3 which intailed changing the
3279     + patch for linux/init/main.c and creating Config.help for the speakup
3280     + directory instead of the linuxDocumentation/Configure.help. The help
3281     + for each subdirectory is now maintained within that directory.
3282     +
3283     + Also hand patched keyboard.c to be compatible with the numlock changes
3284     + to the 2.4.x tree. Just dropped speakup.h from that distribution in
3285     + place it hasn't changed much yet. (Kirk)
3286     +
3287     +2002-01-25 Friday 10:48 gene
3288     +
3289     +
3290     + Updated 2.2 tree to work with new keypad numlock layout (Gene)
3291     +
3292     +2002-01-20 Sunday 17:46 kirk
3293     +
3294     + I've changed the #define's for TOP_EDGE, LEFT_EDGE and RIGHT_EDGE from
3295     + 0x4[def] which are out of range for nr speakup keys to values in
3296     + range. I hope this fixes the problem without breaking something
3297     + else. (kirk)
3298     +
3299     +2002-01-20 Sunday 16:13 kirk
3300     +
3301     + Removed a few double tab chars before altgr keycodes 71 and 73.
3302     + Hopefully this will correct the key binding problem when loading
3303     + speakupmap.map with loadkeys. (kirk)
3304     +
3305     +2002-01-11 Friday 14:43 gene
3306     +
3307     +
3308     + Checked in numlock feature for the 2.2 tree. (Gene)
3309     +
3310     +2002-01-11 Friday 11:11 kirk
3311     +
3312     + Modified the Apollo driver to allow chars above 0x80 through as an
3313     + experiment to see if foreign languages using those upper characters
3314     + will work correctly. (kirk)
3315     +
3316     +2002-01-10 Thursday 16:37 kirk
3317     +
3318     + Woops! Some how we lost cut and paste in our upgrades to numlock
3319     + control. Wouldn't that just make everyone happy! (kirk)
3320     +
3321     +2002-01-10 Thursday 15:41 kirk
3322     +
3323     + Checking in speakup.h again for the 2.4.x tree, it didn't take. (Kirk)
3324     +
3325     +2002-01-09 Wednesday 17:54 kirk
3326     +
3327     + For some reason speakup.h didn't get updated this morning. Should be
3328     + okay now. (kirk)
3329     +
3330     +2002-01-09 Wednesday 09:58 kirk
3331     +
3332     + Woops, the correct keyboard.c didn't get checked in. (kirk)
3333     +
3334     +2002-01-09 Wednesday 08:16 kirk
3335     +
3336     + Added numlock feature to allow the keypad to act as a normal number
3337     + pad when the numlock is on. (Yue)
3338     +
3339     +2001-12-21 Friday 10:49 kirk
3340     +
3341     + Just checking in for kernel 2.5.1 to stay sync'd with the code. (kirk)
3342     +
3343     +2001-12-07 Friday 11:55 kirk
3344     +
3345     + Updating speakup for kernel 2.5.1pre6. Seems to be something weird
3346     + going on. I think I'll have to edit some of the patches by
3347     + hand. (kirk)
3348     +
3349     +2001-12-05 Wednesday 14:33 kirk
3350     +
3351     + Cleaned up speakup.h and speakup.c which were giving warnings during
3352     + compile and moved stuff around to compile with 2.5.1pre5. (kirk)
3353     +
3354     +2001-11-23 Friday 14:44 kirk
3355     +
3356     + Hmmm, something went wrong with the first attempt at adding the
3357     + diff-v25 directory tree, so we're trying again. (kirk)
3358     +
3359     +2001-11-23 Friday 09:45 kirk
3360     +
3361     + Checking in changes to speakup.c to have the system bleep when a shift key is hit while the caps lock is on. (Yue)
3362     +
3363     +2001-11-23 Friday 09:41 kirk
3364     +
3365     + Opening a new branch of speakup for the new version 2.5.0 of
3366     + linux. (Kirk)
3367     +
3368     +2001-11-13 Tuesday 13:36 jim
3369     +
3370     + speakup.c:
3371     + Fixed the mixed case pitching bug.
3372     + The speech rates for upper and lower case chars when spelling a word
3373     + should now be the same.
3374     + (Jim Danley)
3375     +
3376     +2001-10-26 Friday 21:38 jim
3377     +
3378     + Fixed /usr/src/linux/drivers/char/Makefile patch to work with kernels
3379     + 2.4.12 and 2.4.13
3380     + (Jim)
3381     +
3382     +2001-10-18 Thursday 08:53 jim
3383     +
3384     + Removed the cut and paste bug description from the BUGS file. (Jim)
3385     +
3386     +2001-10-14 Sunday 15:28 jim
3387     +
3388     + Part two of the selection.c patch for 2.2. This process sure was fun! (Jim)
3389     +
3390     +2001-10-14 Sunday 15:21 jim
3391     +
3392     + Just adding the new patch file for selection.c in the diff-v22 patch
3393     + directory. (Jim)
3394     +
3395     +2001-10-14 Sunday 14:45 kirk
3396     +
3397     + Just adding the new patch file for selection.c in the diff-v24 patch
3398     + directory. (kirk)
3399     +
3400     +2001-10-14 Sunday 14:42 kirk
3401     +
3402     + Changed selection.c to test if call is coming from userspace or kernel
3403     + space and using GFP_ATOMIC if it is being called from kernel-space.
3404     + This works around kmalloc not returning and hanging the system in
3405     + set_selection for the block and paste function of speakup. (Jim)
3406     +
3407     +2001-10-12 Friday 12:10 jim
3408     +
3409     + speakup.c:
3410     + Removed statements which were appending 0x00 to buffers to be spoken
3411     + from functions say_curr_line and say_line_from_to.
3412     +
3413     + Inspected and modified all spkup_write() calls to be consistent,
3414     + that is, end in \n and count is correct.
3415     + (Jim Danley)
3416     +
3417     +2001-10-09 Tuesday 08:34 kirk
3418     +
3419     + Updated the BUGS and Todo list to reflect current speakup
3420     + states. (kirk)
3421     +
3422     +2001-10-07 Sunday 21:19 jim
3423     +
3424     + speakup.c:
3425     + Moved following variable declarations to top of function speakup_cut().
3426     + int ret;
3427     + unsigned char args[6*sizeof(short)];
3428     + unsigned short *arg;
3429     + static char *buf = "speakup_cut: set_selection failed: ";
3430     + (Jim Danley)
3431     +
3432     +2001-10-07 Sunday 17:11 jim
3433     +
3434     + Put speakup_dectlk.c back to its original state. Sorry about that!
3435     +
3436     + Also added a clear_selection() call to speakup.c when hitting the "mark"
3437     + key to remove (if any) hi-lighting of a previous mark/cut from the screen.
3438     + (Jim Danley)
3439     +
3440     +2001-10-05 Friday 09:14 kirk
3441     +
3442     + Checking in a slight change to speakupmap.map to uncomment alt-keypad
3443     + five to allow ascii five for extended character sets. (kirk)
3444     +
3445     +2001-10-02 Tuesday 12:34 kirk
3446     +
3447     + Modified installation and readme files for the version 1.0 release in
3448     + linux/Documentation/speakup. (kirk)
3449     +
3450     +2001-10-02 Tuesday 11:00 kirk
3451     +
3452     + Start of the check-ins for the official speakup v-1.00 release.
3453     + Modified checkin to change cvsversion format. Modified install to
3454     + remove reference to touching speakupmap.map. Modified speakup.c to
3455     + reflect version now moved to v-1.00. (kirk)
3456     +
3457     +2001-10-02 Tuesday 01:18 jim
3458     +
3459     + Modified the way that cut/paste variables are stored. No longer in spk_t
3460     + structure but stand-alone (one per speakup rather than one per console).
3461     +
3462     + speakup.c:
3463     + eliminated unsigned short mode = 0; /* char-by-char selection */
3464     + by assigning it directly.
3465     +
3466     + Added globals
3467     + char mark_cut_flag;
3468     + unsigned short mark_x, mark_y;
3469     +
3470     + /usr/include/linux/include/linux/speakup.h:
3471     + removed mark_x and mark_y from the spk_t structure and the associated
3472     + defines.
3473     + (Jim Danley)
3474     +
3475     +2001-09-17 Monday 19:58 jim
3476     +
3477     + speakup.c:
3478     + Added:
3479     + #define Mark_Cut_Bit 0x04
3480     + #define Mark_Cut_Bit_Mask 0xFB
3481     +
3482     + Changed from using bit 2 of spk_shut_up to bit 2 of spk_sound to
3483     + indicate mark/cut state.
3484     +
3485     + Removed statement that was assigning 2 to second byte of first short
3486     + in args array.
3487     + (Jim Danley)
3488     +
3489     +2001-09-14 Friday 15:43 kirk
3490     +
3491     + Removed the blank line at the bottom of drivers/char/Makefile which I
3492     + must have dreamed I removed in the last log. (kirk)
3493     +
3494     +2001-09-14 Friday 15:28 kirk
3495     +
3496     + Added a couple of missing key definitions in DefaultKeyAssignments.
3497     + Removed the blank line at the bottom of drivers/char/Makefile.
3498     + Rewrote spell_word() to use say_curr_char() and super stream line
3499     + it. (kirk)
3500     +
3501     +2001-09-14 Friday 14:11 jim
3502     +
3503     + speakup_dectlk.c:
3504     + Changed the valid pitch range from 0-99 to 50-350.
3505     + (Jim Danley)
3506     +
3507     +2001-09-14 Friday 01:28 jim
3508     +
3509     + Made similar changes to add cut and paste feature to 2.2 kernels. (Jim Danley
3510     +
3511     +2001-09-13 Thursday 23:13 jim
3512     +
3513     + diff-v2[24]/^usr^src^linux^Documentation^speakup^DefaultKeyAssignments.copy:
3514     + Added:
3515     + KeyPad-/ Mark and Cut screen region.
3516     + InsKeyPad-/ Paste screen region into any console.
3517     + (Jim Danley)
3518     +
3519     +2001-09-13 Thursday 21:41 jim
3520     +
3521     + Wrote mark/cut/paste feature.
3522     +
3523     + Usage:
3524     + 1. Move reading cursor to one end of the block of text you wish to cut
3525     + 2. Press the mark/cut key. You should hear "mark".
3526     + 3. Move reading cursor to other end of block of text to be cut.
3527     + 4. Press the mark/cut key. You should hear "cut".
3528     + 5. The cut buffer is now saved.
3529     + 6. Move to a program in any console where you wish to copy the cut buffer.
3530     + 7. Press the paste key. You should hear "paste" and text from
3531     + the cut buffer will be output just as if you had entered it
3532     + at the keyboard.
3533     +
3534     + Note: Trailing whitespace is stripped and newlines added where appropriate.
3535     +
3536     + speakup.c:
3537     + Added two new functions; speakup_cut() and speakup_paste()
3538     +
3539     + speakupmap.map:
3540     + Modified default keymap so that keypad divide toggles mark/cut and
3541     + insert-keypad divide is paste.
3542     +
3543     + /usr/src/linux/include/linux/speakup.h:
3544     + Added two new variables to the spk_t structure; unsigned long mark_x, mark_y
3545     + to store the coordinates of the beginning of the mark area to be cut.
3546     + Added:
3547     + #define spk_mx speakup_console[currcons]->mark_x
3548     + #define spk_my speakup_console[currcons]->mark_y
3549     + #define SPEAKUP_CUT 0x27
3550     + #define SPEAKUP_PASTE 0x28
3551     + Added two new prototypes:
3552     + extern void speakup_cut(unsigned int, struct tty_struct *);
3553     + extern void speakup_paste(struct tty_struct *);
3554     +
3555     + /usr/src/linux/drivers/char/keyboard.c:
3556     + In function do_spkup():
3557     + Added case blocks for SPEAKUP_CUT and SPEAKUP_PASTE.
3558     +
3559     + /usr/src/linux/include/linux/keyboard.h:
3560     + Added:
3561     + #define K_SPEAKUP_CUT K(KT_SPKUP,SPEAKUP_CUT)
3562     + #define K_SPEAKUP_PASTE K(KT_SPKUP,SPEAKUP_PASTE)
3563     + and modified: (was 27)
3564     + #define NR_SPKUP 0x29
3565     +
3566     + Also modified patch/copy files below in both diff-v22 and diff-v24 directories.
3567     + ^usr^src^linux^include^linux^keyboard.h.patch
3568     + ^usr^src^linux^drivers^char^keyboard.c.patch
3569     + ^usr^src^linux^include^linux^speakup.h.copy
3570     +
3571     +2001-09-08 Saturday 22:22 kirk
3572     +
3573     + Re-implementing the alpha patch for kernels 2.4.x which somehow keeps
3574     + getting lost. I also removed the bottom three lines of the checkout
3575     + script which are not needed anymore because we include a
3576     + speakupmap.c. (Kirk)
3577     +
3578     +2001-08-30 Thursday 17:25 kirk
3579     +
3580     + Modified drivers/char/Makefile to work with the new speakupmap.c
3581     + changes to 2.4.x. These changes include a portion of Shane's patch as
3582     + well as other rewrites by me. (kirk)
3583     +
3584     +2001-08-30 Thursday 16:17 kirk
3585     +
3586     + Modified drivers/char/Makefile and speakup/Makefile to accomodate the
3587     + new 2.4.9ac3 Makefile changes. This will also include a new
3588     + speakupmap.c moving towards Shane's Makefile patches for the 2.2.x
3589     + kernels, not included yet. (kirk)
3590     +
3591     +2001-08-29 Wednesday 21:26 kirk
3592     +
3593     + Just adding new patch against linux/init/main.c to cvs. (kirk)
3594     +
3595     +2001-08-29 Wednesday 21:23 kirk
3596     +
3597     + Rewrote speakup_init() to call a function speakup_register_devsynth()
3598     + which gets called from do_basic_setup in init/main.c. We need to do
3599     + this so that miscdevice will get called after the mm has been set up.
3600     + This should allow devfs to work with speakup. (kirk)
3601     +
3602     +2001-08-26 Sunday 13:54 kirk
3603     +
3604     + Removed an old comment line from console.c which prevent clean
3605     + patching against 2.4.8ac11. (kirk)
3606     +
3607     +2001-08-25 Saturday 18:46 kirk
3608     +
3609     + Modified keyboard.c, keyboard.h, speakup.c and speakup.h to conform with the standard kernel source tree under 2.4.x kernels. (Kirk)
3610     +
3611     +2001-08-25 Saturday 18:30 kirk
3612     +
3613     + Removing lxdialog patch files and removing their entries from
3614     + patchlist-22. These are now part of the standard 2.2.19+ kernel
3615     + tree. (Kirk)
3616     + ----------------------------------------------------------------------
3617     + patchlist-v22 speakupmap.map symbols.h CVS:
3618     + diff-v22/^usr^src^linux^Documentation^speakup^DefaultKeyAssignments.copy
3619     + diff-v22/^usr^src^linux^Documentation^speakup^keymap-tutorial.copy
3620     + Removed Files: CVS:
3621     + diff-v22/^usr^src^linux^scripts^lxdialog^menubox.c.patch CVS:
3622     + ----------------------------------------------------------------------
3623     +
3624     +2001-08-25 Saturday 18:15 kirk
3625     +
3626     + Changed keyboard.c, keyboard.h, speakup.c and speakup.h to conform to
3627     + the standard linux kernel tree code style for the 2.2.x
3628     + kernels. (Kirk)
3629     +
3630     +2001-08-18 Saturday 03:31 jim
3631     +
3632     + diff-v22/^usr^src^linux^drivers^char^keyboard.c.patch: Modified patch
3633     + to allow raw keyboard for version 2.2 kernels. (Jim Danley)
3634     +
3635     +2001-08-02 Thursday 13:47 kirk
3636     +
3637     + Adding \x20 to the flush string for the Audapter synths. (Kirk)
3638     +
3639     +2001-07-31 Tuesday 19:07 jim
3640     +
3641     + speakup_ltlk.c: appended \x20 to flush string of \x18 for litetalk driver.
3642     + This seems to fix the bug that was causing first chars to be dropped by
3643     + the double lt and litetalk synths for some users. (Jim Danley)
3644     +
3645     +2001-07-26 Thursday 20:12 kirk
3646     +
3647     + A few small clean ups trying to get 2.4.7 to work. (Kirk)
3648     +
3649     +2001-07-16 Monday 11:30 kirk
3650     +
3651     + Added KT_SPKUP to allowed_in_raw_mode macro so speakup's review
3652     + functions are available in raw mode for v-2.4.x kernels. (Kirk)
3653     +
3654     +2001-03-17 Saturday 15:40 jim
3655     +
3656     + speakup.c:
3657     + Added silent feature.
3658     + The print screen key kills and revives speakup. Sending specific values to
3659     + /proc/speakup/silent now allows the same control without having to press a key.
3660     + Valid settings are 0 through 3.
3661     + 0 and 2 turn on speakup if not already alive.
3662     + 1 and 3 turn off speakup if not already killed.
3663     + 0 and 1 announce the changes as the print screen key does,
3664     + 2 and 3 act silently.
3665     + (Jim Danley)
3666     +
3667     +2001-03-17 Saturday 08:45 jim
3668     +
3669     + speakup.c and symbols.h:
3670     + Added bell position feature.
3671     + When a letter is typed in column bell_pos, console beeps.
3672     + Valid settings are 0 through video_num_columns. Zero disables.
3673     + Get/set via /proc/speakup/bell_pos.
3674     + (Brian Borowski)
3675     +
3676     +2001-03-13 Tuesday 14:50 jim
3677     +
3678     + speakup.c:
3679     + Added code in say_screen() to insert a space at the end of full lines.
3680     + (Gene Collins)
3681     +
3682     +2001-03-13 Tuesday 14:40 jim
3683     +
3684     + speakup.c:
3685     + Found and fixed a couple of places where synth_write() was writing len of
3686     + string plus 1 which caused a NULL to be sent to the synth which causes
3687     + problems for the Doubletalk LT.
3688     +
3689     + speakup.c and keyboard.c for 2.2 and 2.4
3690     + Corrected the length parameter on several spkup_write() statements which
3691     + were also sending unnecessary NULLs.
3692     +
3693     + Corrected spelling of /proc/speakup/transport directory. (Jim Danley)
3694     +
3695     +2001-02-28 Wednesday 10:55 kirk
3696     +
3697     + Removing the make menuconfig patches for checklist.c and menubox.c
3698     + because they have been included in linux 2.4.2. (Kirk)
3699     +
3700     +2001-02-11 Sunday 14:05 kirk
3701     +
3702     + Checking support for alpha support in 2.4.x kernels. (Kirk)
3703     +
3704     +2001-01-30 Tuesday 20:55 kirk
3705     +
3706     + Fixed arch/ppc/config.in to source drivers/char/Config.in which had
3707     + gotten broken in the post 2.4.0 ac patches. (Kirk)
3708     +
3709     +2001-01-28 Sunday 23:53 jim
3710     +
3711     + Reduced duplicate code in proc_speakup_synth_init() by creating two arrays
3712     + of strings, read_only[] and root_writable[] and using these arrays in
3713     + for loops.
3714     + Bumped version numbers on remaining serial synth drivers. (Jim Danley)
3715     +
3716     +2001-01-28 Sunday 20:26 kirk
3717     +
3718     + Made modifications to speakup.h for v2.2 and the remainder of the
3719     + serial synth drivers to use the initialize_uart() function in
3720     + speakup_drvcommon.c. (Kirk)
3721     +
3722     +2001-01-28 Sunday 19:15 kirk
3723     +
3724     + Made changes to 2.4.0 to move uart initialization code into
3725     + speakup_drvcommon.c and modified speakup_dectlk.c to use that
3726     + change. (Kirk)
3727     +
3728     +2001-01-28 Sunday 00:26 jim
3729     +
3730     + Modified the serprobe() function in the Accent SA driver.
3731     + This should allow the Accent SA to start talking from a cold boot with
3732     + no help from the lilo serial= or speakup_ser= options.
3733     + Ran speakup_acntsa.c through Lindent.
3734     + Bumped speakup_acntsa.c version number. (Jim Danley)
3735     +
3736     +2001-01-27 Saturday 23:26 jim
3737     +
3738     + Modified the serprobe() function in the Dectalk Express driver.
3739     + My Dectalk Express now starts talking just fine from a cold boot with
3740     + no help from the lilo serial= or speakup_ser= options.
3741     + Ran speakup_dectlk.c through Lindent and cleaned up some comments.
3742     + Bumped Dectalk Express driver version number. (Jim Danley)
3743     +
3744     +2001-01-25 Thursday 17:58 jim
3745     +
3746     + Worked on the write handler for /proc/speakup/synth.
3747     + It error-checks new_synth_name, prints out msg if synth selected is
3748     + already in use, looks for new_synth_name in list of synths compiled into
3749     + kernel, and prepares to switch to new synth.
3750     + Ran speakup.c through Lindent and cleaned up some comments. (Jim Danley)
3751     +
3752     +2001-01-24 Wednesday 22:59 jim
3753     +
3754     +
3755     + Modified speakup_drvcommon.c so that those synth-specific /proc file
3756     + entries which are writable will now accept "" to trigger resetting of
3757     + the default value.
3758     + Ran speakup_drvcommon.c through Lindent and cleaned up some comments.
3759     + (Jim Danley)
3760     +
3761     +2001-01-24 Wednesday 12:33 kirk
3762     +
3763     + Made changes for Maintaners to v-24. (Kirk)
3764     +
3765     +2001-01-24 Wednesday 12:31 kirk
3766     +
3767     + Another typo fix in Configure.help and an update to the URL in Maintaners. (Kirk)
3768     +
3769     +2001-01-24 Wednesday 11:57 kirk
3770     +
3771     + Fixed clarification in Configure.help in v-24. (Kirk)
3772     +
3773     +2001-01-24 Wednesday 11:56 kirk
3774     +
3775     + Fixed spelling error in Config.in and modified Configure.help yet again. (Kirk)
3776     +
3777     +2001-01-24 Wednesday 11:47 kirk
3778     +
3779     + Fixed formatting in v-24 configure.help. (Kirk)
3780     +
3781     +2001-01-24 Wednesday 11:46 kirk
3782     +
3783     + Fixed indentation and spelling errors in configure.help. (Kirk)
3784     +
3785     +2001-01-24 Wednesday 10:49 kirk
3786     +
3787     + Fixing the v-2.4 version of the Configure.help file. (Kirk)
3788     +
3789     +2001-01-24 Wednesday 10:47 kirk
3790     +
3791     + Updated the Configure.help documentation and re-arranged the speakup
3792     + Config.in file. (Kirk)
3793     +
3794     +2001-01-23 Tuesday 15:45 jim
3795     +
3796     +
3797     + Modified speakup.c to handle input in either upper or lower case written
3798     + to the /proc file entries for those settings that accept a range of
3799     + values that includes alpha chars.
3800     + The value is forced to lower case before any comparisons.
3801     + Modified the synth driver range parameters to accept only lower case as follows:
3802     + rate in both speakup_acntpc.c and speakup_acntsa.c,
3803     + pitch and volume in speakup_apolo.c,
3804     + tone in speakup_txprt.c.
3805     + Bumped synth driver version numbers.
3806     + (Jim Danley)
3807     +
3808     +2001-01-23 Tuesday 11:58 jim
3809     +
3810     +
3811     + Fixed typo in speakup_dectlk.c.
3812     + (Jim Danley)
3813     +
3814     +2001-01-23 Tuesday 11:39 jim
3815     +
3816     +
3817     + Moved full_time into the spk_synth structure for all synths and created
3818     + /proc/speakup/synth-specific/full_time entry.
3819     + Modified /usr/include/linux/speakup.h and associated files in diff-v22 and diff-v24.
3820     + (Jim Danley)
3821     +
3822     +2001-01-23 Tuesday 01:14 jim
3823     +
3824     +
3825     + Added to the TODO list.
3826     + (Jim Danley)
3827     +
3828     +2001-01-23 Tuesday 00:42 jim
3829     +
3830     +
3831     + Moved delay_time, trigger_time, and jiffy_delta into the spk_synth
3832     + structure for all synths.
3833     + Modified /usr/include/linux/speakup.h and associated files in diff-v22 and diff-v24.
3834     + Assigned following default values for Accent SA and Audapter drivers:
3835     + delay_time = 400, trigger_time = 5, jiffy_delta = 3.
3836     + Bumped synth driver version numbers.
3837     + (Jim Danley)
3838     +
3839     +2001-01-22 Monday 21:32 jim
3840     +
3841     +
3842     + Moved INIT_STRING and REINIT_STRING into the spk_synth structure for all synths.
3843     + Modified /usr/include/linux/speakup.h and associated files in diff-v22 and diff-v24.
3844     + Commented out some unused driver code that caused compile warnings.
3845     + (Jim Danley)
3846     +
3847     +2001-01-22 Monday 17:44 jim
3848     +
3849     +
3850     + Test number 2.
3851     + (Jim Danley)
3852     +
3853     +2001-01-22 Monday 16:28 kirk
3854     +
3855     +
3856     + Testing my new CVS login.
3857     + (Jim Danley)
3858     +
3859     +2001-01-21 Sunday 19:48 kirk
3860     +
3861     + Wrote char *strlwr(char *) and now use it to be certain that the
3862     + synth_name (provided by the user in config or at boot time) is forced
3863     + to lower case.
3864     + (Jim Danley)
3865     +
3866     +2001-01-21 Sunday 13:53 kirk
3867     +
3868     + Added /proc/speakup/synth entry -- read-only so far.
3869     + Removed old ioctl functions from speakup.c
3870     + Wrote xlate function to translate escape chars in user provided strings.
3871     + Added synth_name to "unknown synthesizer" message at boot up.
3872     + Check for length of synth_name.
3873     + Made certain that synth_name is NULL terminated.
3874     + (Jim Danley)
3875     +
3876     +2001-01-21 Sunday 09:03 kirk
3877     +
3878     + Changed synth_write("\n", 2);
3879     + to synth_write("\n", 1);
3880     + when sending user provided synth settings via /proc to the synth.
3881     + This *might* fix the problem reported by litetalk users.
3882     + Cleaned up some comments and indenting.
3883     + (Jim Danley)
3884     +
3885     +2001-01-14 Sunday 21:05 matt
3886     +
3887     + Checking in 2.2.x patches for the last modification. (Matt)
3888     +
3889     +2001-01-14 Sunday 20:49 kirk
3890     +
3891     + Checking in Matt Campbells driver rewrite to include all the synths in
3892     + the kernel at the same time. (Kirk)
3893     +
3894     +2001-01-10 Wednesday 12:16 kirk
3895     +
3896     + Fixed bug when writing to /proc/speakup files caps_start, caps_stop,
3897     + punc_some, and punc_most.
3898     + Defined PUNC_CHARS and PUNC_CHARS_SIZE in symbols.h.
3899     + Added MULTI_CHAR to list of possible spk_variable.flags, necessary to
3900     + define a list of chars that must belong to another list of chars --
3901     + used for punc_some and punc_most.
3902     + Set arbitrary limit of 33 chars on caps_*.
3903     + Set PUNC_CHARS_SIZE char limit on user supplied value to punc_some and punc_most.
3904     + Fixed erroneous error strings.
3905     + #define'd error conditions to make code more clear.
3906     + Added STRING_TOO_LONG and CHAR_NOT_ONE_OF.
3907     + Added missing volume setting to DEFAULT_STATIC for Dectalk Express.
3908     + (Jim Danley)
3909     +
3910     +2001-01-08 Monday 19:08 kirk
3911     +
3912     + Made more changes to the cursoring. I got backspace working in and
3913     + out of cursoring. (Kirk)
3914     +
3915     +2001-01-08 Monday 16:25 kirk
3916     +
3917     + I have rewritten the cursoring routine speakup_check() to hopefully
3918     + improve it. We are not there yet! (Kirk)
3919     +
3920     +2001-01-07 Sunday 16:05 kirk
3921     +
3922     + Just fixing some indentation settings. (Kirk)
3923     +
3924     +2001-01-07 Sunday 13:37 kirk
3925     +
3926     + added a single line to the top of speakup.c for testing.
3927     + (Jim Danley)
3928     +
3929     +2001-01-07 Sunday 12:58 kirk
3930     +
3931     + Fixed char/Makefile to build depends which it wasn't doing for some
3932     + reason under 2.2.18. (Kirk)
3933     +
3934     +2001-01-07 Sunday 12:16 kirk
3935     +
3936     + Fixed char/Makefile to create the speakup/.depend correctly. I don't
3937     + know why it wasn't working before. Everything else did. (Kirk)
3938     +
3939     +2001-01-07 Sunday 12:05 kirk
3940     +
3941     + modified range checking code in speakup.c to handle negative numbers in
3942     + user provided parameter to /proc/speakup/* and also in spk_variable.valid.
3943     + (Jim Danley)
3944     +
3945     +2001-01-07 Sunday 09:02 kirk
3946     +
3947     + cleaned up and commented symbols.h.
3948     + re-wrote some of the range logic in symbols.h and speakup.c.
3949     + changed char valid[33] to char *valid in spk_variable struct.
3950     + dropped 0xff as char string terminator for spk_variable.valid member.
3951     + removed NUMERIC from rate flags for accents.
3952     + made /proc/speakup/tone read-only for dectalk express.
3953     + (Jim Danley)
3954     +
3955     +2001-01-06 Saturday 15:52 kirk
3956     +
3957     + Reorganized the Todo list and placed bugs in the bugs file. (Kirk)
3958     +
3959     +2001-01-05 Friday 21:19 kirk
3960     +
3961     + Made modifications to fix the make menuconfig bug in 2.4.0. (Kirk)
3962     +
3963     +2001-01-05 Friday 20:42 kirk
3964     +
3965     + Modified menubox.c in lxdialog to fix bug with initial menus not being
3966     + shown completely. (Kirk)
3967     +
3968     +2001-01-05 Friday 15:54 kirk
3969     +
3970     + merged symbols_*.h into symbols.h and removed symbols_*.h from CVS.
3971     + cleaned up the format a bit along the way.
3972     + (Jim Danley)
3973     +
3974     +2001-01-04 Thursday 18:33 kirk
3975     +
3976     + Modified the console.c, speakup.h and speakup.c for the 2.4.0 kernels.
3977     + I have also removed vt.c in preparation for just using the
3978     + /proc/speakup configuration system. (Kirk)
3979     +
3980     +2001-01-04 Thursday 12:11 kirk
3981     +
3982     + Starting major changes for merging into the kernel source tree. Files
3983     + updated are console.c speakup.c speakup.h and vt.c. I have built a
3984     + new set of functions to interact with the kernel which will be speakup
3985     + functions if speakup is configured in and null stubs if speakup is not
3986     + configured in. So far they include: speakup_allocate(), speakup_bs(),
3987     + speakup_con_update(), speakup_con_write() and speakup_init(). These
3988     + changes only affect the 2.2.18 tree currently. (Kirk)
3989     +
3990     +2001-01-03 Wednesday 10:04 kirk
3991     +
3992     + Fixed transport driver by giving the uart time to settle before
3993     + testing for the port. (Kirk)
3994     +
3995     +2001-01-02 Tuesday 20:18 kirk
3996     +
3997     + First attempt to change checkout to work with an installed tarball and
3998     + update it to cvs. (Kirk)
3999     +
4000     +2001-01-02 Tuesday 14:09 kirk
4001     +
4002     + Made tchanges to make v24 compatible with 2.4.0-prerelease. (Kirk)
4003     +
4004     +2001-01-02 Tuesday 09:50 kirk
4005     +
4006     + Added code to correctly parse range string for /proc file speech
4007     + parameters which use a range of chars.
4008     + Added a priority of KERN_ALERT to printk statements that need to be
4009     + displayed on user's console regardless.
4010     + Enhanced warning output if user attempts to assign a value out of range
4011     + to a /proc variable.
4012     + (Jim Danley)
4013     +
4014     +2000-12-31 Sunday 13:20 kirk
4015     +
4016     + Rewrote checkclean and changed semee to semi in the character
4017     + array. (Kirk)
4018     +
4019     +2000-12-31 Sunday 12:12 kirk
4020     +
4021     + Fixed syntax errors in speakup_txprt.c and modified the install
4022     + script. (Kirk)
4023     +
4024     +2000-12-31 Sunday 11:43 kirk
4025     +
4026     + Fixing typo's in the documentation files. (Kirk)
4027     +
4028     +2000-12-30 Saturday 23:33 kirk
4029     +
4030     + Rewrote install and INSTALLATION for a different installing
4031     + design. (Kirk)
4032     +
4033     +2000-12-30 Saturday 17:03 kirk
4034     +
4035     + We are officially version v-0.10. (Kirk)
4036     +
4037     +2000-12-30 Saturday 16:58 kirk
4038     +
4039     + Modified the installation file and created an install script. (Kirk)
4040     +
4041     +2000-12-30 Saturday 15:13 kirk
4042     +
4043     + Fixed a syntax problem with speakup_audptr.c. (Kirk)
4044     +
4045     +2000-12-30 Saturday 14:58 kirk
4046     +
4047     + Placed a length limit on reading of version number in
4048     + speakup_audptr.c. (Kirk)
4049     +
4050     +2000-12-30 Saturday 13:12 kirk
4051     +
4052     + Adding file changes for v22. (Kirk)
4053     +
4054     +2000-12-30 Saturday 13:10 kirk
4055     +
4056     + Removing files related to version changes. (Kirk)
4057     +
4058     +2000-12-30 Saturday 13:00 kirk
4059     +
4060     + Changed structure of Documentation/speakup and related files to remove
4061     + references to speakup version for ease in updating documentation.
4062     + (Kirk)
4063     +
4064     +2000-12-29 Friday 14:00 kirk
4065     +
4066     + echo "" > /proc/speakup/characters now resets to defaults for consistency.
4067     + wrote script to reset all speakup defaults
4068     + added key_echo toggle to speakup vars controllable by user
4069     + via /proc/speakup/key_echo
4070     + key_echo is not 100% -- keypad slash talks even if key_echo == 0
4071     + (Jim Danley)
4072     +
4073     +2000-12-24 Sunday 16:46 kirk
4074     +
4075     + finished ability to write to /proc files, changed some default char descs, added "direct" to /proc
4076     +
4077     +2000-12-22 Friday 15:04 kirk