virtual keyboard – What is the state of the art in Morse code computer interfaces? How efficient are they?

I have periodically recurring problems with pain in my hands when typing. I’ve looked high and low for alternative methods to control my computer, and recently I’ve been thinking more and more about if using some sort of Morse code interface could be an option.

It’s probably slower than speech recognition for text entry, but for programming and editing text in a real editor something more “direct” would probably be useful. (?)

Though I’m not super proficient I’m a licensed ham radio operator and know all the symbols already. I’m practising to get quicker for radio use anyway, so maybe it could be useful for the computer as well? People on the air routinely communicate at above 100 cpm, and there is a minority that push beyond 300 cpm. In practice the limiting factor is more often how fast the other party can hear rather than how fast you can send.

As for the hardware, I consider using some kind of sip-and-puff system. Being a long time harmonica player who likes fast paced Irish music, I know I can handle quite fast breath changes with good precision. Our mouths compete well with our hands in terms of agility (it’s what we use to speak after all…) so it seems like a natural second choice if we don’t want to use the hands.

I’ve found some people who use this method to emulate every key on the keyboard, and also some hardware that can be used, but it seems most of it’s pretty old.

What I would like to know is what the situation is like today. How efficient could I expect this setup to be with a reasonable amount of practice? Are there more examples of people using this successfully? What about using it for programming and editing text?

One could imagine a few variations, for instance using pedals for modifier keys. This might be a good idea as I mainly work in Emacs.

I do some programming, but mainly write plain text or LaTeX. Some programs I suspect I would have to control using my hands, using a mouse say, but this would be ok if they could rest for most tasks. I run Debian with I3, and use the terminal when possible.