I just thought of another userspace example. Have a look at Brltty. I believe it is portable to other OS's such as the BSD's, and as far as I know, it requires no specialized kernel code. At least on Linux, it can start as a system daemon fairly early in the boot process, allowing access to all virtual consoles on the system. Brltty also doesn't depend on a subshell in order to have full functionality. So Brltty and SBL are currently the best to look at to determine whether or not it would be possible to make something like Speakup run in userspace, while hopefully remaining kernel agnostic. Having said this, I realize that SBL may not necessarily be kernel agnostic, but I do believe that Brltty is, and therefore it could be a great model to use as a userspace base. ~Kyle