|
From: Kirk R. <ki...@br...> - 2000-03-10 12:19:27
|
The Last time around, I put in a really nice, trust me nice!, description of the status of speakup with 2.3.x. Unfortunately, I forget what all I said. So I'll just post this and let the electrons fly. Let us know when the cvs is ready for withdrawals! 'grin' Kirk ------------------------------------------------------------------------ diff -urN linux-2.3.8/Documentation/Configure.help linux/Documentation/Configure.help --- linux-2.3.8/Documentation/Configure.help Thu Jun 17 04:11:35 1999 +++ linux/Documentation/Configure.help Wed Jun 23 14:58:03 1999 @@ -8961,7 +8961,63 @@ If you are asked this question, something is wrong with config scripts. Zilog serial driver is always enabled in sparc architecture. -Double Talk PC internal speech card support +Speakup console speech output for Linux +CONFIG_SPEAKUP + Choosing this Option will include support for console speech output. + + Speakup provides access to Linux for the visually impaired community. + It does this by sending console output to a number of different + hardware speech synthesizers. It provides access to Linux by Making + screen review functions available such as are used in comercial screen + review packages for the MSDOS and MSWINDOWS world. + + The drivers supplied under this option are not standard devices in the + /dev/ sence of the meaning. They can be thought of as a video card + for the blind. They are used by speakup and only speakup. + + For more information about speakup and its drivers check out + http://www.braille.uwo.ca/speakup, or read the Documentation in + linux/Documentation/speakup. + + The current synthesizers supported are: + DoubleTalk PC Internal synthesizer, + LiteTalk/DoubleTalk-LT external serial synthesizers, + Speakout external synthesizer, + Accent PC internal synthesizer. + + If you do not have one of these synths, say 'N' to this option. + +DoubleTalk driver for speakup. +CONFIG_SPEAKUP_DTLK + The DoubleTalk synthesizer is made by RC Systems. It is an internal + ISA card which uses no interrupts. Do not confuse this driver with + the standard DoubleTalk driver included in the kernel. + + If you don't have a DoubleTalk card say 'N' here. + +LiteTalk/DoubleTalk-LT driver for speakup. +CONFIG_SPEAKUP_LTLK + This driver is for the LiteTalk synthesizer made by MicroTalk or the + DoubleTalk-LT synthesizer made by RC Systems. These are serial + drivers for those external synths. + + If you don't have a LiteTalk or DoubleTalk-LT, say 'N' here. + +Speakout driver for speakup. +CONFIG_SPEAKUP_SPKOUT + This driver is for the Speakout external serial synthesizer made by + GW Micro. + + If you don't have a Speakout, say 'N' here. + +Accent PC driver for speakup. +CONFIG_SPEAKUP_ACNTPC + This driver is for the Accent PC internal synthesizer made by Aicom + Corp. + + If you Don't have an Accent PC, say 'N' here. + +Double Talk PC internal speech card support CONFIG_DTLK This driver is for the DoubleTalk PC, a speech synthesizer manufactured by RC Systems (http://www.rcsys.com/). It is also diff -urN linux-2.3.8/Documentation/speakup/DefaultKeyAssignments linux/Documentation/speakup/DefaultKeyAssignments --- linux-2.3.8/Documentation/speakup/DefaultKeyAssignments Wed Dec 31 19:00:00 1969 +++ linux/Documentation/speakup/DefaultKeyAssignments Tue Sep 21 08:51:40 1999 @@ -0,0 +1,43 @@ +This file is intended to give you an overview of the default keys used +by speakup for it's review functions. You may change them to be +anything you want but that will take some familiarity with key +mapping. + +We have remapped the insert or zero key on the keypad to act as a +shift key. Well, actually as an altgr key. So in the following list +InsKeyPad-period means hold down the insert key like a shift key and +hit the keypad period. + +KeyPad-8 Say current Line +InsKeyPad-8 say from top of screen to reading cursor. +KeyPad-7 Say Previous Line (UP one line) +KeyPad-9 Say Next Line (down one line) +KeyPad-5 Say Current Word +InsKeyPad-5 Spell Current Word +KeyPad-4 Say Previous Word (left one word) +InsKeyPad-4 say from left edge of line to reading cursor. +KeyPad-6 Say Next Word (right one word) +InsKeyPad-6 Say from reading cursor to right edge of line. +KeyPad-2 Say Current Letter +InsKeyPad-2 say current letter phonetically +KeyPad-1 Say Previous Character (left one letter) +KeyPad-3 Say Next Character (right one letter) +KeyPad-plus Say Entire Screen +InsKeyPad-plus Say from reading cursor line to bottom of screen. +KeyPad-Minus Park reading cursor (toggle) +InsKeyPad-minus Say character hex and decimal value. +KeyPad-period Say Position (current line, position and console) +InsKeyPad-period say colour attributes of current position. +InsKeyPad-9 Move reading cursor to top of screen (insert pgup) +InsKeyPad-3 Move reading cursor to bottom of screen (insert pgdn) +InsKeyPad-7 Move reading cursor to left edge of screen (insert home) +InsKeyPad-1 Move reading cursor to right edge of screen (insert end) +KeyPad-Enter Shut Up (until another key is hit) and sync reading cursor +InsKeyPad-Enter Shut Up (until toggled back on) and sync cursors +InsKeyPad-star n<x|y> go to line (y) or column (x). Where 'n' is any + allowed value for the row or column for your current screen. + +Hitting any key while speakup is outputting speech will quiet the +synth until it has caught up with what is being printed on the +console. + diff -urN linux-2.3.8/Documentation/speakup/INSTALLATION linux/Documentation/speakup/INSTALLATION --- linux-2.3.8/Documentation/speakup/INSTALLATION Wed Dec 31 19:00:00 1969 +++ linux/Documentation/speakup/INSTALLATION Tue Nov 23 08:04:38 1999 @@ -0,0 +1,104 @@ +This document assumes you have had some experience with kernel +compilation and installation. If you have not, I recommend you get +the kernel source and read the README and various documents in the +linux/Documentation directory. In particular the Changes file to make +sure you have the appropriate utilities needed for installing a 2.2.xx +or 2.3xx kernel. It isn't as difficult as you might think. The +kernel README is intimidating the first time but once you get the +steps down, it's really pretty easy. Getting through the "make +config" is the tedious bit. + +The first thing to do is to place a copy of the patch in the /usr/src +directory which is the directory the linux tree is located in as well. +To apply the patch if you are using speakup-0.08-patch say, type the +following at your shell prompt: + +patch -p0 <speakup-0.08-patch + +Note the less-than sign before the patch file name. The patch program +will give a running commentary on the patch hunks being applied. It +will give a summary of the hunks which succeeded or failed in being +applied. Hopefully all hunks will succeed. Depending on how +experienced you are with kernel compiling and hacking will determine +whether you should bother looking at any failed patches. If this +happens, you should probably write to the speakup mailing list for +help or myself. + +If all of the patch hunks apply successfully then just continue with +the standard steps to compile the kernel with: + +make mrproper +make config + +When you get to the section console speech output, answer 'y' to the +CONFIG_SPEAKUP prompt. You will be given a submenu with the list of +synthesizers which are currently supported. You can only choose one +of the synths, so just type dtlk or whatever is the correct string for +the synthesizer you have. + +I have placed the speakup configuration options in make config just +before the DoubleTalk PC driver included by Jim Van Zandt. I recommend +you say no to that option after returning from the speakup menu. I +have not tried configuring them both in, but I wouldn't be at all +surprised if it didn't work. + +If all goes well up to this point you can continue with the compiling +process by doing: + +make dep >dep.file 2>&1 & +make zImage >cc.file 2>&1 & + +I always redirect output to the files dep.file and cc.file so I can +look over the compilation record to make sure there are no errors and +warnings. + +Okay, you are ready to install the newly compiled kernel. Make sure +you make an linux.old entry in your lilo.conf file so you can recover +if it blows up. next move the zImage from +/usr/src/linux/arch/i386/boot to wherever your kernel lives. Also +move the System.map from /usr/src/linux to where your System.map +lives. On our systems we use debian so we create an vmlinuz-speakup +and System.map-speakup in our /boot directory and set the symbolic +links vmlinuz and System.map in the root (/) directory to point to the +images. Now type lilo to tell lilo to build the new booter file and +install it. + +As of version 0.07, the keymap for speakup is automatically built in +at compile time. If you have other keymaps installed at boot time, +you might want to consider removing them before you reboot the system. +Also if you have compiled the kernel prior to applying the speakup +patch, you have to remove the defkeymap.c file which is in the +linux/drivers/char directory. This file is not rebuilt if one already +exists. So if you find you have no review functions upon rebooting, +you know where to check first. + +If everything has gone OK up until now, cross your fingers and type: + +shutdown -r now + +Your system should start talking to you as soon as it starts booting. +It will talk and talk and ... well, you might want to hit the +keypad-enter key to tell it to shut up. You should also read the +DefaultKeyAssignments file to learn the various review functions +available. + +As of Speakup-0.05, there are accompanying utilities which will allow +you to load and dump speakups configuration information. These +utilities are in the subdirectory load_spk-version and have their own +README and INSTALL files. You should read through these files before +building the utilities and installing them. The utilities are based +on the idea of loadkeys so they work somewhat the same. The +configuration file commands are a little weird to get used to at +first, but once you understand them you'll hopefully realize they are +very flexible. + +I have probably managed to overlook a whole whack of things because +this is the, enter version number here, draft. Don't worry we'll get +it right eventually. If you like the package you really should get on +the mailing list and start participating in it's development. + + Kirk + +email: ki...@br... +phone: (519) 679-6845 (home) + diff -urN linux-2.3.8/Documentation/speakup/README-0.08 linux/Documentation/speakup/README-0.08 --- linux-2.3.8/Documentation/speakup/README-0.08 Wed Dec 31 19:00:00 1969 +++ linux/Documentation/speakup/README-0.08 Tue Nov 23 08:34:31 1999 @@ -0,0 +1,94 @@ +Welcome to the speakup project for the Speakup speech package for Linux. + +Speakup is written by Kirk Reiser and Andy Berdan. It is licensed +under the GPL. If you don't already know, the GPL stands for the GNU +Public License. Which basically states that this code is free to +copy, modify and distribute to anyone interested in playing with it. +The one thing you may not do is turn any part of it into proprietary +or commercial code without the permission of the author. That's me. + +If you are interested in being involved with the development of speech +output for Linux you can subscribe to the Speakup mailing list by +sending a message to lis...@br... with the line: + +subscribe speakup (YourFirstName YourLastName) + +in the body of the message. + +We are at a very early stage in the development of this package. +Hopefully changes will happen often and many. The current files in +this directory are: + +BUGS # the currently known bugs +COPYING # The GPL +Changes # The fixes and goodies since last release +DefaultKeyAssignments # speakup's default review keys +INSTALLATION # for installing speakup +README # this file +speakupmap.map # keyboard map for speakup functions. +keymap-tutorial # a tutorial on how to layout the keyboard +load_spk-0.6 # directory with the loadspk and dumpspk utilities. +speakup-0.08-patch # patches to kernel versions 2.2.7 and above. +speakup-0.08-announcement the announcement for the current release + +Read the INSTALLATION file to learn how to apply the patches and the +default.map for the keyboard. You should also read the Changes file. +It really has any new things I've added since last time. + +There is no documentation in any of these files to instruct you what +to do if something goes wrong with the patching or compilation. If +you would like that information you will need to subscribe to the +mailing list and ask for help, or write me ki...@br... for +help. I suggest the mailing list because I will probably tire quickly +of answering the same questions over and over. You could always +decide to wait until this package gets out of the alpha stage and +there will be more documentation by that time. + +There also is a speakup reflector for the Speak Freely package, which +many of us hang out on and discuss all sorts of topics from speakup +problems to ALSA driver installation and just about anything else +you'd like to talk about. The reflector is at lwl.braille.uwo.ca:4074 +with it's lwl page at lwl.braille.uwo.ca/speakup.html. Come and join +us, it's fun! + +Acknowledgements: + +I am really very new at kernel hacking and screen review package +writing, so I have depended heavily on other folks kindness to help me +a long. No doubt I will continue to abuse them freely and others +before this is a really good speech solution for Linux. (Oh Well!, +somebody's got to do it.) + +Theodore Ts'o. He gave me a good discussion of unicode and UTF and +the like. He doesn't even remember writing me about it. + +Alan Cox. He has answered many questions about scheduling and wait +queues and timers along with code fragments and so on. I just wish I +understood it all totally. + +Martin Mares. He pointed me in the right direction to figuring out +the colour attributes and other useful tidbits. + +Paul McDermott. He really is the catalyst for me to actually get +this all working. Besides I like seeing him bounce around and get all +excited every time I have something new working. + +John Covici, He was the first person to actually attempt writing +another synthesizer driver for speakup. It was the Speakout driver so +it was also the first serial driver. + +Brian Borowski, he was the first person to actually write a speakup +function other than Andy and I. + +Gene Collins, he was very helpful debugging the current release prior +to its public showing. He has also worked hard educating others on +the list and writing the ALSA mini howto. + +There are probably many more I am forgetting right now. I guess I'll +just have to add you all later. + + +Happy Hacking! + + Kirk + diff -urN linux-2.3.8/Documentation/speakup/README.loadspk linux/Documentation/speakup/README.loadspk --- linux-2.3.8/Documentation/speakup/README.loadspk Wed Dec 31 19:00:00 1969 +++ linux/Documentation/speakup/README.loadspk Wed Jun 23 14:58:04 1999 @@ -0,0 +1,80 @@ +Speakup v0.07 & Loadspk v0.03 +----------------------------- + +Speakup and Loadspk work very closely together. Each one more or less depends +on the other to work flawlessly. + +So, when changing any synth symbol headers, (symbol*.h), you must also change +the corresponding headers in the loadspk source (same names). They both +include standard definitions which get translated into the kernel proper +and/or into the client programs. + +Required defines (in both kernel and loadspk): +---------------------------------------------- + VERSION_x where 'x' is one of the synth names displayed + NUM_STATIC_x in symbols.h (DTLK,ACNTPC or SPKOUT) + NUM_XTEND_x + NUM_ALIAS_x + + STATIC_STR_x + XTEND_STR_x + ALIAS_STR_x + +Required only in kernel: +------------------------ + DEFAULT_STATIC_x + DEFAULT_XTEND_x + +------------------------------------------------------------------------- + +All of these get built into the various larger structures, depending on +which synth is specified/detected. Take a look at symbols.h (in either the +kernel or loadspk source) if you're curious. + +------------------------------------------------------------------------- + +The spk_variable Structure + +struct spk_variable { + char *id; /* command as displayed in loadspk/dumpspk */ + char *param; /* value of the parameter to the command */ + char *build; /* a string, describing how to construct the + * string sent to the synth, with the character '_' + * to be filled in with the parameter. eg. "\x01_P" + * will convert to "\x01+30P", if param is "+30" + */ + int flags; + char valid[33]; /* "-1"-terminated set of valid values for param + * an empty set { -1 }, signifies that it is a string + * literal variable + */ +}; + +Usage examples: +--------------- + +Example 1. + +{ "rate", "9", "\x1bR_", HARD_DIRECT, "0123456789ABCDEFGH\xff" } + +would allow loadspk to use the command: + rate = $ +where '$' was any of 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H +and, upon input, would immediately send "\x1bR$" to the hardware device, +as well as setting the appropriate variable in Speakup. If $ is empty, +"\x1bR9" is sent to the synth. + + + +Example 2. + +{ "pitch", "50", "\x1_p", (NUMERIC | HARD_DIRECT | USE_RANGE), { 0, 99, -1 } } + +would correspond to loadspk using the command: + pitch = $ +where '$' was a string representing a numeric value in the range 0-99. It would +also be sent directly to the hardware as an ascii string (the NUMERIC flag +ensures this). If 'pitch=' was entered, then "01h 50p" would be sent to the +synth (that is, ctrl-A followed by "50p"). + + diff -urN linux-2.3.8/Documentation/speakup/keymap-tutorial linux/Documentation/speakup/keymap-tutorial --- linux-2.3.8/Documentation/speakup/keymap-tutorial Wed Dec 31 19:00:00 1969 +++ linux/Documentation/speakup/keymap-tutorial Thu Apr 29 12:24:18 1999 @@ -0,0 +1,140 @@ + Speakup Keymap Tutorial + +This is meant to be a basic tutorial on how to change the Linux keymap +file to assign speakup review functions to desired keys. It is not +intended to be a replacement for the loadkeys(8) or keymap(5) man +pages. + +The basic lay-out of the keymap file is a series of lines with the +following fields. The keyword keycode indicates this is the start of +a new key assignment. It is then followed by a number which +represents the actual key on the keyboard. That number is followed by +the equals '=' operator and finally a list of keywords representing +key names such as keypad5. Each line can have quite a few key +functions on it. They are interpreted by loadkeys in order and +assigned to key shift states depending on the order they are +encountered. So for example, the first value after the equals is the +keys unshifted state, while the second is the keys shifted state. If +you wish to learn the order they are interpreted in read the +loadkeys(8) and keymap(5) man pages. + +You can have subsequent lines which are indented and start with +another keyword for the various shifted states. This way you can +assign some of the states without having to specify them all in order +up until you get to the one you want to assign. + +In speakup, we have assigned the insert key on the number pad to the +altgr keyword. This is not required; you could choose any other +shifted state keyword. We used altgr because it typically represents +the right hand alt key. In Linux each shift key is separate and +independent, so the left shift and the right shift keys are not +necessarily the same. The altgr key is not really used for anything +important, so we steel it. + +Here are the default key assignments for the number eight on the +keypad: + +keycode 72 = KP_8 + alt keycode 72 = Ascii_8 + +As you can see, the first line starts with keycode followed by 72 +which is the actual number assigned to the key when the keyboard port +is read. The KP_8 after the equal sign, is the symbolic representation +of the function called when that key is hit. + +The second line is the same format except it starts with the keyword +alt which is indented. That means that the function at the end of +that line Ascii_8 is applied to the alt-shifted eight key. + +Now here are the speakup assignments for that key: + +keycode 72 = 0x0d0a + altgr keycode 72 = 0x0d20 +#keycode 72 = KP_8 + alt keycode 72 = Ascii_8 + +Notice that the only thing which has changed on the first line is the +function called when the key is struck. It is a hexadecimal number +identifying the function called in a look up table. It is not a +symbolic representation yet because that means we need to change the +loadkeys program to understand our symbolic names. We will do this in +the future but for now it is more expedient to just use the table +indices. You will find a table at the bottom of this document +listing the review functions and their corresponding hex lookups. + +The 0x0d0a in the first line above is speakup's say line function. +The second line ends with 0x0d20 which is speakup's read from top of +screen to reading cursor line. + +The third line is the original key assignment commented out with a +number-sign '#' at the beginning. I do that so I can easily find the +keys I want to affect by symbolic name. Otherwise I would need to +keep a look up table for all the keycodes. I recommend you do this as +well or you'll be very sorry at some point in the future. + +The forth line is just the standard key assignment for the left hand +alt key. + +Now let's say we want to design a different keyboard layout. I'll use +an example for the JAWS style keypad because I've specifically been +asked to help with that. JAWS uses the eight on the keypad to move up +a line or the speakup function to read previous line. JAWS also uses +the keypad_8 key in a shifted mode to read the current line. I +apologize if these are not quite right. It has been a long time since +I used JAWS. So we would have the following two lines: + +keycode 72 = 0x0d0b + altgr keycode 72 = 0x0d0a + +The hex value 0x0d0b in the first line is speakup's SAY_PREVIOUS_LINE +function. The 0x0d0a in the second line is the same say_line function +as we had earlier. So when the number eight is hit on the keypad +speakup will read the previous line and when the number eight is +shifted with the insert key on the keypad it will read the current +line. + +As you can tell, it is not really very difficult to reassign the keys +to different review functions. + +Once you have carefully edited the keymap file, called default.map in +the speakup distribution, you copy it into the /etc/kbd directory. +Make sure you back up the original default.map from that directory +first, if there is one. Then you run loadkeys to load the new map +into the kernel: + +loadkeys /etc/kbd/default.map + +If you wish to build your new keyboard lay-out into the kernel, after +testing it, copy the default.map file into the drivers/char directory, +with the name defkeymap.map, of your Linux source tree. Then rm the +defkeymap.c file and recompile the kernel. Because there is no +defkeymap.c `make' will rebuild it on the next compile. + +Here is a list of the available speakup review functions at this point +in time. + +SAY_CHAR 0x0d04 /* say this character */ +SAY_PREV_CHAR 0x0d05 /* say character left of this char */ +SAY_NEXT_CHAR 0x0d06 /* say char right of this char */ +SAY_WORD 0x0d07 /* say this word under reading cursor */ +SAY_PREV_WORD 0x0d08 +SAY_NEXT_WORD 0x0d09 +SAY_LINE 0x0d0a /* say this line */ +SAY_PREV_LINE 0x0d0b /* say line above this line */ +SAY_NEXT_LINE 0x0d0c +TOP_EDGE 0x0d0d /* move to top edge of screen */ +BOTTOM_EDGE 0x0d0e +LEFT_EDGE 0x0d0f +RIGHT_EDGE 0x0d10 +SAY_PHONETIC_CHAR 0x0d11 /* say this character phonetically */ +SPELL_WORD 0x0d12 /* spell this word letter by letter */ +SAY_SCREEN 0x0d14 +SAY_POSITION 0x0d1b +SPEECH_OFF 0x0d1c +SAY_ATTRIBUTES 0x0d1d +SPEAKUP_PARKED 0x0d1e +SAY_FROM_TOP 0x0d20 +SAY_TO_BOTTOM 0x0d21 +SAY_FROM_LEFT 0x0d22 +SAY_TO_RIGHT 0x0d23 + diff -urN linux-2.3.8/MAINTAINERS linux/MAINTAINERS --- linux-2.3.8/MAINTAINERS Thu Jun 3 11:26:42 1999 +++ linux/MAINTAINERS Wed Jun 23 14:58:04 1999 @@ -728,6 +728,13 @@ W: http://www.geog.ubc.ca/s_linux.html S: Maintained +SPEAKUP Console speech output +P: Kirk Reiser +M: ki...@br... +L: sp...@br... +W: http://www.braille.uwo.ca/speakup +S: Maintained + SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER P: Roger Wolff M: R.E...@Bi... diff -urN linux-2.3.8/arch/alpha/config.in linux/arch/alpha/config.in --- linux-2.3.8/arch/alpha/config.in Tue Jun 22 13:46:52 1999 +++ linux/arch/alpha/config.in Wed Jun 30 12:40:31 1999 @@ -262,6 +262,7 @@ define_bool CONFIG_PCI_CONSOLE y fi source drivers/video/Config.in + source drivers/char/speakup/Config.in endmenu fi diff -urN linux-2.3.8/arch/arm/config.in linux/arch/arm/config.in --- linux-2.3.8/arch/arm/config.in Thu Jun 17 04:11:35 1999 +++ linux/arch/arm/config.in Wed Jun 30 12:41:13 1999 @@ -193,6 +193,7 @@ fi bool 'Support Frame buffer devices' CONFIG_FB source drivers/video/Config.in + source drivers/char/speakup/Config.in endmenu fi diff -urN linux-2.3.8/arch/i386/config.in linux/arch/i386/config.in --- linux-2.3.8/arch/i386/config.in Mon Jun 7 20:02:23 1999 +++ linux/arch/i386/config.in Wed Jun 30 12:20:24 1999 @@ -188,6 +188,7 @@ bool 'Support for frame buffer devices (EXPERIMENTAL)' CONFIG_FB fi source drivers/video/Config.in + source drivers/char/speakup/Config.in endmenu fi diff -urN linux-2.3.8/arch/m68k/config.in linux/arch/m68k/config.in --- linux-2.3.8/arch/m68k/config.in Tue May 11 12:57:14 1999 +++ linux/arch/m68k/config.in Wed Jun 30 12:41:49 1999 @@ -443,6 +443,7 @@ define_bool CONFIG_FB y fi source drivers/video/Config.in + source drivers/char/speakup/Config.in endmenu fi diff -urN linux-2.3.8/arch/mips/config.in linux/arch/mips/config.in --- linux-2.3.8/arch/mips/config.in Mon Feb 1 15:03:20 1999 +++ linux/arch/mips/config.in Wed Jun 30 12:42:45 1999 @@ -194,6 +194,7 @@ comment 'Console drivers' source drivers/video/Config.in +source drivers/char/speakup/Config.in mainmenu_option next_comment comment 'Sound' diff -urN linux-2.3.8/arch/ppc/config.in linux/arch/ppc/config.in --- linux-2.3.8/arch/ppc/config.in Tue Jun 8 13:52:26 1999 +++ linux/arch/ppc/config.in Wed Jun 30 12:43:08 1999 @@ -173,6 +173,7 @@ mainmenu_option next_comment comment 'Console drivers' source drivers/video/Config.in +source drivers/char/speakup/Config.in endmenu source drivers/char/Config.in diff -urN linux-2.3.8/arch/sparc/config.in linux/arch/sparc/config.in --- linux-2.3.8/arch/sparc/config.in Mon Mar 15 19:10:43 1999 +++ linux/arch/sparc/config.in Wed Jun 30 12:43:26 1999 @@ -45,6 +45,7 @@ bool 'PROM console' CONFIG_PROM_CONSOLE bool 'Support Frame buffer devices' CONFIG_FB source drivers/video/Config.in + source drivers/char/speakup/Config.in endmenu # Global things across all Sun machines. diff -urN linux-2.3.8/arch/sparc64/config.in linux/arch/sparc64/config.in --- linux-2.3.8/arch/sparc64/config.in Thu Apr 22 22:24:51 1999 +++ linux/arch/sparc64/config.in Wed Jun 30 12:44:40 1999 @@ -31,6 +31,7 @@ bool 'PROM console' CONFIG_PROM_CONSOLE bool 'Support Frame buffer devices' CONFIG_FB source drivers/video/Config.in +source drivers/char/speakup/Config.in endmenu # Global things across all Sun machines. diff -urN linux-2.3.8/drivers/char/Makefile linux/drivers/char/Makefile --- linux-2.3.8/drivers/char/Makefile Sat May 22 18:02:48 1999 +++ linux/drivers/char/Makefile Wed Jun 23 14:58:04 1999 @@ -18,6 +18,11 @@ # FONTMAPFILE = cp437.uni +# +# This file contains the default keymap +# +KEYMAPFILE = defkeymap.map + L_TARGET := char.a M_OBJS := L_OBJS := tty_io.o n_tty.o tty_ioctl.o mem.o random.o @@ -489,6 +494,12 @@ endif +ifeq ($(CONFIG_SPEAKUP),y) +SUB_DIRS += speakup +L_OBJS += speakup/spk.o +KEYMAPFILE = speakup/speakupmap.map +endif + include $(TOPDIR)/Rules.make fastdep: @@ -501,6 +512,6 @@ consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h -defkeymap.c: defkeymap.map - loadkeys --mktable defkeymap.map > defkeymap.c +defkeymap.c: $(KEYMAPFILE) + loadkeys --mktable $(KEYMAPFILE) > defkeymap.c diff -urN linux-2.3.8/drivers/char/console.c linux/drivers/char/console.c --- linux-2.3.8/drivers/char/console.c Tue May 11 17:37:40 1999 +++ linux/drivers/char/console.c Fri Nov 5 11:44:52 1999 @@ -91,6 +91,9 @@ #include <linux/config.h> #include <linux/version.h> #include <linux/tqueue.h> +#ifdef CONFIG_SPEAKUP /* console speech output */ +#include <linux/speakup.h> +#endif /* speakup */ #ifdef CONFIG_APM #include <linux/apm_bios.h> #endif @@ -146,6 +149,15 @@ static void set_cursor(int currcons); static void hide_cursor(int currcons); +#ifdef CONFIG_SPEAKUP /* console speech output */ +extern unsigned long speakup_init(unsigned long, unsigned int); +extern void speakup_allocate(unsigned int); /* new review structures */ +extern void speakup_date(unsigned int); +extern void say_curr_char(unsigned int); +extern void say_curr_line(unsigned int); +extern struct spk_t *this[]; +#endif /* speakup */ + static int printable = 0; /* Is console ready for printing? */ int do_poke_blanked_console = 0; @@ -653,6 +665,9 @@ screenbuf = (unsigned short *) q; kmalloced = 1; vc_init(currcons, video_num_lines, video_num_columns, 1); +#ifdef CONFIG_SPEAKUP /* console speech output */ + speakup_allocate(currcons); /* speakup needs more too. */ +#endif /* speakup */ } return 0; } @@ -833,6 +848,12 @@ y = new_y; pos = origin + y*video_size_row + (x<<1); need_wrap = 0; +#ifdef CONFIG_SPEAKUP /* console speech output */ + if ((this[currcons] != NULL) && !spk_parked) + speakup_date(currcons); + /*if ((this[currcons] != NULL) && !spk_shut_up && IS_FG) + speakup_check(currcons);*/ +#endif /* speakup */ } /* for absolute user moves, when decom is set */ @@ -899,6 +920,12 @@ pos -= 2; x--; ... [truncated message content] |
|
From: James S. <jsi...@ac...> - 2000-03-27 02:34:46
|
On 10 Mar 2000, Kirk Reiser wrote: > The Last time around, I put in a really nice, trust me nice!, > description of the status of speakup with 2.3.x. Unfortunately, I > forget what all I said. So I'll just post this and let the electrons > fly. Let us know when the cvs is ready for withdrawals! 'grin' > Kirk I'm taking a look at it now. Sorry I have been quite. I have been buried in writing code. A learned a interesting leason. Its faster to write from scratch a new driver using the old driver with my new api then to rewrite the driver. I'm almost done with the 3Dfx driver. I updated the cvs against 2.3.99-pre3. I going to see how to merge your patch. Do you have CVS access ? "Look it's a text editor, no it's a OS, no it's Emacs" James Simmons ____/| fbdev/gfx developer \ o.O| http://www.linux-fbdev.org =(_)= http://linuxgfx.sourceforge.net U |
|
From: Kirk R. <ki...@br...> - 2000-03-27 12:16:00
|
I have anonymous but not commit access. If you can tell me how to get it I'd appreciate it. I've been working on synth drivers but want to turn back to merging things together as well. If I can get one more driver working consistently I can lay off them for a while. Kirk -- Kirk Reiser The Computer Braille Facility e-mail: ki...@br... University of Western Ontario phone: (519) 661-3061 |
|
From: <jsi...@ac...> - 2000-03-27 15:57:56
|
On 27 Mar 2000, Kirk Reiser wrote: > I have anonymous but not commit access. If you can tell me how to get > it I'd appreciate it. I've been working on synth drivers but want to > turn back to merging things together as well. If I can get one more > driver working consistently I can lay off them for a while. You have to get a sourforge.net account. Go to http://sourceforge.net for this and then email me your sourceforge username. I will then add you to the developement list. |