Parent Directory
|
Revision Log
Creating 2.6.14-pre branch from 2.6.13
| 1 | 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 |
| 4078 | + |
| 4079 | + These are the cursoring fixes for the 2.4.0-testxx kernels. They also |
| 4080 | + include the requested changes I was experimenting with by Alan Cox in |
| 4081 | + preparation for kernel source tree inclusion. (Kirk) |
| 4082 | + |
| 4083 | +2000-12-22 Friday 13:54 kirk |
| 4084 | + |
| 4085 | + Fixed up some of the cursoring issues and have started making the |
| 4086 | + changes requested by Alan Cox in preparation for kernel source tree |
| 4087 | + inclusion. (Kirk) |
| 4088 | + |
| 4089 | +2000-12-21 Thursday 08:56 kirk |
| 4090 | + |
| 4091 | + rewrite of speakup_characters_write_proc() to handle fragmented buffers when called by dd, cp, or cat in kernel 2.4 (Jim Danley) |
| 4092 | + |
| 4093 | +2000-12-20 Wednesday 12:17 kirk |
| 4094 | + |
| 4095 | + Cleaned up some warnings. (Kirk) |
| 4096 | + |
| 4097 | +2000-12-20 Wednesday 11:32 kirk |
| 4098 | + |
| 4099 | + Fixed toggle for synth timeout to set it off when waking up the |
| 4100 | + synth. (Kirk) |
| 4101 | + |
| 4102 | +2000-12-19 Tuesday 19:31 kirk |
| 4103 | + |
| 4104 | + This is atest fix to see if I have helped eliminate the synth bleed |
| 4105 | + through problem with all of the synths. (Kirk) |
| 4106 | + |
| 4107 | +2000-12-19 Tuesday 16:29 kirk |
| 4108 | + |
| 4109 | + quick change to speakup_audptr.c to fix synth_ver typo for kernel 2.2.18 (Jim Danley) |
| 4110 | + |
| 4111 | +2000-12-19 Tuesday 15:35 kirk |
| 4112 | + |
| 4113 | + Checking in the 2.2.18 fixes for the synth hanging problems. (Kirk) |
| 4114 | + |
| 4115 | +2000-12-19 Tuesday 15:10 kirk |
| 4116 | + |
| 4117 | + Finally fixed the synth hanging problem on synth turn off. (Kirk) |
| 4118 | + |
| 4119 | +2000-12-18 Monday 14:44 kirk |
| 4120 | + |
| 4121 | + Just updating BUGS to put the backspace problem to bed. (Kirk) |
| 4122 | + |
| 4123 | +2000-12-18 Monday 14:40 kirk |
| 4124 | + |
| 4125 | + Checking in the backspace fix for 2.4.0-test11. Yeah! Finally |
| 4126 | + fixed. (Kirk) |
| 4127 | + |
| 4128 | +2000-12-18 Monday 14:14 kirk |
| 4129 | + |
| 4130 | + Fixed the backspace bug at last! In 2.2.18 so far. (Kirk) |
| 4131 | + |
| 4132 | +2000-12-18 Monday 10:03 kirk |
| 4133 | + |
| 4134 | + Checking in Jim Danleys changes again. When will I learn to checkout |
| 4135 | + before checking in?? (Kirk) |
| 4136 | + |
| 4137 | +2000-12-15 Friday 13:50 kirk |
| 4138 | + |
| 4139 | + Checking first draft of menubox.c and checklist.c for |
| 4140 | + v-2.4.0-testxx. (Kirk) |
| 4141 | + |
| 4142 | +2000-12-15 Friday 13:48 kirk |
| 4143 | + |
| 4144 | + Taking first diff of menubox.c and checklist.c for v2.4.0-test11 for |
| 4145 | + make menuconfig cursoring. (Kirk) |
| 4146 | + |
| 4147 | +2000-12-15 Friday 13:17 kirk |
| 4148 | + |
| 4149 | + Checking in the new diffs of menubox.c and checklist.c for the first |
| 4150 | + time. (Kirk) |
| 4151 | + |
| 4152 | +2000-12-15 Friday 13:14 kirk |
| 4153 | + |
| 4154 | + Taking first diff of the make menuconfig patches from checklist.c and |
| 4155 | + menubox.c. (Kirk) |
| 4156 | + |
| 4157 | +2000-12-12 Tuesday 18:56 kirk |
| 4158 | + |
| 4159 | + Fixed a spelling error added to Todo list and fix speakup.c to not |
| 4160 | + need the is_alive() function. (Kirk) |
| 4161 | + |
| 4162 | +2000-12-12 Tuesday 15:21 kirk |
| 4163 | + |
| 4164 | + Fixed speakup to patch correctly with 2.2.18. Unfortunately it won't |
| 4165 | + work with kernels less than 2.2.18 anymore. It was totally agreed |
| 4166 | + upon by the folks on the reflector. It's not my fault mom! (Kirk) |
| 4167 | + |
| 4168 | +2000-12-12 Tuesday 10:41 kirk |
| 4169 | + |
| 4170 | + Fix a problem with a conflict in cvsversion.h. (Kirk) |
| 4171 | + |
| 4172 | +2000-12-11 Monday 20:40 kirk |
| 4173 | + |
| 4174 | + Attempt to fix the Audapter driver by limiting how long it can stay in |
| 4175 | + kernel space. (Kirk) |
| 4176 | + |
| 4177 | +2000-12-11 Monday 17:37 kirk |
| 4178 | + |
| 4179 | + Made a slight fix to spk_reset() and moved it's call up a bit in |
| 4180 | + handle_scancodes(); (Kirk) |
| 4181 | + |
| 4182 | +2000-12-11 Monday 16:28 kirk |
| 4183 | + |
| 4184 | + Just checking in the cvs adds for the new diff-v24 patch files. (Kirk) |
| 4185 | + |
| 4186 | +2000-12-11 Monday 16:25 kirk |
| 4187 | + |
| 4188 | + Checking in the 2.4.0 kernel patches for Jim Danley's /proc file |
| 4189 | + system additions. (Kirk) |
| 4190 | + |
| 4191 | +2000-12-11 Monday 14:34 kirk |
| 4192 | + |
| 4193 | + Checking in added proc files. (Kirk) |
| 4194 | + |
| 4195 | +2000-12-11 Monday 14:31 kirk |
| 4196 | + |
| 4197 | + Added two new files to v22 kernel for /proc file system, |
| 4198 | + linux/include/linux/proc_fs.h and linux/fs/proc/root.c. (Kirk) |
| 4199 | + |
| 4200 | +2000-12-11 Monday 12:59 kirk |
| 4201 | + |
| 4202 | + Checking in Jim Danleys /proc file system additions to speakup. (Kirk) |
| 4203 | + |
| 4204 | +2000-12-09 Saturday 19:14 kirk |
| 4205 | + |
| 4206 | + Changed spk_control to test for zero specifically on say_control. (Kirk) |
| 4207 | + |
| 4208 | +2000-12-09 Saturday 18:29 kirk |
| 4209 | + |
| 4210 | + Changed spk_control to say capslock scroll_lock and num_lock even when |
| 4211 | + say_control isn't on. (Kirk) |
| 4212 | + |
| 4213 | +2000-12-08 Friday 16:21 kirk |
| 4214 | + |
| 4215 | + Removing the linux version 2.3.xx stuff again. (Kirk) |
| 4216 | + |
| 4217 | +2000-12-08 Friday 15:40 kirk |
| 4218 | + |
| 4219 | + patched Configure.help by hand from v2.4 and committing. (Kirk) |
| 4220 | + |
| 4221 | +2000-12-08 Friday 14:47 kirk |
| 4222 | + |
| 4223 | + Checked in diff-v22/^usr^src^linux^Documentation^Configure.help.patch |
| 4224 | + which seems to have been missed as well as the init/main.c stuff. |
| 4225 | + This is really weird (Kirk) |
| 4226 | + |
| 4227 | +2000-12-08 Friday 14:40 kirk |
| 4228 | + |
| 4229 | + Added the -d flag to updat in checkout to see if we get cleanup |
| 4230 | + improvement. (Kirk) |
| 4231 | + |
| 4232 | +2000-12-08 Friday 13:13 kirk |
| 4233 | + |
| 4234 | + Removing patchlist and the linux 2.3.xx support. (Kirk) |
| 4235 | + |
| 4236 | +2000-12-08 Friday 13:07 kirk |
| 4237 | + |
| 4238 | + Edited check.orig and fix.orig to use the new patchlist filename |
| 4239 | + convention. (Kirk) |
| 4240 | + |
| 4241 | +2000-12-07 Thursday 22:17 kirk |
| 4242 | + |
| 4243 | + Just checking in the new files, three to be exact. (kirk) |
| 4244 | + |
| 4245 | +2000-12-07 Thursday 22:14 kirk |
| 4246 | + |
| 4247 | + rewrote checkin, checkout and moved patchlist to patchlist-v22 and |
| 4248 | + patchlist-v24 because we were missing the linux/init/main.c patches |
| 4249 | + and we didn't have a way to handle different files for different |
| 4250 | + versions. (kirk) |
| 4251 | + |
| 4252 | +2000-12-06 Wednesday 19:06 kirk |
| 4253 | + |
| 4254 | + Added support for the codepage 437 extended character set. (Jim and Kirk) |
| 4255 | + |
| 4256 | +2000-11-29 Wednesday 11:30 kirk |
| 4257 | + |
| 4258 | + Fixed the 2.2.xx kernels to have the almost correct backspace code. |
| 4259 | + Also move the new character output in do_con_write() to lf(). I've |
| 4260 | + experimentally put a 'space' in to see if that helps the wrapping |
| 4261 | + during console output. (Kirk) |
| 4262 | + |
| 4263 | +2000-11-27 Monday 15:38 kirk |
| 4264 | + |
| 4265 | + Fix or partial to the backspace problem at least on 2.4.0-test11. I |
| 4266 | + probably broke cursoring. |
| 4267 | + |
| 4268 | +2000-11-22 Wednesday 20:12 kirk |
| 4269 | + |
| 4270 | + Fixed a stupid unused variable by deleting it. |
| 4271 | + Fixed speakup_file_write to send raw user data to the synth. (Thanx Matt) |
| 4272 | + |
| 4273 | +2000-11-21 Tuesday 15:10 kirk |
| 4274 | + |
| 4275 | + Adjusted console.c patch for test11 of 2.4.0. |
| 4276 | + |
| 4277 | +2000-11-16 Thursday 11:42 kirk |
| 4278 | + |
| 4279 | + Modified all drivers to test for no port when clearing the holding |
| 4280 | + register. |
| 4281 | + |
| 4282 | +2000-11-16 Thursday 07:56 kirk |
| 4283 | + |
| 4284 | + Fixed console.c patch to compensate for the line movement. in Test10. |
| 4285 | + |
| 4286 | +2000-10-24 Tuesday 11:10 kirk |
| 4287 | + |
| 4288 | + Fix to the LiteTalk driver to get around the hanging when the synth isn't |
| 4289 | + on. |
| 4290 | + |
| 4291 | +2000-10-23 Monday 12:15 kirk |
| 4292 | + |
| 4293 | + Fixed dtlk driver so non-valid ports are released correctly in |
| 4294 | + dev_probe. Also added externs for synth_request_region and |
| 4295 | + release. (Kirk) |
| 4296 | + |
| 4297 | +2000-08-28 Monday 13:29 kirk |
| 4298 | + |
| 4299 | + Fixed Makefile for 2.4.0-test7 in drivers/char. |
| 4300 | + |
| 4301 | +2000-08-17 Thursday 16:21 kirk |
| 4302 | + |
| 4303 | + Birth of cursoring for version 2.4.xx kernels. |
| 4304 | + |
| 4305 | +2000-08-17 Thursday 12:06 kirk |
| 4306 | + |
| 4307 | + Okay, I proclaim the birth of cursoring, at least in the 2.2.x kernels. Next we'll try the 2.3/4.x kernels. |
| 4308 | + |
| 4309 | +2000-08-17 Thursday 11:01 kirk |
| 4310 | + |
| 4311 | + Fixed CFLAGS to EXTRA_CFLAGS in Makefile to get speakup to compile |
| 4312 | + again. The break took place between 2.4.0-test4 and test5. |
| 4313 | + |
| 4314 | +2000-07-20 Thursday 10:43 kirk |
| 4315 | + |
| 4316 | + Changed krealloc to just use kfree instead of kfree_s. Kirk |
| 4317 | + |
| 4318 | +2000-07-03 Monday 14:19 kirk |
| 4319 | + |
| 4320 | + Fixed one line in keyboard.c and changes to cvs |
| 4321 | + |
| 4322 | +2000-06-29 Thursday 16:32 andy |
| 4323 | + |
| 4324 | + Fixed checkin / cvsversion.h |
| 4325 | + |
| 4326 | +2000-06-29 Thursday 16:26 andy |
| 4327 | + |
| 4328 | + v2.2.x keyboard.c + speakup_kill() fix |
| 4329 | + |
| 4330 | +2000-06-29 Thursday 16:00 andy |
| 4331 | + |
| 4332 | + v2.2 addition of speakup_kill() function (bound to sysreq key) |
| 4333 | + |
| 4334 | +2000-06-29 Thursday 15:56 andy |
| 4335 | + |
| 4336 | + v2.4 addition of speakup_kill() function (bound to sysrq key) |
| 4337 | + |
| 4338 | +2000-06-26 Monday 16:19 andy |
| 4339 | + |
| 4340 | + Added (very minimal) read() and ioctl() functions for /dev/synth. |
| 4341 | + |
| 4342 | +2000-06-23 Friday 11:16 andy |
| 4343 | + |
| 4344 | + Fixed miscdevice.h bad patch |
| 4345 | + |
| 4346 | +2000-06-22 Thursday 15:47 andy |
| 4347 | + |
| 4348 | + Fixed defkeymap.c not being built properly. |
| 4349 | + |
| 4350 | +2000-06-22 Thursday 15:17 andy |
| 4351 | + |
| 4352 | + Fixed v2.2.x zero-byte patch bug |
| 4353 | + |
| 4354 | +2000-06-22 Thursday 14:48 andy |
| 4355 | + |
| 4356 | + Checkout prunes now. |
| 4357 | + |
| 4358 | +2000-06-22 Thursday 12:48 andy |
| 4359 | + |
| 4360 | + Forgot to kill the old patch files... cleaning up. |
| 4361 | + |
| 4362 | +2000-06-22 Thursday 12:45 andy |
| 4363 | + |
| 4364 | + Changed checkin/checkout philosophy... |
| 4365 | + v2.2.x, v2.3.x, v2.4.x trees are all in this release |
| 4366 | + |
| 4367 | +2000-06-21 Wednesday 16:27 andy |
| 4368 | + |
| 4369 | + More checkin/checkout fixes. |
| 4370 | + |
| 4371 | +2000-06-21 Wednesday 16:19 andy |
| 4372 | + |
| 4373 | + Changed checkin/checkout philosophy, so 0-byte files aren't such a headache |
| 4374 | + |
| 4375 | +2000-06-21 Wednesday 14:13 andy |
| 4376 | + |
| 4377 | + New checkout script, fixing non-updating of previously patched files. |
| 4378 | + |
| 4379 | +2000-06-20 Tuesday 15:14 andy |
| 4380 | + |
| 4381 | + /dev/synth (MAJOR 10, MINOR 25) fix for v2.2.x tree |
| 4382 | + |
| 4383 | +2000-06-19 Monday 16:02 andy |
| 4384 | + |
| 4385 | + checkin script that fixes busted/nonexstant .orig files |
| 4386 | + |
| 4387 | +2000-06-19 Monday 13:08 andy |
| 4388 | + |
| 4389 | + cvsversion.h fix |
| 4390 | + speakup_decext.c fix for v2.2.x (no such member 'list' problem) |
| 4391 | + |
| 4392 | +2000-06-14 Wednesday 16:00 andy |
| 4393 | + |
| 4394 | + TODO update |
| 4395 | + |
| 4396 | +2000-06-14 Wednesday 15:25 andy |
| 4397 | + |
| 4398 | + Fixed: |
| 4399 | + checkin 'older than' bug |
| 4400 | + disabled <caps|num|scroll>-lock speech when spk_shut_up is set |
| 4401 | + |
| 4402 | +2000-06-14 Wednesday 13:15 andy |
| 4403 | + |
| 4404 | + Added a cvsversion.h and cvs date tracking into speakup. |
| 4405 | + |
| 4406 | +2000-06-14 Wednesday 12:44 andy |
| 4407 | + |
| 4408 | + Oops. Forgot these. |
| 4409 | + |
| 4410 | +2000-06-14 Wednesday 08:06 kirk |
| 4411 | + |
| 4412 | + Put SYNTH_MINOR #ifdefs in miscdevices.h for v2.2.x kernels. |
| 4413 | + Updated Todo file and temporarily incremented version number of speakup. (Kirk) |
| 4414 | + |
| 4415 | +2000-06-13 Tuesday 16:30 andy |
| 4416 | + |
| 4417 | + v2.4.x spanky checkin |
| 4418 | + |
| 4419 | +2000-06-13 Tuesday 15:36 andy |
| 4420 | + |
| 4421 | + v2.4.x checkin for /dev/synth stuff. |
| 4422 | + |
| 4423 | +2000-06-13 Tuesday 15:28 andy |
| 4424 | + |
| 4425 | + typo fix. |
| 4426 | + |
| 4427 | +2000-06-13 Tuesday 15:23 andy |
| 4428 | + |
| 4429 | + v2.2.x checkin for the new /dev/synth stuff. |
| 4430 | + |
| 4431 | +2000-06-13 Tuesday 15:17 andy |
| 4432 | + |
| 4433 | + Added a /dev/synth fops to speakup (MAJOR 10, MINOR 25), so that users can |
| 4434 | + use the synth without speakup (but why?). :) |
| 4435 | + |
| 4436 | + Also fixed a couple of issues with the check* scripts, and added a -p option |
| 4437 | + to checkin to just create patches. |
| 4438 | + |
| 4439 | +2000-06-12 Monday 14:36 andy |
| 4440 | + |
| 4441 | + Had a 0-byte defkeymap.c file... |
| 4442 | + |
| 4443 | +2000-06-12 Monday 14:26 andy |
| 4444 | + |
| 4445 | + Fixed the screwed up v2.2.x patch files, and added a fixorig script which |
| 4446 | + copies .orig files from /usr/src/linux.orig as stated in the |
| 4447 | + patchlist file |
| 4448 | + |
| 4449 | +2000-06-09 Friday 16:03 andy |
| 4450 | + |
| 4451 | + TODO change |
| 4452 | + |
| 4453 | +2000-06-09 Friday 14:21 andy |
| 4454 | + |
| 4455 | + added checkclean script |
| 4456 | + |
| 4457 | +2000-06-09 Friday 12:46 andy |
| 4458 | + |
| 4459 | + updates to the v2.2.x tree. |
| 4460 | + |
| 4461 | +2000-06-08 Thursday 14:59 andy |
| 4462 | + |
| 4463 | + Fixed v2.2.x diffs, and made a few changes to checkin/checkout/checkorig.. |
| 4464 | + |
| 4465 | + Namely, |
| 4466 | + checkin: |
| 4467 | + fixed bailout on CVSROOT set |
| 4468 | + diffs only for new or files that have changed since last patch |
| 4469 | + cvs adds directories properly |
| 4470 | + checks exit values of cvs commands |
| 4471 | + checkout/checkorig: |
| 4472 | + zeroes out .orig files that should exist and should be zeroed |
| 4473 | + patchlist: |
| 4474 | + now specifies patchfiles in the form: |
| 4475 | + <0|1>,<file> |
| 4476 | + where the first number is a flag to copy the file to create |
| 4477 | + a <file>.orig, or create a zero-byte file (0) for <file>.orig |
| 4478 | + |
| 4479 | +2000-06-07 Wednesday 15:52 kirk |
| 4480 | + |
| 4481 | + [no log message] |
| 4482 | + |
| 4483 | +2000-06-07 Wednesday 14:15 andy |
| 4484 | + |
| 4485 | + checkin mod |
| 4486 | + |
| 4487 | +2000-06-07 Wednesday 14:14 andy |
| 4488 | + |
| 4489 | + date test added to ./checkin |
| 4490 | + |
| 4491 | +2000-06-07 Wednesday 14:11 andy |
| 4492 | + |
| 4493 | + test |
| 4494 | + |
| 4495 | +2000-06-07 Wednesday 14:09 andy |
| 4496 | + |
| 4497 | + test patch |
| 4498 | + |
| 4499 | +2000-06-07 Wednesday 13:02 kirk |
| 4500 | + |
| 4501 | + test of checkin on spanky |
| 4502 | + |
| 4503 | +2000-06-07 Wednesday 12:32 andy |
| 4504 | + |
| 4505 | + more checkin/checkout updates |
| 4506 | + |
| 4507 | +2000-06-07 Wednesday 12:19 andy |
| 4508 | + |
| 4509 | + quick print fix for checkin script |
| 4510 | + |
| 4511 | +2000-06-07 Wednesday 12:17 andy |
| 4512 | + |
| 4513 | + Fixed new tree commit/checkout/update bugs with checkin and checkout |
| 4514 | + |
| 4515 | +2000-06-07 Wednesday 12:10 kirk |
| 4516 | + |
| 4517 | + v24 tree added to cvs |
| 4518 | + |
| 4519 | +2000-06-07 Wednesday 11:30 andy |
| 4520 | + |
| 4521 | + logic error in ./checkin |
| 4522 | + |
| 4523 | + New diff-vXX directories are added now... just cp -a diff-vYY div-vXX, and |
| 4524 | + kill the CVS/ dir. |
| 4525 | + |
| 4526 | +2000-06-05 Monday 15:54 andy |
| 4527 | + |
| 4528 | + Fixed ./checkin to 'cvs add' created patch directories. |
| 4529 | + |
| 4530 | +2000-06-05 Monday 15:39 andy |
| 4531 | + |
| 4532 | + Added synth_release_region, and seperated out a speakup_drvcommon.c file, |
| 4533 | + which contains common driver stuff -- current just synth_release_region(), |
| 4534 | + and synth_request_region(). |
| 4535 | + |
| 4536 | +2000-06-02 Friday 15:32 andy |
| 4537 | + |
| 4538 | + Final test?? |
| 4539 | + |
| 4540 | +2000-06-02 Friday 14:11 andy |
| 4541 | + |
| 4542 | + bleah |
| 4543 | + |
| 4544 | +2000-06-02 Friday 13:58 andy |
| 4545 | + |
| 4546 | + another test.. *sigh* |
| 4547 | + |
| 4548 | +2000-06-02 Friday 13:57 andy |
| 4549 | + |
| 4550 | + foo |
| 4551 | + |
| 4552 | +2000-06-02 Friday 13:49 andy |
| 4553 | + |
| 4554 | + test 342.7 |
| 4555 | + |
| 4556 | +2000-06-02 Friday 12:56 andy |
| 4557 | + |
| 4558 | + wrong checkout script. |
| 4559 | + |
| 4560 | +2000-06-02 Friday 12:51 andy |
| 4561 | + |
| 4562 | + Yet another test. |
| 4563 | + |
| 4564 | +2000-06-01 Thursday 15:45 andy |
| 4565 | + |
| 4566 | + test #2 |
| 4567 | + |
| 4568 | +2000-06-01 Thursday 15:40 andy |
| 4569 | + |
| 4570 | + ./checkin script test |
| 4571 | + |
| 4572 | +2000-06-01 Thursday 15:38 andy |
| 4573 | + |
| 4574 | + Initial version of speakup in CVS. |
| 4575 | + |
| 4576 | +2000-06-01 Thursday 15:38 andy |
| 4577 | + |
| 4578 | + Initial revision |
| 4579 | + |
| 4580 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Changes linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Changes |
| 4581 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Changes 1969-12-31 16:00:00.000000000 -0800 |
| 4582 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Changes 2000-06-01 12:38:40.000000000 -0700 |
| 4583 | @@ -0,0 +1,221 @@ |
| 4584 | +version 0.09 |
| 4585 | + |
| 4586 | +May.24.2000, fixed piles o' bugs, and patched speakup forward to kernel |
| 4587 | +2.3.99-pre8 (at least). (Andy) |
| 4588 | + |
| 4589 | +sometime before May 24th, 2000, wrote several new drivers. (Kirk) |
| 4590 | + |
| 4591 | +version 0.08 |
| 4592 | + |
| 4593 | +18/11/1999, Finally nailed down and fixed a bug with the serial |
| 4594 | +drivers filling their buffer and causing the kernel to hang. Of |
| 4595 | +course, once again I've totally rewritten the serial drivers. (Kirk) |
| 4596 | + |
| 4597 | +10/11/1999, Fixed the end of buffer water mark so the kernel wouldn't |
| 4598 | +over run the buffer when a process was put to sleep but there was |
| 4599 | +already enough chars in the loop to over write end of buffer and trash |
| 4600 | +the system. (Kirk) |
| 4601 | + |
| 4602 | +29/10/1999, Added code to the drivers to test the kernel version, so |
| 4603 | +we could include the proper wait_queue tags for 2.2.x vs 2.3.x. (Kirk) |
| 4604 | + |
| 4605 | +27/10/1999, fix small bug which made the reading cursor not get stored |
| 4606 | +when switching between allocated consoles. (Kirk) |
| 4607 | + |
| 4608 | +08/10/1999, Totally rewrote all drivers to follow fixed format. No |
| 4609 | +more will we have drivers which don't look anything like the other |
| 4610 | +drivers. (Kirk) |
| 4611 | + |
| 4612 | +15/09/1999, Rewrote synth drivers and kernel to support command line |
| 4613 | +loading of synth ports at boot time. (Andy) |
| 4614 | + |
| 4615 | +14/09/1999, Rewrote portions of the speakup_ltlk.c driver to fix a |
| 4616 | +problem with the DoubleTalk LT losing the first character sent to it |
| 4617 | +after a null character. Seems to be a problem only with the LT, not |
| 4618 | +being able to deal with characters immediately following NULLs. |
| 4619 | +(Kirk) |
| 4620 | + |
| 4621 | +10/08/1999, Completed writing absolute go to function for speakup |
| 4622 | +reading cursor. (Andy) |
| 4623 | + |
| 4624 | +04/08/1999, Completed routines for speaking punctuation and |
| 4625 | +non-character assigned keys, such as shift/control/alt. (Andy) |
| 4626 | + |
| 4627 | +02/08/1999, Added routines to kernel.c and speakup to allow capturing |
| 4628 | +of keystrokes when they're hit. This allows us to speakup characters |
| 4629 | +which are typed for cursor control detection and pronouncing chars |
| 4630 | +which are not in the allowable punctuation set. (Andy) |
| 4631 | + |
| 4632 | +23/07/1999, Added routine speakup_check() to help track cursor |
| 4633 | +movement for cursor position pronunciation. It isn't working yet. |
| 4634 | +(Kirk) |
| 4635 | + |
| 4636 | +16/07/1999, Rewrote serial probe in ltlk driver to deal with autobaud |
| 4637 | +versions of the LiteTalk and DoubleTalk LT. (Andy) |
| 4638 | + |
| 4639 | +05/07/1999, Fixed a problem with characters like tick and dash which |
| 4640 | +don't get passed through to the synth even though they don't get |
| 4641 | +spoken. They are needed to get the synth to handle some words |
| 4642 | +correctly. (Kirk) |
| 4643 | + |
| 4644 | +25/06/1999, Fixed a bug I missed which caused speakup to not read the |
| 4645 | +last character on a line with say_curr_line(). (Kirk) |
| 4646 | + |
| 4647 | +25/06/1999, Fixed a bug which caused speakup to miss the end of |
| 4648 | +wrapped around words to the next line. (Kirk) |
| 4649 | + |
| 4650 | + |
| 4651 | +version 0.07 |
| 4652 | + |
| 4653 | +18/06/1999, Rewrote the Speakout driver to make it more inline with |
| 4654 | +the current driver design. This driver hasn't been tested yet. An |
| 4655 | +exercise for John. (Andy) |
| 4656 | + |
| 4657 | +17/06/1999, Finished rewriting and testing the new version of load_spk |
| 4658 | +utilities to handle multiple synths. This intailed redesigning the |
| 4659 | +entire way synth control protocals are stored and passed back and |
| 4660 | +forth between configuration files and the ioctl() handler. (Andy) |
| 4661 | + |
| 4662 | +31/05/1999, Finished writing the driver for the Accent SA and |
| 4663 | +Transport external synthesizers. (Kirk) |
| 4664 | + |
| 4665 | +20/05/1999, Rewrote portions of the DTLK and LTLK drivers to fix slow |
| 4666 | +responce and choppiness of the output with say_curr_line and |
| 4667 | +say_screen. (Kirk) |
| 4668 | + |
| 4669 | +18/05/1999, Finished the make config changes to make it easier to |
| 4670 | +include various synths before compiling the kernel. This included a |
| 4671 | +lot of changes to make files and config.in files as well as the |
| 4672 | +config.hlp and maintainers documents. We have moved speakup to its |
| 4673 | +own subdirectory under linux/drivers/char and will place all future |
| 4674 | +files in there. (Kirk) |
| 4675 | + |
| 4676 | +17/05/1999, Placed newline characters at the end of all strings in |
| 4677 | +speakup.c to facilitate proper output with the Speakout driver. (Kirk) |
| 4678 | + |
| 4679 | +13/05/1999, Finished writing and testing the ACNTPC driver for the |
| 4680 | +Accent PC synthesizer. (Kirk) |
| 4681 | + |
| 4682 | +11/05/1999, Finished writing and testing the LTLK driver for the |
| 4683 | +LightTalk synthesizer. (Andy) |
| 4684 | + |
| 4685 | +version 0.06 |
| 4686 | + |
| 4687 | +07/04/1999, Hunted down and squashed a bug which caused the system to |
| 4688 | +lock up when X11 allocated another console. Now, you want to talk |
| 4689 | +about weird bugs? (Kirk and Andy) |
| 4690 | + |
| 4691 | +05/04/1999, Fixed a small bug where the reading cursor structure was |
| 4692 | +floating when switching from console to console. (Kirk) |
| 4693 | + |
| 4694 | +05/03/1999, Finally got repeat function to work correctly. It didn't |
| 4695 | +want to give the proper repeat value on say_word and say_line. (Kirk) |
| 4696 | + |
| 4697 | +4/27/1999, Changed the two shut up functions to sync the reading |
| 4698 | +cursor with the console cursor. (Kirk) |
| 4699 | + |
| 4700 | +4/25/1999, Added a say hex and ASCII value function. (Brian) |
| 4701 | + |
| 4702 | +4/22/1999, Added our own punctuation handling. This will give us |
| 4703 | +consistancy across various synthesizers. It also allows us custom |
| 4704 | +punctuation sets. We have four levels currently, NONE, SOME, MOST, |
| 4705 | +ALL. The some and most can be user defined, this will eventually |
| 4706 | +become a configuration option with loadspk. (Kirk) |
| 4707 | + |
| 4708 | +4/19/1999, Added a repeat count function so that speakup doesn't read |
| 4709 | +all of a repeating sequence of characters like dashes or equal signs. |
| 4710 | +(Kirk) |
| 4711 | + |
| 4712 | +4/15/1999, Rewrote the synth driver to be smaller and utilize |
| 4713 | +buffering all the time. This entailed a total rewrite of the driver. |
| 4714 | +It works much better than the older style driver. We won't try to be |
| 4715 | +compatible with external drivers anymore. That caused us much grief! |
| 4716 | +(Kirk) |
| 4717 | + |
| 4718 | +Version 0.05 |
| 4719 | + |
| 4720 | +03/01/1999, Modified the kernel code and wrote a number of functions |
| 4721 | +for loading and dumping speakups configuration settings. The two |
| 4722 | +client programs are loadspk and dumpspk, see the accompanying README |
| 4723 | +and INSTALLATION files for details. (Andy) |
| 4724 | + |
| 4725 | +Version 0.04 |
| 4726 | + |
| 4727 | +12/23/1998, Added park reading cursor function. It toggles on and off |
| 4728 | +like the speakup off function. (Kirk) |
| 4729 | + |
| 4730 | +12/10/1998, added code to announce cursor function calls. This is to |
| 4731 | +help me try and figure out how and what to say when. (Kirk) |
| 4732 | + |
| 4733 | +12/08/1998, Added a check in say character to beep when the colour |
| 4734 | +attribute changes. (Kirk) |
| 4735 | + |
| 4736 | +12/08/1998, rewrote say previous and next word to wrap around at the |
| 4737 | +end of lines and beep when going from line to line. (Kirk) |
| 4738 | + |
| 4739 | +12/07/1998, Fixed a little bug which read the bottom half of a |
| 4740 | +character which was higher than 0x7f. It makes make menuconfig work a lot |
| 4741 | +nicer. (Kirk) |
| 4742 | + |
| 4743 | +12/07/1998, Added some new functions to read from reading cursor to |
| 4744 | +bottom of screen, read from top of screen, read from left edge of |
| 4745 | +screen to reading cursor and read from reading cursor to right edge of |
| 4746 | +screen. These are basically stub functions which call two general |
| 4747 | +purpose functions say_screen_from_to() and say_line_from_to(). (Kirk) |
| 4748 | + |
| 4749 | +version 0.03 |
| 4750 | + |
| 4751 | +11/19/1998, Added say phonetic character function. I have temporarily |
| 4752 | +bound it to InsKeyPad-2. (Kirk) |
| 4753 | + |
| 4754 | +11/19/1998, Added pronunciation of caps, num and scroll lock on and |
| 4755 | +off in keyboard.c. (Andy) |
| 4756 | + |
| 4757 | +11/18/1998, Fixed the bug which made speakup say the entire current |
| 4758 | +word even if it wrapped over the end of line. I also made |
| 4759 | +say_curr_word read the word to the right if you have your reading |
| 4760 | +cursor on the space just to the left of the word. Makes it a little |
| 4761 | +nicer for reading links in lynx. (Kirk) |
| 4762 | + |
| 4763 | +version 0.02 |
| 4764 | + |
| 4765 | +11/11/1998, fixed a little problem with the attr byte not being |
| 4766 | +correct when speakup_update() was called. (Kirk) |
| 4767 | + |
| 4768 | +11/11/1998, fixed consoles which are not the foreground console |
| 4769 | +speaking while they're updating their screens. (Kirk) |
| 4770 | + |
| 4771 | +11/11/1998, put in the GPL stuff and revised the documentation. (Kirk) |
| 4772 | + |
| 4773 | +11/10/1998, Rewrote the say_screen function to be super faster than it |
| 4774 | +was. (Kirk) |
| 4775 | + |
| 4776 | +11/10/1998, started to scratch in the soft parked system for reviewing |
| 4777 | +around the screen. This is mostly to prevent the reading cursor from |
| 4778 | +moving whenever the screen clock or something gets updated. (Kirk) |
| 4779 | + |
| 4780 | +11/09/1998, rewrote sections of dtlk.c to do away with writing out |
| 4781 | +inside cli()/sti() statements. Now we time out after 4 usec and |
| 4782 | +assume we missed the bit drop on the rdy bit because of an interrupt. |
| 4783 | +Seems to work pretty well except the damn thing reads garbage until |
| 4784 | +the bogomips line. Sure is more responsive normally though. (Kirk) |
| 4785 | + |
| 4786 | +11/05/1998, got the total shut_up routine to work correctly. In |
| 4787 | +vc_allocate() we were allocating a new structure every time it was |
| 4788 | +called. It was supposed to be everytime a new console was |
| 4789 | +successfully allocated. (Kirk) |
| 4790 | + |
| 4791 | +11/04/1998, Wrote colour attribute routine say_attrib(). I have |
| 4792 | +temporarily assigned it to the keypad-period. (Kirk) |
| 4793 | + |
| 4794 | +11/02/1998, vmalloc() didn't work, to early in the boot process. So |
| 4795 | +took our 8192 byte buffer directly by using kmem_start. (Kirk) |
| 4796 | + |
| 4797 | +10/29/1998, Increased dtlk buffer to 8192 bytes by moving to vmalloc() |
| 4798 | +and vfree() instead of get_free_page()/free_page(). We have moved |
| 4799 | +from one PAGE_SIZE to two. (kirk) |
| 4800 | + |
| 4801 | +10/29/1998, changed spk_shut_up to use bit 8 for total shut up instead |
| 4802 | +of a seperate variable. Works independantly for each console |
| 4803 | +now. (kirk) |
| 4804 | + |
| 4805 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Config.in linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Config.in |
| 4806 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Config.in 1969-12-31 16:00:00.000000000 -0800 |
| 4807 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Config.in 2003-12-10 07:29:56.000000000 -0800 |
| 4808 | @@ -0,0 +1,26 @@ |
| 4809 | +tristate 'Speakup console speech' CONFIG_SPEAKUP |
| 4810 | +if [ "$CONFIG_SPEAKUP" != "n" ]; then |
| 4811 | + comment 'Type "y" for each synthesizer you want built into the kernel.' |
| 4812 | + dep_tristate "Accent SA, acntsa" CONFIG_SPEAKUP_ACNTSA $CONFIG_SPEAKUP |
| 4813 | + dep_tristate "Accent PC, acntpc" CONFIG_SPEAKUP_ACNTPC $CONFIG_SPEAKUP |
| 4814 | + dep_tristate "Apollo, apollo" CONFIG_SPEAKUP_APOLLO $CONFIG_SPEAKUP |
| 4815 | + dep_tristate "Audapter, audptr" CONFIG_SPEAKUP_AUDPTR $CONFIG_SPEAKUP |
| 4816 | + dep_tristate "Braille 'n' Speak, bns" CONFIG_SPEAKUP_BNS $CONFIG_SPEAKUP |
| 4817 | + dep_tristate "DECtalk Express, dectlk" CONFIG_SPEAKUP_DECTLK $CONFIG_SPEAKUP |
| 4818 | + dep_tristate "DECtalk External (old), decext" CONFIG_SPEAKUP_DECEXT $CONFIG_SPEAKUP |
| 4819 | + dep_tristate "DECtalk PC (big ISA card), decpc" CONFIG_SPEAKUP_DECPC $CONFIG_SPEAKUP |
| 4820 | + if [ "$CONFIG_SPEAKUP_DECPC" = "y" ] ;then |
| 4821 | + comment 'warning: decpc can only be built as a module' |
| 4822 | + fi |
| 4823 | + comment 'In order to use this you will need' |
| 4824 | + comment 'the dtload program and DECPC software files ' |
| 4825 | + comment 'Read the accompanying DECPC documentation for more details' |
| 4826 | + dep_tristate "DoubleTalk PC, dtlk" CONFIG_SPEAKUP_DTLK $CONFIG_SPEAKUP |
| 4827 | + dep_tristate "Keynote Gold PC, keypc" CONFIG_SPEAKUP_KEYPC $CONFIG_SPEAKUP |
| 4828 | + dep_tristate "DoubleTalk LT or LiteTalk, ltlk" CONFIG_SPEAKUP_LTLK $CONFIG_SPEAKUP |
| 4829 | + dep_tristate "Software synthesizers /dev/sftsyn, sftsyn" CONFIG_SPEAKUP_SFTSYN $CONFIG_SPEAKUP |
| 4830 | + dep_tristate "Speak Out, spkout" CONFIG_SPEAKUP_SPKOUT $CONFIG_SPEAKUP |
| 4831 | + dep_tristate "Transport, txprt" CONFIG_SPEAKUP_TXPRT $CONFIG_SPEAKUP |
| 4832 | + comment 'Enter the three to six character synth string from above or none.' |
| 4833 | + string "Default synthesizer for Speakup" CONFIG_SPEAKUP_DEFAULT "none" |
| 4834 | +fi |
| 4835 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Kconfig linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Kconfig |
| 4836 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Kconfig 1969-12-31 16:00:00.000000000 -0800 |
| 4837 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Kconfig 2003-12-10 07:29:56.000000000 -0800 |
| 4838 | @@ -0,0 +1,210 @@ |
| 4839 | +menu "Speakup console speech" |
| 4840 | +config SPEAKUP |
| 4841 | + tristate "Build speakup console speech" |
| 4842 | + ---help--- |
| 4843 | + |
| 4844 | + This is the Speakup screen reader. Think of it as a |
| 4845 | + video console for blind people. If built in to the |
| 4846 | + kernel, it can speak evrything on the text console from |
| 4847 | + boot up to shutdown. For more information on Speakup, |
| 4848 | + point your browser at http://www.linux-speakup.org/. |
| 4849 | + There is also a mailing list at the above url that you |
| 4850 | + can subscribe to. |
| 4851 | + |
| 4852 | + Supported synthesizers are accent sa, accent pc, appollo |
| 4853 | + II., Auddapter, Braille 'n Speak, Dectalk external |
| 4854 | + (old), Dectalk PC (full length isa board), Dectalk |
| 4855 | + express, Doubletalk, Doubletalk LT or Litetalk, |
| 4856 | + Keynote |
| 4857 | + Gold internal PC, software synthesizers, Speakout, and transport. |
| 4858 | + |
| 4859 | + Speakup can either be built in or compiled as a module |
| 4860 | + by answering y or m. If you answer y here, then you |
| 4861 | + must answer either y or m to at least one of the |
| 4862 | + synthesizer drivers below. If you answer m here, then |
| 4863 | + the synthesizer drivers below can only be built as |
| 4864 | + modules. |
| 4865 | + |
| 4866 | + These drivers are not standalone drivers, but must be |
| 4867 | + used in conjunction with Speakup. Think of them as |
| 4868 | + video cards for blind people. |
| 4869 | + |
| 4870 | + |
| 4871 | + The Dectalk pc driver can only be built as a module, and |
| 4872 | + requires software to be pre-loaded on to the card before |
| 4873 | + the module can be loaded. See the decpc choice below |
| 4874 | + for more details. |
| 4875 | + |
| 4876 | + If you are not a blind person, or don't have access to |
| 4877 | + one of the listed synthesizers, you should say n. |
| 4878 | + |
| 4879 | +config SPEAKUP_ACNTSA |
| 4880 | + depends on SPEAKUP |
| 4881 | + tristate "Accent SA, acntsa" |
| 4882 | + ---help--- |
| 4883 | + |
| 4884 | + This is the Speakup driver for the accent sa |
| 4885 | + synthesizer. You can say y to build it into the kernel, |
| 4886 | + or m to build it as a module. See the configuration |
| 4887 | + help on the Speakup choice above for more info. |
| 4888 | + |
| 4889 | +config SPEAKUP_ACNTPC |
| 4890 | + depends on SPEAKUP |
| 4891 | + tristate "Accent PC, acntpc" |
| 4892 | + ---help--- |
| 4893 | + |
| 4894 | + This is the Speakup driver for the accent pc |
| 4895 | + synthesizer. You can say y to build it into the kernel, |
| 4896 | + or m to build it as a module. See the configuration |
| 4897 | + help on the Speakup choice above for more info. |
| 4898 | + |
| 4899 | +config SPEAKUP_APOLLO |
| 4900 | + depends on SPEAKUP |
| 4901 | + tristate "Apollo, apollo" |
| 4902 | + ---help--- |
| 4903 | + |
| 4904 | + This is the Speakup driver for the Apollo II |
| 4905 | + synthesizer. You can say y to build it into the kernel, |
| 4906 | + or m to build it as a module. See the configuration |
| 4907 | + help on the Speakup choice above for more info. |
| 4908 | + |
| 4909 | +config SPEAKUP_AUDPTR |
| 4910 | + depends on SPEAKUP |
| 4911 | + tristate "Audapter, audptr" |
| 4912 | + ---help--- |
| 4913 | + |
| 4914 | + This is the Speakup driver for the Audapter synthesizer. |
| 4915 | + You can say y to build it into the kernel, or m to |
| 4916 | + build it as a module. See the configuration help on the |
| 4917 | + Speakup choice above for more info. |
| 4918 | + |
| 4919 | +config SPEAKUP_BNS |
| 4920 | + depends on SPEAKUP |
| 4921 | + tristate "Braille 'n' Speak, bns" |
| 4922 | + ---help--- |
| 4923 | + |
| 4924 | + This is the Speakup driver for the Braille 'n' Speak |
| 4925 | + synthesizer. You can say y to build it into the kernel, |
| 4926 | + or m to build it as a module. See the configuration |
| 4927 | + help on the Speakup choice above for more info. |
| 4928 | + |
| 4929 | +config SPEAKUP_DECTLK |
| 4930 | + depends on SPEAKUP |
| 4931 | + tristate "DECtalk Express, dectlk" |
| 4932 | + ---help--- |
| 4933 | + |
| 4934 | + This is the Speakup driver for the DecTalk Express |
| 4935 | + synthesizer. You can say y to build it into the kernel, |
| 4936 | + or m to build it as a module. See the configuration |
| 4937 | + help on the Speakup choice above for more info. |
| 4938 | + |
| 4939 | +config SPEAKUP_DECEXT |
| 4940 | + depends on SPEAKUP |
| 4941 | + tristate "DECtalk External (old), decext" |
| 4942 | + ---help--- |
| 4943 | + |
| 4944 | + This is the Speakup driver for the DecTalk External |
| 4945 | + (old) synthesizer. You can say y to build it into the |
| 4946 | + kernel, or m to build it as a module. See the |
| 4947 | + configuration help on the Speakup choice above for more |
| 4948 | + info. |
| 4949 | + |
| 4950 | +config SPEAKUP_DECPC |
| 4951 | + depends on SPEAKUP |
| 4952 | + tristate "DECtalk PC (big ISA card), decpc" |
| 4953 | + ---help--- |
| 4954 | + |
| 4955 | + This is the Speakup driver for the DecTalk PC (full |
| 4956 | + length ISA) synthesizer. You can say m to build it as |
| 4957 | + a module. See the configuration help on the Speakup |
| 4958 | + choice above for more info. |
| 4959 | + |
| 4960 | + In order to use the DecTalk PC driver, you must download |
| 4961 | + the dec_pc.tgz file from linux-speakup.org. It is in |
| 4962 | + the pub/linux/goodies directory. The dec_pc.tgz file |
| 4963 | + contains the software which must be pre-loaded on to the |
| 4964 | + DecTalk PC board in order to use it with this driver. |
| 4965 | + This driver must be built as a module, and can not be |
| 4966 | + loaded until the file system is mounted and the DecTalk |
| 4967 | + PC software has been pre-loaded on to the board. |
| 4968 | + |
| 4969 | + See the README file in the dec_pc.tgz file for more |
| 4970 | + details. |
| 4971 | + |
| 4972 | +config SPEAKUP_DTLK |
| 4973 | + depends on SPEAKUP |
| 4974 | + tristate "DoubleTalk PC, dtlk" |
| 4975 | + ---help--- |
| 4976 | + |
| 4977 | + This is the Speakup driver for the internal DoubleTalk |
| 4978 | + PC synthesizer. You can say y to build it into the |
| 4979 | + kernel, or m to build it as a module. See the |
| 4980 | + configuration help on the Speakup choice above for more |
| 4981 | + info. |
| 4982 | + |
| 4983 | +config SPEAKUP_KEYPC |
| 4984 | + depends on SPEAKUP |
| 4985 | + tristate "Keynote Gold PC, keypc" |
| 4986 | + ---help--- |
| 4987 | + |
| 4988 | + This is the Speakup driver for the Keynote Gold |
| 4989 | + PC synthesizer. You can say y to build it into the |
| 4990 | + kernel, or m to build it as a module. See the |
| 4991 | + configuration help on the Speakup choice above for more |
| 4992 | + info. |
| 4993 | + |
| 4994 | +config SPEAKUP_LTLK |
| 4995 | + depends on SPEAKUP |
| 4996 | + tristate "DoubleTalk LT or LiteTalk, ltlk" |
| 4997 | +---help--- |
| 4998 | + |
| 4999 | + This is the Speakup driver for the LiteTalk/DoubleTalk |
| 5000 | + LT synthesizer. You can say y to build it into the |
| 5001 | + kernel, or m to build it as a module. See the |
| 5002 | + configuration help on the Speakup choice above for more |
| 5003 | + info. |
| 5004 | + |
| 5005 | +config SPEAKUP_SFTSYN |
| 5006 | + depends on SPEAKUP |
| 5007 | + tristate "Software synthesizers, sftsyn" |
| 5008 | +---help--- |
| 5009 | + |
| 5010 | + This is the software synthesizer device node. It will |
| 5011 | + register a device /dev/sftsyn which midware programs |
| 5012 | + and speech |
| 5013 | + daemons may open and read to provide kernel output to |
| 5014 | + software synths |
| 5015 | + such as festival, flite, tuxtalk and so forth. You |
| 5016 | + can select 'y' or |
| 5017 | + 'm' to have it built-in to the kernel or loaded as a module. |
| 5018 | + |
| 5019 | +config SPEAKUP_SPKOUT |
| 5020 | + depends on SPEAKUP |
| 5021 | + tristate "Speak Out, spkout" |
| 5022 | + ---help--- |
| 5023 | + |
| 5024 | + This is the Speakup driver for the Speakout synthesizer. |
| 5025 | + You can say y to build it into the kernel, or m to |
| 5026 | + build it as a module. See the configuration help on the |
| 5027 | + Speakup choice above for more info. |
| 5028 | + |
| 5029 | +config SPEAKUP_TXPRT |
| 5030 | + depends on SPEAKUP |
| 5031 | + tristate "Transport, txprt" |
| 5032 | + ---help--- |
| 5033 | + |
| 5034 | + This is the Speakup driver for the Transport |
| 5035 | + synthesizer. You can say y to build it into the kernel, |
| 5036 | + or m to build it as a module. See the configuration |
| 5037 | + help on the Speakup choice above for more info. |
| 5038 | + |
| 5039 | +if SPEAKUP != n |
| 5040 | + comment 'Enter the 3 to 6 character keyword from the list above, or none for no default synthesizer on boot up.' |
| 5041 | + depends on SPEAKUP |
| 5042 | +endif |
| 5043 | + |
| 5044 | +config SPEAKUP_DEFAULT |
| 5045 | + string "Choose Default synthesizer for Speakup" |
| 5046 | + default "none" |
| 5047 | + |
| 5048 | +endmenu |
| 5049 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Makefile linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Makefile |
| 5050 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/Makefile 1969-12-31 16:00:00.000000000 -0800 |
| 5051 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/Makefile 2004-10-21 07:39:22.000000000 -0700 |
| 5052 | @@ -0,0 +1,61 @@ |
| 5053 | +# |
| 5054 | +# Makefile for the speakup speech output system. |
| 5055 | +# |
| 5056 | + |
| 5057 | +V := $(shell awk '/UTS_RELEASE/ {print substr($$3,2,3)}' $(TOPDIR)/include/linux/version.h) |
| 5058 | +ifeq ($V,2.4) |
| 5059 | +# Note! Dependencies are done automagically by 'make dep', which also |
| 5060 | +# removes any old dependencies. DON'T put your own dependencies here |
| 5061 | +# unless it's something special (ie not a .c file). |
| 5062 | +# |
| 5063 | +# Note 2! The CFLAGS definitions are now inherited from the |
| 5064 | +# parent makes.. |
| 5065 | +# |
| 5066 | +O_TARGET := spk.o |
| 5067 | +export-objs := speakup_drvcommon.o speakup.o |
| 5068 | +endif |
| 5069 | +obj-m = speakup_keyhelp.o |
| 5070 | +speakupmain-objs := speakup.o speakup_drvcommon.o |
| 5071 | +obj-$(CONFIG_SPEAKUP) += speakupmain.o |
| 5072 | +obj-$(CONFIG_SPEAKUP_ACNTPC) += speakup_acntpc.o |
| 5073 | +obj-$(CONFIG_SPEAKUP_ACNTSA) += speakup_acntsa.o |
| 5074 | +obj-$(CONFIG_SPEAKUP_APOLLO) += speakup_apollo.o |
| 5075 | +obj-$(CONFIG_SPEAKUP_AUDPTR) += speakup_audptr.o |
| 5076 | +obj-$(CONFIG_SPEAKUP_BNS) += speakup_bns.o |
| 5077 | +obj-$(CONFIG_SPEAKUP_DECEXT) += speakup_decext.o |
| 5078 | +obj-$(CONFIG_SPEAKUP_DECPC) += speakup_decpc.o |
| 5079 | +obj-$(CONFIG_SPEAKUP_DECTLK) += speakup_dectlk.o |
| 5080 | +obj-$(CONFIG_SPEAKUP_DTLK) += speakup_dtlk.o |
| 5081 | +obj-$(CONFIG_SPEAKUP_KEYPC) += speakup_keypc.o |
| 5082 | +obj-$(CONFIG_SPEAKUP_LTLK) += speakup_ltlk.o |
| 5083 | +obj-$(CONFIG_SPEAKUP_SFTSYN) += speakup_sftsyn.o |
| 5084 | +obj-$(CONFIG_SPEAKUP_SPKOUT) += speakup_spkout.o |
| 5085 | +obj-$(CONFIG_SPEAKUP_TXPRT) += speakup_txprt.o |
| 5086 | + |
| 5087 | +ifeq ($V,2.4) |
| 5088 | + include $(TOPDIR)/Rules.make |
| 5089 | + |
| 5090 | +speakupmap.h: speakupmap.map genmap |
| 5091 | + ./genmap speakupmap.map >$@ |
| 5092 | + |
| 5093 | +genmap: genmap.c mapdata.h |
| 5094 | + cc -o genmap genmap.c |
| 5095 | + |
| 5096 | +mapdata.h: makemapdata.c keyinfo.h |
| 5097 | + cc -o makemapdata makemapdata.c |
| 5098 | + ./makemapdata >mapdata.h |
| 5099 | + |
| 5100 | +endif |
| 5101 | +speakupmain.o:speakup.o speakup_drvcommon.o |
| 5102 | + ld -r -o speakupmain.o speakup.o speakup_drvcommon.o |
| 5103 | + |
| 5104 | +$(obj)/speakupmap.h: $(src)/speakupmap.map $(src)/genmap |
| 5105 | + $(src)/genmap $(src)/speakupmap.map >$@ |
| 5106 | + |
| 5107 | +$(obj)/mapdata.h: $(src)/keyinfo.h $(src)/makemapdata |
| 5108 | + $(src)/makemapdata >$@ |
| 5109 | + |
| 5110 | +$(obj)/genmap: $(obj)/mapdata.h |
| 5111 | + |
| 5112 | +HOSTCFLAGS := -Iinclude -I/usr/include |
| 5113 | +hostprogs-y := makemapdata genmap |
| 5114 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/TODO linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/TODO |
| 5115 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/TODO 1969-12-31 16:00:00.000000000 -0800 |
| 5116 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/TODO 2004-03-06 07:55:29.000000000 -0800 |
| 5117 | @@ -0,0 +1,50 @@ |
| 5118 | +The format of this file is getting organized to help me keep track of |
| 5119 | +where we are going. I am organizing it into three sections. |
| 5120 | +Immediate things which need to be done I.E. code re-organization. New |
| 5121 | +features we are currently working on or at least in the near future. |
| 5122 | +Long term features which will move to the new features list as the new |
| 5123 | +features list empties. |
| 5124 | + |
| 5125 | +Immediate: |
| 5126 | + |
| 5127 | +Check and test all linux supported architectures to make sure speakup |
| 5128 | +works with them. |
| 5129 | + |
| 5130 | +New-Features: |
| 5131 | + |
| 5132 | +A screen memory find function to place the reading cursor. |
| 5133 | + |
| 5134 | +synth_file fops need to be filled in and expanded such as some type of |
| 5135 | +ioctl function and a real synth_file_read() function. |
| 5136 | + |
| 5137 | + |
| 5138 | +Long-Term-Features: |
| 5139 | + |
| 5140 | +keyboard macros (ala ASAP/qedit) |
| 5141 | + |
| 5142 | +finding calling process, so per-program configurations can be loaded |
| 5143 | + |
| 5144 | +Check park status and store it before doing a console switch. (non-trivial) |
| 5145 | + |
| 5146 | +user defined scroll-back ala shift-pgup. |
| 5147 | + |
| 5148 | +insert as 'capslock-style'/'next-style' key -- have internalized speakup |
| 5149 | + variable, which tracks state of the insert key; each speakup bare-key |
| 5150 | + function checks the variable, and possibly calls the alternate |
| 5151 | + function and returns |
| 5152 | + |
| 5153 | +Chuck wants a bleep if the shift key is hit and the capslock is on. |
| 5154 | +Here is his suggested test sequence: |
| 5155 | +1. check if the caps lock is set; if it is, |
| 5156 | +2. check if the char is alphabetic; if it is, |
| 5157 | +3. check if the shift key is pressed; if it is, |
| 5158 | +4. send a bell char to the console. |
| 5159 | + |
| 5160 | +Frank would like a fast way to go to the end of the word in addition |
| 5161 | +to moving to the beginning. |
| 5162 | + |
| 5163 | +Gene thinks we should have a /proc function to store and show the rom |
| 5164 | +version of any synth currently operating. |
| 5165 | + |
| 5166 | +The items in each list have no connection with the order of |
| 5167 | +implementation. I just jotted them down as I thought of them. |
| 5168 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkclean linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkclean |
| 5169 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkclean 1969-12-31 16:00:00.000000000 -0800 |
| 5170 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkclean 2000-12-31 10:20:36.000000000 -0800 |
| 5171 | @@ -0,0 +1,13 @@ |
| 5172 | +#!/bin/bash |
| 5173 | + |
| 5174 | +if [ "$1" == "" ]; then |
| 5175 | + echo "You forgot to include a path" |
| 5176 | + exit |
| 5177 | +fi |
| 5178 | + |
| 5179 | +cp -R /usr/src/linux/drivers/char/speakup $1/speakup |
| 5180 | +cd $1/speakup |
| 5181 | + |
| 5182 | +rm -rf checkin checkorig checkclean *.o *~ \ |
| 5183 | + CVS diff-v22/CVS diff-v24/CVS cvsversion.h |
| 5184 | + |
| 5185 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkin linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkin |
| 5186 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkin 1969-12-31 16:00:00.000000000 -0800 |
| 5187 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkin 2003-05-12 18:05:31.000000000 -0700 |
| 5188 | @@ -0,0 +1,75 @@ |
| 5189 | +#!/bin/bash |
| 5190 | + |
| 5191 | +cd ../../.. |
| 5192 | +ROOTDIR=`pwd` |
| 5193 | +VERSION=v`head -2 $ROOTDIR/Makefile | \ |
| 5194 | + awk '{ printf "%s",$3 }'` |
| 5195 | + |
| 5196 | +DIR=$ROOTDIR/drivers/char/speakup |
| 5197 | + |
| 5198 | +echo "Checking in $VERSION" |
| 5199 | + |
| 5200 | +# check for CVSROOT stuff |
| 5201 | +if [ ! -d ${DIR}/CVS ] && [ "$CVSROOT" == "" ]; then |
| 5202 | + echo 'CVSROOT not set. Enter it below.' |
| 5203 | + read -p 'CVSROOT> ' CVSROOT |
| 5204 | + [ "$CVSROOT" == "" ] && exit |
| 5205 | + export CVSROOT |
| 5206 | + cvs login || exit |
| 5207 | +fi |
| 5208 | + |
| 5209 | +# do I have a new version to deal with? |
| 5210 | +CVS_ADD=n |
| 5211 | +if [ ! -d ${DIR}/diff-${VERSION}/CVS ]; then |
| 5212 | + CVS_ADD=y |
| 5213 | +fi |
| 5214 | + |
| 5215 | +# make patch files |
| 5216 | +echo -n 'Creating CVS files [' |
| 5217 | +for i in `cat ${DIR}/patchlist-${VERSION}`; do |
| 5218 | + patch=`echo $i | cut -f 1 -d ,` |
| 5219 | + filebase=`echo $i | cut -f 2 -d ,` |
| 5220 | + |
| 5221 | + mkdir -p ${DIR}/diff-${VERSION} |
| 5222 | + fname="${DIR}/diff-${VERSION}/${filebase//\//^}" |
| 5223 | + |
| 5224 | + if [ "$patch" == "0" ]; then |
| 5225 | + # Just copy it |
| 5226 | + if [ $fname.copy -ot $filebase ] || [ ! -e $fname.copy ]; then |
| 5227 | + echo -n c |
| 5228 | + cp $ROOTDIR/$filebase $fname.copy |
| 5229 | + else |
| 5230 | + echo -n . |
| 5231 | + fi |
| 5232 | + else |
| 5233 | + # Make a patch |
| 5234 | + if [ -e $ROOTDIR/$filebase.orig ]; then |
| 5235 | + if [ $fname.patch -ot $filebase ] || [ ! -e $fname.patch ] ; then |
| 5236 | + echo -n p |
| 5237 | + diff -urN $ROOTDIR/$filebase.orig $filebase > $fname.patch |
| 5238 | + else |
| 5239 | + echo -n . |
| 5240 | + fi |
| 5241 | + else |
| 5242 | + # can't patch w/o .orig |
| 5243 | + echo ! |
| 5244 | + echo Error: $ROOTDIR/$filebase.orig doesn\'t exist! |
| 5245 | + exit |
| 5246 | + fi |
| 5247 | + fi |
| 5248 | +done |
| 5249 | +echo '] done.' |
| 5250 | + |
| 5251 | +[ "$1" == "-p" ] && exit |
| 5252 | + |
| 5253 | +cd ${DIR} |
| 5254 | + |
| 5255 | +echo 'Creating cvsversion.h' |
| 5256 | +echo '#define CVSVERSION " CVS:' `date` '"' > cvsversion.h |
| 5257 | + |
| 5258 | +echo 'Sending to CVS...' |
| 5259 | +if [ "$CVS_ADD" == "y" ]; then |
| 5260 | + cvs add diff-${VERSION} || exit |
| 5261 | + cvs add diff-${VERSION}/* || exit |
| 5262 | +fi |
| 5263 | +cvs -Q ci || exit |
| 5264 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkout linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkout |
| 5265 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/checkout 1969-12-31 16:00:00.000000000 -0800 |
| 5266 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/checkout 2005-08-15 07:47:45.000000000 -0700 |
| 5267 | @@ -0,0 +1,83 @@ |
| 5268 | +#!/bin/bash |
| 5269 | + |
| 5270 | +ROOTDIR=/usr/src/linux |
| 5271 | +if [ "$1" != "" ]; then |
| 5272 | + ROOTDIR="$1" |
| 5273 | +else |
| 5274 | + if [ -d kernel -a -d Documentation ]; then |
| 5275 | + ROOTDIR=`pwd` |
| 5276 | + fi |
| 5277 | +fi |
| 5278 | + |
| 5279 | +VERSION=v`head -2 $ROOTDIR/Makefile | \ |
| 5280 | + awk '{ printf "%s",$3 }'` |
| 5281 | + |
| 5282 | +DIR=$ROOTDIR/drivers/char/speakup |
| 5283 | + |
| 5284 | +echo "Patching version $VERSION" |
| 5285 | + |
| 5286 | +if [ ! -d ${DIR}/CVS ] && [ "$CVSROOT" == "" ]; then |
| 5287 | + echo 'CVSROOT not set. Enter it below. Hit enter for anonymous.' |
| 5288 | + read -p 'CVSROOT> ' CVSROOT |
| 5289 | + [ "$CVSROOT" == "" ] && |
| 5290 | + CVSROOT=':pserver:mike@nondescript.ca:/usr/src/CVS' |
| 5291 | + export CVSROOT |
| 5292 | + cvs login || exit |
| 5293 | +fi |
| 5294 | + |
| 5295 | +if [ "$1" != "-p" ]; then |
| 5296 | + # get new version |
| 5297 | + mkdir -p ${DIR%/speakup} |
| 5298 | + cd ${DIR%/speakup} |
| 5299 | + if [ -d speakup ] && [ -d ${DIR}/CVS ]; then |
| 5300 | + cd speakup |
| 5301 | + cvs update -d -P || exit |
| 5302 | + else |
| 5303 | + rm -fr ${DIR} |
| 5304 | + cvs co -P speakup || exit |
| 5305 | + cd speakup |
| 5306 | + fi |
| 5307 | +fi |
| 5308 | + |
| 5309 | +# make .orig files |
| 5310 | +echo -n 'Creating .orig files [' |
| 5311 | +for i in `cat ${DIR}/patchlist-${VERSION}`; do |
| 5312 | + patch=`echo $i | cut -f 1 -d ,` |
| 5313 | + filebase=`echo $i | cut -f 2 -d ,` |
| 5314 | + |
| 5315 | + mkdir -p `dirname $ROOTDIR/$filebase` |
| 5316 | + if [ "$patch" == "1" ]; then |
| 5317 | + if [ ! -e $ROOTDIR/$filebase.orig ]; then |
| 5318 | + echo -n . |
| 5319 | + cp $ROOTDIR/$filebase $ROOTDIR/$filebase.orig |
| 5320 | + fi |
| 5321 | + fi |
| 5322 | +done |
| 5323 | +echo '] done.' |
| 5324 | + |
| 5325 | +# apply patches |
| 5326 | +echo -n 'Patching files [' |
| 5327 | +for i in ${DIR}/diff-${VERSION}/*.patch; do |
| 5328 | + # skip dirs |
| 5329 | + [ -d $i ] && continue |
| 5330 | + echo -n p |
| 5331 | + writeloc=${i##$DIR\/diff-${VERSION}\/} |
| 5332 | + writeloc=${writeloc%.patch} |
| 5333 | + writeloc=${writeloc//^/\/} |
| 5334 | + patch --silent -f -p0 -o $ROOTDIR/$writeloc $ROOTDIR/$writeloc.orig $i |
| 5335 | +done |
| 5336 | +echo '] done.' |
| 5337 | + |
| 5338 | +# copy files |
| 5339 | +echo -n 'Copying files [' |
| 5340 | +for i in ${DIR}/diff-${VERSION}/*.copy; do |
| 5341 | + # skip dirs |
| 5342 | + [ -d $i ] && continue |
| 5343 | + echo -n c |
| 5344 | + writeloc=${i##$DIR\/diff-${VERSION}\/} |
| 5345 | + writeloc=${writeloc%.copy} |
| 5346 | + writeloc=${writeloc//^/\/} |
| 5347 | + cp $i $ROOTDIR/$writeloc |
| 5348 | +done |
| 5349 | +echo '] done.' |
| 5350 | + |
| 5351 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/cvsversion.h linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/cvsversion.h |
| 5352 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/cvsversion.h 1969-12-31 16:00:00.000000000 -0800 |
| 5353 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/cvsversion.h 2005-08-16 12:57:05.000000000 -0700 |
| 5354 | @@ -0,0 +1 @@ |
| 5355 | +#define CVSVERSION " CVS: Tue Aug 16 15:56:58 EDT 2005 " |
| 5356 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtload.c linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtload.c |
| 5357 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtload.c 1969-12-31 16:00:00.000000000 -0800 |
| 5358 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtload.c 2003-08-08 11:15:12.000000000 -0700 |
| 5359 | @@ -0,0 +1,554 @@ |
| 5360 | +/* |
| 5361 | + * This is the DECtalk PC firmware loader for the Linux kernel, version 1.0 |
| 5362 | + * |
| 5363 | + * Original 386BSD source: |
| 5364 | + * Copyright ( c ) 1996 Brian Buhrow <buhrow@lothlorien.nfbcal.org> |
| 5365 | + * |
| 5366 | + * Adapted for Linux: |
| 5367 | + * Copyright ( c ) 1997 Nicolas Pitre <nico@cam.org> |
| 5368 | + * |
| 5369 | + * Adapted for speakup: |
| 5370 | + * Copyright ( c ) 2003 David Borowski <david575@golden.net> |
| 5371 | + * |
| 5372 | + * All rights reserved. |
| 5373 | + * |
| 5374 | + * This program is free software; you can redistribute it and/or modify |
| 5375 | + * it under the terms of the GNU General Public License as published by |
| 5376 | + * the Free Software Foundation; either version 2 of the License, or |
| 5377 | + * ( at your option ) any later version. |
| 5378 | + * |
| 5379 | + * This program is distributed in the hope that it will be useful, |
| 5380 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 5381 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 5382 | + * GNU General Public License for more details. |
| 5383 | + * |
| 5384 | + * You should have received a copy of the GNU General Public License |
| 5385 | + * along with this program; if not, write to the Free Software |
| 5386 | + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 5387 | + * |
| 5388 | + */ |
| 5389 | + |
| 5390 | +#include <stdio.h> |
| 5391 | +#include <stdlib.h> |
| 5392 | +#include <unistd.h> |
| 5393 | +#include <string.h> |
| 5394 | +#include <sys/types.h> |
| 5395 | +#include <sys/stat.h> |
| 5396 | +#include <fcntl.h> |
| 5397 | +#include <malloc.h> |
| 5398 | +#include <sys/errno.h> |
| 5399 | +#include <asm/io.h> |
| 5400 | +#include "dtload.h" |
| 5401 | +#include "dtpc_reg.h" |
| 5402 | + |
| 5403 | +#define dt_delay(x) usleep(x) |
| 5404 | +int verbose = 0, intest = 0,infd = -1; |
| 5405 | +int image_len, total_paras; |
| 5406 | +int dt_stat, dma_state = 0, has_kernel = 0; |
| 5407 | +struct dos_reloc fixups[512]; |
| 5408 | +char *read_buff = NULL; |
| 5409 | +struct dos_exe_header header; |
| 5410 | +u_short iobase = 0x350; |
| 5411 | + |
| 5412 | +static inline int dt_getstatus( ) |
| 5413 | +{ |
| 5414 | + dt_stat = inb_p( iobase )|(inb_p( iobase+1 )<<8); |
| 5415 | + return dt_stat; |
| 5416 | +} |
| 5417 | + |
| 5418 | +static void dt_sendcmd( u_int cmd ) |
| 5419 | +{ |
| 5420 | + outb_p( cmd & 0xFF, iobase ); |
| 5421 | + outb_p( (cmd>>8) & 0xFF, iobase+1 ); |
| 5422 | +} |
| 5423 | + |
| 5424 | +static int dt_waitbit( int bit ) |
| 5425 | +{ |
| 5426 | + int timeout = 100; |
| 5427 | + while ( --timeout > 0 ) { |
| 5428 | + if( (dt_getstatus( ) & bit ) == bit ) return 1; |
| 5429 | + usleep( 1000 ); |
| 5430 | + } |
| 5431 | + return 0; |
| 5432 | +} |
| 5433 | + |
| 5434 | +static int dt_sendcmd_wait( u_int cmd, int bit ) |
| 5435 | +{ |
| 5436 | + int timeout = 1000; |
| 5437 | + outb_p( cmd & 0xFF, iobase ); |
| 5438 | + outb_p( (cmd>>8) & 0xFF, iobase+1 ); |
| 5439 | + while ( --timeout > 0 ) { |
| 5440 | + if( (dt_getstatus( ) & bit ) == bit ) return 1; |
| 5441 | + usleep( 1000 ); |
| 5442 | + } |
| 5443 | + return 0; |
| 5444 | +} |
| 5445 | + |
| 5446 | +static int dt_waitmode( int pattern ) |
| 5447 | +{ |
| 5448 | + int timeout = 1000; |
| 5449 | + while ( --timeout > 0 ) { |
| 5450 | + if( dt_getstatus( ) == pattern ) return 1; |
| 5451 | + usleep( 1000 ); |
| 5452 | + } |
| 5453 | + fprintf( stderr, "waitmode p=%x s = %x\n", pattern, dt_stat ); |
| 5454 | + return 0; |
| 5455 | +} |
| 5456 | + |
| 5457 | +static int dt_wait_dma( ) |
| 5458 | +{ |
| 5459 | + int timeout = 1000, state = dma_state; |
| 5460 | + if( !has_kernel ){ |
| 5461 | + dt_delay( 500 ); |
| 5462 | + return( dt_waitbit( STAT_dma_ready ) ); |
| 5463 | + } |
| 5464 | + if( ! dt_waitbit( STAT_dma_ready ) ) return 0; |
| 5465 | + while ( --timeout > 0 ) { |
| 5466 | + if( (dt_getstatus()&STAT_dma_state) == state ) return 1; |
| 5467 | + usleep( 1000 ); |
| 5468 | + } |
| 5469 | + dma_state = dt_getstatus( ) & STAT_dma_state; |
| 5470 | + return 1; |
| 5471 | +} |
| 5472 | + |
| 5473 | +dt_ctrl( u_int cmd ) |
| 5474 | +{ |
| 5475 | + while ( ! dt_waitbit( STAT_cmd_ready ) ) dt_delay( 100 ); |
| 5476 | + outb_p( 0, iobase+2 ); |
| 5477 | + outb_p( 0, iobase+3 ); |
| 5478 | + dt_getstatus( ); |
| 5479 | + dt_sendcmd( CMD_control|cmd ); |
| 5480 | + outb_p( 0, iobase+6 ); |
| 5481 | + dt_delay( 100 ); |
| 5482 | + dt_sendcmd( CMD_null ); |
| 5483 | + while ( ! dt_waitbit( STAT_cmd_ready ) ) dt_delay( 100 ); |
| 5484 | +} |
| 5485 | + |
| 5486 | +int dt_flush( void ) |
| 5487 | +{ |
| 5488 | + dt_ctrl( CTRL_flush ); |
| 5489 | + dt_waitbit( STAT_dma_ready ); |
| 5490 | + outb_p( DMA_sync, iobase+4 ); |
| 5491 | + outb_p( 0, iobase+4 ); |
| 5492 | + dma_state ^= STAT_dma_state; |
| 5493 | + while( dt_getstatus( ) & STAT_flushing ) dt_delay( 100 ); |
| 5494 | + return 0; |
| 5495 | +} |
| 5496 | + |
| 5497 | +static int dt_sendbuff( char *src, int len ) |
| 5498 | +{ |
| 5499 | + while( len-- ){ |
| 5500 | + if( ! dt_wait_dma( ) ) return -1; |
| 5501 | + if( ! (dt_getstatus( ) & STAT_rr_char) ) break; |
| 5502 | + outb_p( DMA_single_in, iobase+4 ); |
| 5503 | + outb_p( *src++, iobase+4 ); |
| 5504 | + dma_state ^= STAT_dma_state; |
| 5505 | + } |
| 5506 | + return 0; |
| 5507 | +} |
| 5508 | + |
| 5509 | +unsigned long dt_allocmem( unsigned long paras ) |
| 5510 | +{ |
| 5511 | + unsigned long addr; |
| 5512 | + if( ! dt_wait_dma( ) ) return 0; |
| 5513 | + outb_p( DMA_control, iobase+4 ); |
| 5514 | + outb_p( DT_MEM_ALLOC, iobase+4 ); |
| 5515 | + dma_state ^= STAT_dma_state; |
| 5516 | + if( ! dt_wait_dma( ) ) return 0; |
| 5517 | + outb_p( paras & 0xFF, iobase+4 ); |
| 5518 | + outb_p( (paras>>8) & 0xFF, iobase+4 ); |
| 5519 | + dma_state ^= STAT_dma_state; |
| 5520 | + if( ! dt_wait_dma( ) ) return 0; |
| 5521 | + addr = inb_p( iobase+4 ); |
| 5522 | + addr |= (inb_p( iobase+4 )<<8); |
| 5523 | + addr += (inb_p( iobase+4 )<<4); |
| 5524 | + addr += (inb_p( iobase+4 )<<12); |
| 5525 | + dma_state ^= STAT_dma_state; |
| 5526 | + return addr; |
| 5527 | +} |
| 5528 | + |
| 5529 | +static int testkernel( void ) |
| 5530 | +{ |
| 5531 | + dt_sendcmd( CMD_sync ); |
| 5532 | + if( ! dt_waitbit( STAT_cmd_ready ) ) return -10; |
| 5533 | + has_kernel = ( dt_stat&0x8000 ) ? 1 : 0; |
| 5534 | + if ( verbose ) printf( "testkernel got %x\n", dt_stat ); |
| 5535 | + if ( has_kernel ) return 0; |
| 5536 | + dt_delay( 100 ); |
| 5537 | + return 1; |
| 5538 | +} |
| 5539 | + |
| 5540 | +static int dt_loadmem( int addr, int len, char *src ) |
| 5541 | +{ |
| 5542 | + char c; |
| 5543 | + int l; |
| 5544 | + if ( verbose ) printf( "dt_loadmem: addr = %08X size = %d\n", addr, len ); |
| 5545 | + do { |
| 5546 | + l = len; |
| 5547 | + if ( l >= 0xc000 ) l = 0xc000; |
| 5548 | + len -= l; |
| 5549 | + if( ! dt_wait_dma( ) ) return -1; |
| 5550 | + outb_p( DMA_control, iobase+4 ); |
| 5551 | + outb_p( DT_LOAD_MEM, iobase+4 ); |
| 5552 | + dma_state ^= STAT_dma_state; |
| 5553 | + if( ! dt_wait_dma( ) ) return -2; |
| 5554 | + outb_p( addr & 0xFF, iobase+4 ); |
| 5555 | + outb_p( (addr>>8) & 0xFF, iobase+4 ); |
| 5556 | + outb_p( (addr>>16) & 0xFF, iobase+4 ); |
| 5557 | + outb_p( (addr>>24) & 0xFF, iobase+4 ); |
| 5558 | + outb_p( l & 0xFF, iobase+4 ); |
| 5559 | + outb_p( (l>>8) & 0xFF, iobase+4 ); |
| 5560 | + dma_state ^= STAT_dma_state; |
| 5561 | + if( ! dt_wait_dma( ) ) return -3; |
| 5562 | + addr += l; |
| 5563 | + while( l-- ){ |
| 5564 | + c = *src++; |
| 5565 | + outb_p( c, iobase+4 ); |
| 5566 | + } |
| 5567 | + dma_state ^= STAT_dma_state; |
| 5568 | + } while ( len > 0 ); |
| 5569 | + return 0; |
| 5570 | +} |
| 5571 | + |
| 5572 | +unsigned int loadfile ( char *filename ) |
| 5573 | +{ |
| 5574 | + int i, header_size; |
| 5575 | + unsigned int total_paras; |
| 5576 | + long fix; |
| 5577 | + infd = open ( filename, O_RDONLY ); |
| 5578 | + if ( infd == -1 ) { |
| 5579 | + perror ( "Opening file: " ); |
| 5580 | + return 0; |
| 5581 | + } |
| 5582 | + read ( infd, &header, sizeof ( struct dos_exe_header ) ); |
| 5583 | + if ( header.id != 0x5a4d ) { |
| 5584 | + fprintf ( stderr, "Invalid header file format\n" ); |
| 5585 | + fprintf ( stderr, "Want 0x5a4d, got 0x%x\n", header.id ); |
| 5586 | + return 0; |
| 5587 | + } |
| 5588 | + if ( header.relen > MAX_FIXUPS ) { |
| 5589 | + fprintf ( stderr, "Too many fixups\n" ); |
| 5590 | + return 0; |
| 5591 | + } |
| 5592 | + lseek ( infd, ( long ) header.reloc, SEEK_SET ); |
| 5593 | + read ( infd, fixups, sizeof ( struct dos_reloc ) * header.relen ); |
| 5594 | + header_size = header.hsize * 16; |
| 5595 | + lseek ( infd, ( long )header_size, SEEK_SET ); |
| 5596 | + image_len = ( ( header.pages-1 )*512 ) + ( header.rem- header_size ); |
| 5597 | + total_paras = ( image_len >> 4 ) + header.hmin + 16; |
| 5598 | + read ( infd, read_buff, image_len ); |
| 5599 | + close( infd ); |
| 5600 | + return total_paras; |
| 5601 | +} |
| 5602 | + |
| 5603 | +static int loadkernel( char *filename ) |
| 5604 | +{ |
| 5605 | + int segfix = 0x40, fix, i; |
| 5606 | + int ipval, csval; |
| 5607 | + if ( has_kernel ) return 0; |
| 5608 | + if ( !loadfile( filename ) ) return -1; |
| 5609 | + header.csval += segfix; |
| 5610 | + header.ssval += segfix; |
| 5611 | + if ( verbose ) { |
| 5612 | + printf ( "Loading kernel of %ld bytes ( %d relocs )\n", |
| 5613 | + image_len, header.relen ); |
| 5614 | + printf ( " cs:ip == %04x:%04x ss:sp == %04x:%04x\n", |
| 5615 | + header.csval, header.ipval, header.ssval, header.spval ); |
| 5616 | + } |
| 5617 | + for ( i = 0; i < header.relen; i++ ) { |
| 5618 | + fix = ( fixups[i].segment << 4 ) + fixups[i].offset; |
| 5619 | + ( *( unsigned int * ) &read_buff[fix] ) += segfix; |
| 5620 | + } |
| 5621 | + csval = header.csval; |
| 5622 | + ipval = header.ipval; |
| 5623 | + dt_sendcmd_wait( MODULE_reset, MODULE_init ); |
| 5624 | + dt_sendcmd( CMD_reset ); |
| 5625 | + if( dt_getstatus( ) == MODULE_self_test ){ |
| 5626 | + if( ! dt_waitmode( MODULE_init ) ) return -1; |
| 5627 | + } |
| 5628 | + if ( !dt_sendcmd_wait( CMD_reset, MODE_status ) ) return -2; |
| 5629 | + if ( !dt_sendcmd_wait( CMD_sync, MODE_error ) ) return -3; |
| 5630 | + if ( !dt_sendcmd_wait( CMD_reset, MODE_status ) ) return -4; |
| 5631 | + if ( verbose ) printf( "card is ready\n" ); |
| 5632 | + dt_sendcmd( CMD_dma ); |
| 5633 | + if( ! dt_waitbit( STAT_dma_ready ) ) return -5; |
| 5634 | + if( ( i = dt_loadmem( 0x00000400, image_len, read_buff ) ) ) { |
| 5635 | + fprintf( stderr, "kernel load failed, status %d\n", i ); |
| 5636 | + return -6; |
| 5637 | + } |
| 5638 | + dt_delay( 100 ); |
| 5639 | + /* the kernel is loaded, start it */ |
| 5640 | + if ( !dt_sendcmd_wait( CMD_reset, MODE_status ) ) return -7; |
| 5641 | + dt_sendcmd( CMD_dma+1 ); /**xxx**/ |
| 5642 | + dt_delay( 100 ); |
| 5643 | + if( ! dt_waitbit( STAT_dma_ready ) ) return-8; |
| 5644 | + outb_p( DMA_control, iobase+4 ); |
| 5645 | + outb_p( DT_START_TASK, iobase+4 ); |
| 5646 | + dt_delay( 100 ); |
| 5647 | + outb_p( ipval & 0xFF, iobase+4 ); |
| 5648 | + outb_p( (ipval>>8) & 0xFF, iobase+4 ); |
| 5649 | + outb_p( csval & 0xFF, iobase+4 ); |
| 5650 | + outb_p( (csval>>8) & 0xFF, iobase+4 ); |
| 5651 | + if( ! dt_waitmode( 0xc001 ) ) return -9; |
| 5652 | + if ( verbose ) { |
| 5653 | + printf( "done loading kernel\n" ); |
| 5654 | + } |
| 5655 | + return testkernel( ); |
| 5656 | +} |
| 5657 | + |
| 5658 | +int loaddict ( char *filename, char *name, int type ) |
| 5659 | +{ |
| 5660 | + int i, read_index, read_size, act_size; |
| 5661 | + unsigned short *index_fix, seg_fix; |
| 5662 | + unsigned long entries, index, dic_bytes, dic_addr; |
| 5663 | + unsigned int total_paras; |
| 5664 | + unsigned long param, l; |
| 5665 | + infd = open ( filename, O_RDONLY ); |
| 5666 | + if ( infd == -1 ) { |
| 5667 | + perror ( filename ); |
| 5668 | + return -1; |
| 5669 | + } |
| 5670 | +/* read in the entry count and the actual entry size excluding the |
| 5671 | + * index table ( which is entries * 4 ) ... */ |
| 5672 | + read ( infd, &entries, 4 ); |
| 5673 | + read ( infd, &dic_bytes, 4 ); |
| 5674 | + if ( verbose ) |
| 5675 | + printf ( "Loading %s dictionary of %lu entries, %lu bytes.\n", |
| 5676 | + name, entries, dic_bytes ); |
| 5677 | + total_paras = ( ( ( entries * 4 ) + dic_bytes ) >> 4 ) + 2; |
| 5678 | + if ( verbose ) |
| 5679 | + printf ( "Allocating %d paragraphs of free ram ...\n", total_paras ); |
| 5680 | + l = dt_allocmem( total_paras ); |
| 5681 | + if ( l == 0 ) { |
| 5682 | + perror ( "Error requesting memory from speech device" ); |
| 5683 | + return -1; |
| 5684 | + } |
| 5685 | + seg_fix = ( l >> 4 ) & 0xffff; |
| 5686 | + dic_addr = l; |
| 5687 | + index = entries; |
| 5688 | + index_fix = ( unsigned short * ) &read_buff[0]; |
| 5689 | + if ( verbose ) |
| 5690 | + printf ( "Index table starts at %lx\n", l ); |
| 5691 | + read_index = index*4; |
| 5692 | + act_size = read ( infd, read_buff, read_index ); |
| 5693 | + if ( act_size != read_index ) { |
| 5694 | + fprintf ( stderr, "\nError reading indexes\n" ); |
| 5695 | + fprintf ( stderr, " exp : %d act : %d\n", read_index * 4, act_size ); |
| 5696 | + return -1; |
| 5697 | + } |
| 5698 | + for ( i = 1; i < index * 2; i += 2 ) |
| 5699 | + index_fix[i] += seg_fix; |
| 5700 | + if( ( i = dt_loadmem( l, read_index, read_buff ) ) ) { |
| 5701 | + fprintf ( stderr, "\nError loading indexes at 0x%lX: i %d\n", |
| 5702 | + l, i ); |
| 5703 | + return -1; |
| 5704 | + } |
| 5705 | + l += read_index; |
| 5706 | +/* now, load up the dictionary bytes ... */ |
| 5707 | + if ( verbose ) |
| 5708 | + printf ( "Dictionary text starts at %lx\n", l ); |
| 5709 | + read_size = dic_bytes; |
| 5710 | + if ( ( act_size = read ( infd, read_buff, read_size ) ) != read_size ) { |
| 5711 | + fprintf ( stderr, "\nError reading dictionary text!\n" ); |
| 5712 | + fprintf ( stderr, "asked : %d actual : %d\n", act_size, read_size ); |
| 5713 | + return -1; |
| 5714 | + } |
| 5715 | + if( ( i = dt_loadmem( l, read_size, read_buff ) ) ) { |
| 5716 | + fprintf ( stderr, "\nError loading dictionary at 0x%lX: status %d\n", |
| 5717 | + l, i ); |
| 5718 | + return -1; |
| 5719 | + } |
| 5720 | + if( ! dt_wait_dma( ) ) return -1; |
| 5721 | + outb_p( DMA_control, iobase+4 ); |
| 5722 | + outb_p( DT_SET_DIC, iobase+4 ); |
| 5723 | + dma_state ^= STAT_dma_state; |
| 5724 | + if( ! dt_wait_dma( ) ) return -1; |
| 5725 | + l = dic_addr; |
| 5726 | + l = ((l << 12) & 0xFFFF0000) + (l & 0x0000000F); |
| 5727 | + outb_p( l & 0xFF, iobase+4 ); |
| 5728 | + outb_p( (l>>8) & 0xFF, iobase+4 ); |
| 5729 | + outb_p( (l>>16) & 0xFF, iobase+4 ); |
| 5730 | + outb_p( (l>>24) & 0xFF, iobase+4 ); |
| 5731 | + l = entries; |
| 5732 | + outb_p( l & 0xFF, iobase+4 ); |
| 5733 | + outb_p( (l>>8) & 0xFF, iobase+4 ); |
| 5734 | + outb_p( (l>>16) & 0xFF, iobase+4 ); |
| 5735 | + outb_p( (l>>24) & 0xFF, iobase+4 ); |
| 5736 | + l = type; |
| 5737 | + outb_p( l & 0xFF, iobase+4 ); |
| 5738 | + outb_p( (l>>8) & 0xFF, iobase+4 ); |
| 5739 | + dma_state ^= STAT_dma_state; |
| 5740 | + close ( infd ); |
| 5741 | + if ( verbose ) printf( "dictionary load complete\n" ); |
| 5742 | + return 0; |
| 5743 | +} |
| 5744 | + |
| 5745 | +int loadexe ( char *filename ) |
| 5746 | +{ |
| 5747 | + unsigned int load_addr = 0, seg_fix; |
| 5748 | + int i, read_size; |
| 5749 | + int ipval, csval; |
| 5750 | + long fix; |
| 5751 | + unsigned long total_paras; |
| 5752 | + total_paras = loadfile ( filename ); |
| 5753 | + if ( total_paras == 0 ) return -1; |
| 5754 | + load_addr = dt_allocmem( total_paras ); |
| 5755 | + if ( load_addr == 0 ) { |
| 5756 | + fprintf ( stderr, "Error allocating memory on card: " ); |
| 5757 | + return -1; |
| 5758 | + } |
| 5759 | + seg_fix = ( load_addr >> 4 ) & 0xffff; |
| 5760 | + if ( verbose ) { |
| 5761 | + printf ( "Loading %s %ld bytes ( %d relocs )\n", |
| 5762 | + filename, image_len, header.relen ); |
| 5763 | + printf ( "Allocating %ld bytes of free ram at %05x\n", |
| 5764 | + ( long ) header.hmin * 16, load_addr ); |
| 5765 | + printf ( "Total memory taken is %ld bytes\n", ( long ) total_paras * 16 ); |
| 5766 | + printf ( " cs:ip == %04x:%04x ss:sp == %04x:%04x\n", |
| 5767 | + header.csval + seg_fix, header.ipval, header.ssval + seg_fix, header.spval ); |
| 5768 | + } |
| 5769 | + for ( i = 0; i < header.relen; i++ ) { |
| 5770 | + fix = ( ( long ) fixups[i].segment << 4 ) + ( long ) fixups[i].offset; |
| 5771 | + ( *( unsigned int * ) &read_buff[fix] ) += seg_fix; |
| 5772 | + } |
| 5773 | + if( ( i = dt_loadmem( load_addr, image_len, read_buff ) ) ) { |
| 5774 | + fprintf ( stderr, "Error loading speech device at 0x%lX: status %d\n", |
| 5775 | + load_addr, i ); |
| 5776 | + return -1; |
| 5777 | + } |
| 5778 | + csval = header.csval + seg_fix; |
| 5779 | + ipval = header.ipval; |
| 5780 | + if( ! dt_wait_dma( ) ) return -1; |
| 5781 | + outb_p( DMA_control, iobase+4 ); |
| 5782 | + outb_p( DT_START_TASK, iobase+4 ); |
| 5783 | + dma_state ^= STAT_dma_state; |
| 5784 | + if( ! dt_wait_dma( ) ) return -1; |
| 5785 | + outb_p( ipval & 0xFF, iobase+4 ); |
| 5786 | + outb_p( (ipval>>8) & 0xFF, iobase+4 ); |
| 5787 | + outb_p( csval & 0xFF, iobase+4 ); |
| 5788 | + outb_p( (csval>>8) & 0xFF, iobase+4 ); |
| 5789 | + dma_state ^= STAT_dma_state; |
| 5790 | + return 0; |
| 5791 | +} |
| 5792 | + |
| 5793 | +void release_io( void ) |
| 5794 | +{ |
| 5795 | + ioperm( (long)iobase, 8, 0 ); |
| 5796 | + ioperm( (long)0x0080, 1, 0 ); |
| 5797 | + if ( read_buff ) free( read_buff ); |
| 5798 | +} |
| 5799 | + |
| 5800 | +parseparm( char *parm, char *value ) |
| 5801 | +{ |
| 5802 | + char *cp = parm+strlen( parm ); |
| 5803 | + while ( --cp > parm ) if ( *cp > ' ' ) break; |
| 5804 | + cp[1] = '\0'; |
| 5805 | + if ( !strcmp( parm, "io" ) ) { |
| 5806 | + long io = strtol( value, 0, 0 ); |
| 5807 | + if ( io >= 0x100 && io <= 0x350 ) { |
| 5808 | + iobase = (u_short)io; |
| 5809 | + return; |
| 5810 | + } |
| 5811 | + fprintf( stderr, "invalid io value %s\n", value ); |
| 5812 | + exit( 1 ); |
| 5813 | + } else if ( !strcmp( parm,"verbose" ) ) { |
| 5814 | + verbose = atoi( value ); |
| 5815 | + } |
| 5816 | +} |
| 5817 | + |
| 5818 | +do_test( void ) |
| 5819 | +{ |
| 5820 | + char buffer[512]; |
| 5821 | + int len; |
| 5822 | + dma_state = dt_getstatus( ) & STAT_dma_state; |
| 5823 | + while ( fgets( buffer, 510, stdin ) ) { |
| 5824 | + len = strlen( buffer ); |
| 5825 | + if ( len == 1 ) dt_flush( ); |
| 5826 | + else { |
| 5827 | + if ( buffer[len-1] == '\n' ) buffer[len-1] = '\013'; |
| 5828 | + dt_sendbuff( buffer, len ); |
| 5829 | + } |
| 5830 | + } |
| 5831 | + *buffer = '\013'; |
| 5832 | + dt_sendbuff( buffer, 1 ); |
| 5833 | +} |
| 5834 | + |
| 5835 | +int main ( int argc, char **argv ) |
| 5836 | +{ |
| 5837 | + char name[80], *cp; |
| 5838 | + char *dirname = 0, *confname = "dec_pc.conf"; |
| 5839 | + char *init_msg = "[:ra 360] dec pc initialized\011"; |
| 5840 | + FILE *confile; |
| 5841 | + struct stat statbuf; |
| 5842 | + int maxsize = 0, status = 0; |
| 5843 | + while ( --argc > 0 ) { |
| 5844 | + argv++; |
| 5845 | + if ( !strcmp( *argv, "-v" ) ) verbose = 1; |
| 5846 | + else if ( !strcmp( *argv, "-t" ) ) intest = 1; |
| 5847 | + else dirname = *argv; |
| 5848 | + } |
| 5849 | + if ( !dirname ) dirname = "/usr/local/lib/dec_pc"; |
| 5850 | + if ( chdir( dirname ) != 0 ) { |
| 5851 | + fprintf( stderr, "cannot chdir to %s\n", dirname ); |
| 5852 | + exit( 1 ); |
| 5853 | + } |
| 5854 | + if ( !( confile = fopen( confname, "r" ) ) ) { |
| 5855 | + fprintf( stderr, "could not open %s", confname ); |
| 5856 | + exit( 1 ); |
| 5857 | + } |
| 5858 | + while ( fgets( name, 80, confile ) ) { |
| 5859 | + cp = strchr( name, '\n' ); |
| 5860 | + if ( cp ) *cp = '\0'; |
| 5861 | + if ( ( cp = strchr( name, '=' ) ) ) { |
| 5862 | + *cp++ = '\0'; |
| 5863 | + parseparm( name, cp ); |
| 5864 | + continue; |
| 5865 | + } |
| 5866 | + if ( stat( name, &statbuf ) != 0 ) { |
| 5867 | + fprintf( stderr, "cannot stat %s\n", name ); |
| 5868 | + exit( 1 ); |
| 5869 | + } |
| 5870 | + if ( statbuf.st_size > maxsize ) maxsize = statbuf.st_size; |
| 5871 | + } |
| 5872 | + rewind( confile ); |
| 5873 | + if ( ioperm( (long)0x0080, 1, 1 ) || ioperm( (long)iobase, 8, 1 ) ) { |
| 5874 | + fprintf( stderr, "could not get ioperm\n" ); |
| 5875 | + exit( 1 ); |
| 5876 | + } |
| 5877 | + atexit( release_io ); |
| 5878 | + if ( testkernel( ) == 0 ) { |
| 5879 | + if ( intest ) do_test( ); |
| 5880 | + else fprintf( stderr, "kernel already loaded\n" ); |
| 5881 | + exit( 0 ); |
| 5882 | + } |
| 5883 | + read_buff = malloc( maxsize ); |
| 5884 | + if ( !read_buff ) { |
| 5885 | + fprintf( stderr, "cannot malloc %d bytes\n", maxsize ); |
| 5886 | + exit( 1 ); |
| 5887 | + } |
| 5888 | + while ( fgets( name, 80, confile ) && !status ) { |
| 5889 | + cp = strchr( name, '\n' ); |
| 5890 | + if ( cp ) *cp = '\0'; |
| 5891 | + if ( strchr( name, '=' ) ) continue; /* a parameter */ |
| 5892 | + if ( !( cp = strchr( name, '.' ) ) ) continue; |
| 5893 | + cp++; |
| 5894 | + if ( !strcmp ( cp, "dic" ) ) { |
| 5895 | + status = loaddict ( name, "primary", PRIMARY_DIC ); |
| 5896 | + } else if ( !strcmp ( cp, "dtu" ) ) { |
| 5897 | + status = loaddict ( name, "user", USER_DIC ); |
| 5898 | + } else if ( !strcmp ( cp, "dta" ) ) { |
| 5899 | + status = loaddict ( name, "abbreviation file", ABBREV_DIC ); |
| 5900 | + } else if ( !strcmp ( cp, "exe" ) ) { |
| 5901 | + status = loadexe ( name ); |
| 5902 | + } else if ( !strcmp ( cp, "sys" ) ) { |
| 5903 | + status = loadkernel ( name ); |
| 5904 | + } |
| 5905 | + } |
| 5906 | + if ( status ) fprintf( stderr, "status %d\n", status ); |
| 5907 | + fclose( confile ); |
| 5908 | + if ( status ) exit( status ); |
| 5909 | + dt_sendbuff( init_msg, strlen( init_msg ) ); |
| 5910 | + sleep( 1 ); |
| 5911 | + if ( intest ) do_test( ); |
| 5912 | + exit( 0 ); |
| 5913 | +} |
| 5914 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtload.h linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtload.h |
| 5915 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtload.h 1969-12-31 16:00:00.000000000 -0800 |
| 5916 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtload.h 2003-07-31 08:27:06.000000000 -0700 |
| 5917 | @@ -0,0 +1,57 @@ |
| 5918 | +/* |
| 5919 | + * This is the DECtalk PC firmware loader for the Linux kernel, version 1.0 |
| 5920 | + * |
| 5921 | + * Original 386BSD source: |
| 5922 | + * Copyright (c) 1996 Brian Buhrow <buhrow@lothlorien.nfbcal.org> |
| 5923 | + * |
| 5924 | + * Adapted for Linux: |
| 5925 | + * Copyright (c) 1997 Nicolas Pitre <nico@cam.org> |
| 5926 | + * |
| 5927 | + * Adapted for speakup: |
| 5928 | + * Copyright (c) 2003 David Borowski <david575@golden.net> |
| 5929 | + * |
| 5930 | + * All rights reserved. |
| 5931 | + * |
| 5932 | + * This program is free software; you can redistribute it and/or modify |
| 5933 | + * it under the terms of the GNU General Public License as published by |
| 5934 | + * the Free Software Foundation; either version 2 of the License, or |
| 5935 | + * (at your option) any later version. |
| 5936 | + * |
| 5937 | + * This program is distributed in the hope that it will be useful, |
| 5938 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 5939 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 5940 | + * GNU General Public License for more details. |
| 5941 | + * |
| 5942 | + * You should have received a copy of the GNU General Public License |
| 5943 | + * along with this program; if not, write to the Free Software |
| 5944 | + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 5945 | + * |
| 5946 | + */ |
| 5947 | + |
| 5948 | +#define MAX_FIXUPS 512 /* maximum fixups per exe */ |
| 5949 | +/* |
| 5950 | + * msdos .exe files will look like ... |
| 5951 | + */ |
| 5952 | + |
| 5953 | +struct dos_exe_header { |
| 5954 | + unsigned short id; /* Linker's signature, must be 0x5a4d */ |
| 5955 | + unsigned short rem; /* length of image mod 512 */ |
| 5956 | + unsigned short pages; /* length of image in pages of 512 bytes */ |
| 5957 | + unsigned short relen; /* number of relocation items */ |
| 5958 | + unsigned short hsize; /* header size in paragraphs of 16 bytes */ |
| 5959 | + unsigned short hmin; /* min # of paragraphs above prog end */ |
| 5960 | + unsigned short hmax; |
| 5961 | + unsigned short ssval; |
| 5962 | + unsigned short spval; /* to be loaded in sp */ |
| 5963 | + unsigned short checksum; |
| 5964 | + unsigned short ipval; /* to be loaded in ip */ |
| 5965 | + unsigned short csval; /* segment offset to code */ |
| 5966 | + unsigned short reloc; /* location of relocation items */ |
| 5967 | + unsigned short ovrlay; /* overlay number */ |
| 5968 | +}; |
| 5969 | + |
| 5970 | +/* a dos relocation element looks like */ |
| 5971 | + |
| 5972 | +struct dos_reloc { |
| 5973 | + short int offset, segment; |
| 5974 | +}; |
| 5975 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtpc_reg.h linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtpc_reg.h |
| 5976 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/dtpc_reg.h 1969-12-31 16:00:00.000000000 -0800 |
| 5977 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/dtpc_reg.h 2003-07-31 08:27:06.000000000 -0700 |
| 5978 | @@ -0,0 +1,132 @@ |
| 5979 | +/* |
| 5980 | + * This is the DECtalk PC register constants (from DEC's DOS driver) |
| 5981 | + * |
| 5982 | + * Original code: |
| 5983 | + * Copyright (c) by Digital Equipment Corp. |
| 5984 | + * |
| 5985 | + * 386BSD DECtalk PC driver: |
| 5986 | + * Copyright (c) 1996 Brian Buhrow <buhrow@lothlorien.nfbcal.org> |
| 5987 | + * |
| 5988 | + * Linux DECtalk PC driver: |
| 5989 | + * Copyright (c) 1997 Nicolas Pitre <nico@cam.org> |
| 5990 | + * |
| 5991 | + * speakup DECtalk PC driver: |
| 5992 | + * Copyright (c) 2003 David Borowski <david575@golden.net> |
| 5993 | + * |
| 5994 | + * All rights reserved. |
| 5995 | + * |
| 5996 | + * This program is free software; you can redistribute it and/or modify |
| 5997 | + * it under the terms of the GNU General Public License as published by |
| 5998 | + * the Free Software Foundation; either version 2 of the License, or |
| 5999 | + * (at your option) any later version. |
| 6000 | + * |
| 6001 | + * This program is distributed in the hope that it will be useful, |
| 6002 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 6003 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 6004 | + * GNU General Public License for more details. |
| 6005 | + * |
| 6006 | + * You should have received a copy of the GNU General Public License |
| 6007 | + * along with this program; if not, write to the Free Software |
| 6008 | + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 6009 | + * |
| 6010 | + */ |
| 6011 | + |
| 6012 | +/* |
| 6013 | + * port interface defs ... used by dtpc.c |
| 6014 | + */ |
| 6015 | + |
| 6016 | +#define MODULE_init 0x0dec /* module in boot code */ |
| 6017 | +#define MODULE_self_test 0x8800 /* module in self-test */ |
| 6018 | +#define MODULE_reset 0xffff /* reinit the whole module */ |
| 6019 | + |
| 6020 | +#define MODE_mask 0xf000 /* mode bits in high nibble */ |
| 6021 | +#define MODE_null 0x0000 |
| 6022 | +#define MODE_test 0x2000 /* in testing mode */ |
| 6023 | +#define MODE_status 0x8000 |
| 6024 | +#define STAT_int 0x0001 /* running in interrupt mode */ |
| 6025 | +#define STAT_tr_char 0x0002 /* character data to transmit */ |
| 6026 | +#define STAT_rr_char 0x0004 /* ready to receive char data */ |
| 6027 | +#define STAT_cmd_ready 0x0008 /* ready to accept commands */ |
| 6028 | +#define STAT_dma_ready 0x0010 /* dma command ready */ |
| 6029 | +#define STAT_digitized 0x0020 /* spc in digitized mode */ |
| 6030 | +#define STAT_new_index 0x0040 /* new last index ready */ |
| 6031 | +#define STAT_new_status 0x0080 /* new status posted */ |
| 6032 | +#define STAT_dma_state 0x0100 /* dma state toggle */ |
| 6033 | +#define STAT_index_valid 0x0200 /* indexs are valid */ |
| 6034 | +#define STAT_flushing 0x0400 /* flush in progress */ |
| 6035 | +#define STAT_self_test 0x0800 /* module in self test */ |
| 6036 | +#define MODE_ready 0xc000 /* module ready for next phase */ |
| 6037 | +#define READY_boot 0x0000 |
| 6038 | +#define READY_kernel 0x0001 |
| 6039 | +#define MODE_error 0xf000 |
| 6040 | + |
| 6041 | +#define CMD_mask 0xf000 /* mask for command nibble */ |
| 6042 | +#define CMD_null 0x0000 /* post status */ |
| 6043 | +#define CMD_control 0x1000 /* hard control command */ |
| 6044 | +#define CTRL_mask 0x0F00 /* mask off control nibble */ |
| 6045 | +#define CTRL_data 0x00FF /* madk to get data byte */ |
| 6046 | +#define CTRL_null 0x0000 /* null control */ |
| 6047 | +#define CTRL_vol_up 0x0100 /* increase volume */ |
| 6048 | +#define CTRL_vol_down 0x0200 /* decrease volume */ |
| 6049 | +#define CTRL_vol_set 0x0300 /* set volume */ |
| 6050 | +#define CTRL_pause 0x0400 /* pause spc */ |
| 6051 | +#define CTRL_resume 0x0500 /* resume spc clock */ |
| 6052 | +#define CTRL_resume_spc 0x0001 /* resume spc soft pause */ |
| 6053 | +#define CTRL_flush 0x0600 /* flush all buffers */ |
| 6054 | +#define CTRL_int_enable 0x0700 /* enable status change ints */ |
| 6055 | +#define CTRL_buff_free 0x0800 /* buffer remain count */ |
| 6056 | +#define CTRL_buff_used 0x0900 /* buffer in use */ |
| 6057 | +#define CTRL_speech 0x0a00 /* immediate speech change */ |
| 6058 | +#define CTRL_SP_voice 0x0001 /* voice change */ |
| 6059 | +#define CTRL_SP_rate 0x0002 /* rate change */ |
| 6060 | +#define CTRL_SP_comma 0x0003 /* comma pause change */ |
| 6061 | +#define CTRL_SP_period 0x0004 /* period pause change */ |
| 6062 | +#define CTRL_SP_rate_delta 0x0005 /* delta rate change */ |
| 6063 | +#define CTRL_SP_get_param 0x0006 /* return the desired parameter */ |
| 6064 | +#define CTRL_last_index 0x0b00 /* get last index spoken */ |
| 6065 | +#define CTRL_io_priority 0x0c00 /* change i/o priority */ |
| 6066 | +#define CTRL_free_mem 0x0d00 /* get free paragraphs on module */ |
| 6067 | +#define CTRL_get_lang 0x0e00 /* return bit mask of loaded languages */ |
| 6068 | +#define CMD_test 0x2000 /* self-test request */ |
| 6069 | +#define TEST_mask 0x0F00 /* isolate test field */ |
| 6070 | +#define TEST_null 0x0000 /* no test requested */ |
| 6071 | +#define TEST_isa_int 0x0100 /* assert isa irq */ |
| 6072 | +#define TEST_echo 0x0200 /* make data in == data out */ |
| 6073 | +#define TEST_seg 0x0300 /* set peek/poke segment */ |
| 6074 | +#define TEST_off 0x0400 /* set peek/poke offset */ |
| 6075 | +#define TEST_peek 0x0500 /* data out == *peek */ |
| 6076 | +#define TEST_poke 0x0600 /* *peek == data in */ |
| 6077 | +#define TEST_sub_code 0x00FF /* user defined test sub codes */ |
| 6078 | +#define CMD_id 0x3000 /* return software id */ |
| 6079 | +#define ID_null 0x0000 /* null id */ |
| 6080 | +#define ID_kernel 0x0100 /* kernel code executing */ |
| 6081 | +#define ID_boot 0x0200 /* boot code executing */ |
| 6082 | +#define CMD_dma 0x4000 /* force a dma start */ |
| 6083 | +#define CMD_reset 0x5000 /* reset module status */ |
| 6084 | +#define CMD_sync 0x6000 /* kernel sync command */ |
| 6085 | +#define CMD_char_in 0x7000 /* single character send */ |
| 6086 | +#define CMD_char_out 0x8000 /* single character get */ |
| 6087 | +#define CHAR_count_1 0x0100 /* one char in cmd_low */ |
| 6088 | +#define CHAR_count_2 0x0200 /* the second in data_low */ |
| 6089 | +#define CHAR_count_3 0x0300 /* the third in data_high */ |
| 6090 | +#define CMD_spc_mode 0x9000 /* change spc mode */ |
| 6091 | +#define CMD_spc_to_text 0x0100 /* set to text mode */ |
| 6092 | +#define CMD_spc_to_digit 0x0200 /* set to digital mode */ |
| 6093 | +#define CMD_spc_rate 0x0400 /* change spc data rate */ |
| 6094 | +#define CMD_error 0xf000 /* severe error */ |
| 6095 | + |
| 6096 | +enum { PRIMARY_DIC = 0, USER_DIC, COMMAND_DIC, ABBREV_DIC }; |
| 6097 | + |
| 6098 | +#define DMA_single_in 0x01 |
| 6099 | +#define DMA_single_out 0x02 |
| 6100 | +#define DMA_buff_in 0x03 |
| 6101 | +#define DMA_buff_out 0x04 |
| 6102 | +#define DMA_control 0x05 |
| 6103 | +#define DT_MEM_ALLOC 0x03 |
| 6104 | +#define DT_SET_DIC 0x04 |
| 6105 | +#define DT_START_TASK 0x05 |
| 6106 | +#define DT_LOAD_MEM 0x06 |
| 6107 | +#define DT_READ_MEM 0x07 |
| 6108 | +#define DT_DIGITAL_IN 0x08 |
| 6109 | +#define DMA_sync 0x06 |
| 6110 | +#define DMA_sync_char 0x07 |
| 6111 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/genmap.c linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/genmap.c |
| 6112 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/genmap.c 1969-12-31 16:00:00.000000000 -0800 |
| 6113 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/genmap.c 2003-07-21 05:26:38.000000000 -0700 |
| 6114 | @@ -0,0 +1,204 @@ |
| 6115 | +#include <stdlib.h> |
| 6116 | +#include <stdio.h> |
| 6117 | +#include <libgen.h> |
| 6118 | +#include <string.h> |
| 6119 | +#include <linux/version.h> |
| 6120 | +#include <ctype.h> |
| 6121 | + |
| 6122 | +int get_define(void); |
| 6123 | + |
| 6124 | +#define MAXKEYS 512 |
| 6125 | +#define MAXKEYVAL 160 |
| 6126 | +#define HASHSIZE 101 |
| 6127 | +#define is_shift -3 |
| 6128 | +#define is_spk -2 |
| 6129 | +#define is_input -1 |
| 6130 | +typedef struct st_key_init t_key_init; |
| 6131 | +struct st_key_init { |
| 6132 | + char *name; |
| 6133 | + int value, shift; |
| 6134 | +}; |
| 6135 | +typedef struct st_key t_key; |
| 6136 | +struct st_key { |
| 6137 | + char *name; |
| 6138 | + t_key *next; |
| 6139 | + int value, shift; |
| 6140 | +}; |
| 6141 | +unsigned char key_data[MAXKEYVAL][16], *kp; |
| 6142 | + |
| 6143 | +#include "mapdata.h" |
| 6144 | +t_key key_table[MAXKEYS]; |
| 6145 | +t_key *extra_keys = key_table+HASHSIZE; |
| 6146 | +char buffer[256], filename[256]; |
| 6147 | +FILE *infile; |
| 6148 | +char delims[] = "\t\n "; |
| 6149 | +char *def_name, *def_val, *cp; |
| 6150 | +int map_ver = 119; /* an arbitrary number so speakup can check */ |
| 6151 | +int lc, shift_table[17]; |
| 6152 | +int max_states = 1, flags = 0; |
| 6153 | +/* flags reserved for later, maybe for individual console maps */ |
| 6154 | + |
| 6155 | +void open_input( char *name ) |
| 6156 | +{ |
| 6157 | + strcpy( filename, name ); |
| 6158 | + if ( ( infile = fopen( filename, "r" ) ) == 0 ) { |
| 6159 | + fprintf( stderr, "can't open %s, version %d\n", filename, LINUX_VERSION_CODE ); |
| 6160 | + exit( 1 ); |
| 6161 | + } |
| 6162 | + lc = 0; |
| 6163 | +} |
| 6164 | + |
| 6165 | +int |
| 6166 | +oops( char *msg, char *info ) |
| 6167 | +{ |
| 6168 | + if ( info == NULL ) info = " "; |
| 6169 | + fprintf( stderr, "error: file %s line %d\n", filename, lc ); |
| 6170 | + fprintf( stderr, "%s %s\n", msg, info ); |
| 6171 | + exit( 1 ); |
| 6172 | +} |
| 6173 | + |
| 6174 | +t_key *hash_name( char *name ) |
| 6175 | +{ |
| 6176 | + u_char *pn = (u_char *)name; |
| 6177 | + int hash = 0; |
| 6178 | + while ( *pn ) { |
| 6179 | + hash = ( hash * 17 ) & 0xfffffff; |
| 6180 | + if ( isupper( *pn ) ) *pn = tolower( *pn ); |
| 6181 | + hash += ( int )*pn; |
| 6182 | + pn++; |
| 6183 | + } |
| 6184 | + hash %= HASHSIZE; |
| 6185 | + return &key_table[hash]; |
| 6186 | +} |
| 6187 | + |
| 6188 | +t_key *find_key( char *name ) |
| 6189 | +{ |
| 6190 | + t_key *this = hash_name( name ); |
| 6191 | + while ( this ) { |
| 6192 | + if ( !strcmp( name, this->name ) ) return this; |
| 6193 | + this = this->next; |
| 6194 | + } |
| 6195 | + return this; |
| 6196 | +} |
| 6197 | + |
| 6198 | +t_key *add_key( char *name, int value, int shift ) |
| 6199 | +{ |
| 6200 | + t_key *this = hash_name( name ); |
| 6201 | + if ( extra_keys-key_table >= MAXKEYS ) |
| 6202 | + oops( "out of key table space, enlarge MAXKEYS", NULL ); |
| 6203 | + if ( this->name != NULL ) { |
| 6204 | + while ( this->next ) { |
| 6205 | + if ( !strcmp( name, this->name ) ) |
| 6206 | + oops( "attempt to add duplicate key", name ); |
| 6207 | + this = this->next; |
| 6208 | + } |
| 6209 | + this->next = extra_keys++; |
| 6210 | + this = this->next; |
| 6211 | + } |
| 6212 | + this->name = strdup( name ); |
| 6213 | + this->value = value; |
| 6214 | + this->shift = shift; |
| 6215 | + return this; |
| 6216 | +} |
| 6217 | + |
| 6218 | +int get_shift_value( int state ) |
| 6219 | +{ |
| 6220 | + int i; |
| 6221 | + for ( i = 0; shift_table[i] != state; i++ ) { |
| 6222 | + if ( shift_table[i] == -1 ) { |
| 6223 | + if ( i >= 16 ) |
| 6224 | + oops( "too many shift states", NULL ); |
| 6225 | + shift_table[i] = state; |
| 6226 | + max_states = i+1; |
| 6227 | + break; |
| 6228 | + } |
| 6229 | + } |
| 6230 | + return i; |
| 6231 | +} |
| 6232 | + |
| 6233 | +int |
| 6234 | +main( int argc, char *argv[] ) |
| 6235 | +{ |
| 6236 | + int value, shift_state, i, spk_val = 0, lock_val = 0; |
| 6237 | + int max_key_used = 0, num_keys_used = 0; |
| 6238 | + t_key *this; |
| 6239 | + t_key_init *p_init; |
| 6240 | +char *argpath, *argname, *argcopy; |
| 6241 | + |
| 6242 | + bzero( key_table, sizeof( key_table ) ); |
| 6243 | + bzero( key_data, sizeof( key_data ) ); |
| 6244 | + shift_table[0] = 0; |
| 6245 | + for ( i = 1; i <= 16; i++ ) shift_table[i] = -1; |
| 6246 | + if ( argc < 2 ) { |
| 6247 | + fputs( "usage: genmap filename\n", stderr ); |
| 6248 | + exit( 1 ); |
| 6249 | + } |
| 6250 | + for ( p_init = init_key_data; p_init->name[0] != '.'; p_init++ ) |
| 6251 | + add_key( p_init->name, p_init->value, p_init->shift ); |
| 6252 | + open_input( argv[1] ); |
| 6253 | + while ( fgets( buffer, 250, infile ) ) { |
| 6254 | + lc++; |
| 6255 | + value = shift_state = 0; |
| 6256 | + cp = strtok( buffer, delims ); |
| 6257 | + if ( *cp == '#' ) continue; |
| 6258 | + while ( cp ) { |
| 6259 | + if ( *cp == '=' ) break; |
| 6260 | + this = find_key( cp ); |
| 6261 | + if ( this == NULL ) |
| 6262 | + oops( "unknown key/modifier", cp ); |
| 6263 | + if ( this->shift == is_shift ) { |
| 6264 | + if ( value ) |
| 6265 | + oops( "modifiers must come first", cp ); |
| 6266 | + shift_state += this->value; |
| 6267 | + } else if ( this->shift == is_input ) |
| 6268 | + value = this->value; |
| 6269 | + else oops( "bad modifier or key", cp ); |
| 6270 | + cp = strtok( 0, delims ); |
| 6271 | + } |
| 6272 | + if ( !cp ) oops( "no = found", NULL ); |
| 6273 | + cp = strtok( 0, delims ); |
| 6274 | + if ( !cp ) oops( "no speakup function after =", NULL ); |
| 6275 | + this = find_key( cp ); |
| 6276 | + if ( this == NULL || this->shift != is_spk ) |
| 6277 | + oops( "invalid speakup function", cp ); |
| 6278 | + i = get_shift_value( shift_state ); |
| 6279 | + if ( key_data[value][i] ) { |
| 6280 | + while ( --cp > buffer ) |
| 6281 | + if ( !*cp ) *cp = ' '; |
| 6282 | + oops( "two functions on same key combination", cp ); |
| 6283 | + } |
| 6284 | + key_data[value][i] = (char)this->value; |
| 6285 | + if ( value > max_key_used ) max_key_used = value; |
| 6286 | + } |
| 6287 | + fclose( infile ); |
| 6288 | + this = find_key( "spk_key" ); |
| 6289 | + if ( this ) spk_val = this->value; |
| 6290 | + this = find_key( "spk_lock" ); |
| 6291 | + if ( this ) lock_val = this->value; |
| 6292 | + for ( lc = 1; lc <= max_key_used; lc++ ) { |
| 6293 | + kp = key_data[lc]; |
| 6294 | + if ( !memcmp( key_data[0], kp, 16 ) ) continue; |
| 6295 | + num_keys_used++; |
| 6296 | + for ( i = 0; i < max_states; i++ ) { |
| 6297 | + if ( kp[i] != spk_val&& kp[i] != lock_val ) continue; |
| 6298 | + shift_state = shift_table[i]; |
| 6299 | + if ( ( shift_state&16 ) ) continue; |
| 6300 | + shift_state = get_shift_value( shift_state+16 ); |
| 6301 | + kp[shift_state] = kp[i]; |
| 6302 | +/* fill in so we can process the key up, as spk bit will be set */ |
| 6303 | + } |
| 6304 | + } |
| 6305 | + printf( "\t%d, %d, %d,\n\t", map_ver, num_keys_used, max_states ); |
| 6306 | + for ( i = 0; i < max_states; i++ ) |
| 6307 | + printf( "%d, ", shift_table[i] ); |
| 6308 | + printf( "%d,", flags ); |
| 6309 | + for ( lc = 1; lc <= max_key_used; lc++ ) { |
| 6310 | + kp = key_data[lc]; |
| 6311 | + if ( !memcmp( key_data[0], kp, 16 ) ) continue; |
| 6312 | + printf( "\n\t%d,", lc ); |
| 6313 | + for ( i = 0; i < max_states; i++ ) |
| 6314 | + printf( " %d,", (unsigned int)kp[i] ); |
| 6315 | + } |
| 6316 | + printf( "\n\t0, %d\n", map_ver ); |
| 6317 | + exit( 0 ); |
| 6318 | +} |
| 6319 | diff -Naurp linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/install linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/install |
| 6320 | --- linux-2.6.13-rc6-git13-gentoo/drivers/char/speakup/install 1969-12-31 16:00:00.000000000 -0800 |
| 6321 | +++ linux-2.6.13-rc6-git13-gentoo-speakup/drivers/char/speakup/install 2005-04-19 09:26:21.000000000 -0700 |
| 6322 | @@ -0,0 +1,57 @@ |
| 6323 | +#!/bin/bash |
| 6324 | + |
| 6325 | +VERSION=v`head -2 /usr/src/linux/Makefile | \ |
| 6326 | + awk '{ printf "%s",$3 }'` |
| 6327 | + |
| 6328 | +DIR=/usr/src/linux/drivers/char/speakup |
| 6329 | + |
| 6330 | +echo "Patching version $VERSION" |
| 6331 | + |
| 6332 | +if [ "$1" != "--debug" ]; then |
| 6333 | + SILENT=--silent |
| 6334 | +fi |
| 6335 | + |
| 6336 | +cp -R speakup /usr/src/linux/drivers/char/ |
| 6337 | +cd /usr/src/linux |
| 6338 | + |
| 6339 | +# make .orig files |
| 6340 | +echo -n 'Creating .orig files [' |
| 6341 | +for i in `cat ${DIR}/patchlist-${VERSION}`; do |
| 6342 | + patch=`echo $i | cut -f 1 -d ,` |
| 6343 | + filebase=`echo $i | cut -f 2 -d ,` |
| 6344 | + |
| 6345 | + mkdir -p `dirname $filebase` |
| 6346 | + if [ "$patch" == "1" ]; then |
| 6347 | + if [ ! -e $filebase.orig ]; then |
| 6348 | + echo -n . |
| 6349 | + cp $filebase $filebase.orig |
| 6350 | + fi |
| 6351 | + fi |
| 6352 | +done |
| 6353 | +echo '] done.' |