Hi Frank and all, I wrote: I personally don't like the fact that one must change the keymaps to use Speakup. Could Speakup be changed so that it monitors all keypresses, and if it wants to deal with them it does so and then all other keys are passed through? This would, in my opinion, be a far better solution. In response, Frank wrote: Well that's an interesting argument. Something to the effect of speakup building it's keyboard hooks in to all of the maps. Then upon speakup being initialized it grabs it's keys. This is sort of what I mean. For example, were I to write a non-kernel screen reader it'd go like: loop infinitely get keypress if speakup key do something else give to foreground process Now this has the following advantages: 1. You don't have to modify every keymap for every language. We in the UK either have to install the system using a US map with speakup and then make a UK speakup map, or else install with a uk non-speakup map and have no functionality on the keymap. this would solve this. 2. If I wish to disable Speakup in a particular console using the print screen key and then load Emacspeak in that VCS I will still not be able to use the numeric keypad because they will have speakup functions rather than their normal functions. With my idea if speakup is disabled it won't capture keys either. If anyone thinks this is a good idea then let me know, and maybe I can write some code. Saqib