Well I can't give you much advise about vi/vim because I'm an emacs user. I can explain however the basic cursoring within speakup. Originally speakup didn't try to speak anything to do with cursoring except saying the character before it was overwritten with a space which is how the kernel does a backspace. It moves the current cursor to it's previous horizontal position and then overwrites that video memory position with a space character. What happens in editors is not necessarily done the same way and many more things go on with every key stroke. Speakup links the reading cursor to the actual cursor in each screen unless specifically told not to with the park key. However, key strokes and cursor movements are totally different things and so it is very difficult to talk about them as the same thing. Every application determines what it will do with key strokes so making a general action for any key stroke is very hard. In speakup we have only dealt with the basic four key strokes of right and left arrow movement and up and down arrow movement. Even there though we do not handle it very well because for example moving the cursor down with the down arrow will mean move to the next line in an editor but move to the next link in a web browser, so you see you have no absolutes as to how a key should be handled. If anyone can come up with a set of more general rules how to handle various cursor movements and key strokes please let me know. This is a popular topic because everybody seems to have an opinion on how it should be done but nobody has come up with a set of general rules we can apply and will work in all cases, or even the majority of cases. I think we need some sort of configuration system so that we could redefine how key strokes and window areas could be handled in different applications but I'm not close to having time to write it so it won't happen soon. Kirk -- Kirk Reiser The Computer Braille Facility e-mail: kirk at braille.uwo.ca University of Western Ontario phone: (519) 661-3061