I suffer from RSI (possibly
brought on partly by chording in Emacs) and have devised a system for
largely handsfree operation of Emacs (and through it, just about
anything else online).
I am releasing this under the GPL, and it is available on
It has its own
also on SourceForge.
To start with, this uses two multiple programmable
footswitches (from Kinesis) and taps into Emacs'
text menu system for commands, and a narrow-channel Emacs
navigation system I had written some time before.
See Using Emacs pedals for details.
I have now started to integrate this with voice input for further productivity, safety and
- "VERsatile curSOR" is a narrow channel interface to
navigating around emacs. At any time, you have a current
dimension, and can move forward or backward in that dimension.
You can also move backward or forward through a sequence of
dimensions; and select one of several possible sequences, to
suit what you're doing at the time.
- This is a set of key bindings aimed at using just a few keys, which
are duplicated onto commercially-available footswitches. The
footswitches I use come in sets of three, and these key bindings
are designed for use with six keys: ctrl, shift, alt, and three
command keys, which you can think of as "forward" (or
"navigate"), "menu", and "aux".
- Pedal menus
- The pedal menu system is based on tmm.el, the text mode menus
package that comes with emacs. It uses the menu pedal to bring up the menu, the forward pedal (and backward pedal if
necessary) to move onto the right entry,and the menu pedal again
- Flexi choose
- When you have to choose from a potentially large number of
possibilities (e.g. aliases in your address book) this lets you
navigate down a tree of them in just a few steps, using either
the pedals or voice.
- Embedded Commands
- Voice recognition typically seperates commands from
dictated text by pauses around the commands. This package
recognizes command phrases in continuous speech, removing
them from the text as they are executed. A colour cue system
warns you when what you are saying is being detected as a
- Language-guided editing
- Editing by the sense of the text, that is, at a higher-level
abstraction than usual, makes better use of bandwidth available.
This became Languide, part of Versor.
Pedals for Emacs
Voice input for Emacs