Surviving Emacs - Part 3
Monday, January 16, 2006
I've written in the past (see here and here) about the different things people do to "survive Emacs" (i.e. - avoid RSI-like symptoms due to the excessive use of modifier keys). I have done some of these myself on my Apple Mac PowerBook, as I use Emacs pretty extensively:
- I have installed DoubleCommand so that I can map the (essentially useless) "enter" key as a right Ctrl key. This gets around the problem of the Mac laptop only having a Ctrl key on the left side of the keyboard.
- I have used system preferences (under OS X 10.4 this was enabled in preferences; previously, it was necessary to use ucontrol to remap Caps Lock) to remap Caps Lock to Control. The standard Ctrl key on PowerBooks is located in an uncomfortable position and I never use Caps Lock anyhow.
- I use USB Overdrive to enable additional buttons on a 5-button mouse. This allows me to configure a lot of standard functions (which I would normally need to move the mouse in order to do them on the Mac) into the mouse. I also have the mouse tracking speed (in system preferences) set to the highest setting so that it takes very little movement to move the cursor with the mouse.
- I have a good quality ergonomic chair that meets ergonomic recommendations and a decent desk setup.
Like many people these days, I use a laptop as my primary computer. However, there are a range of issues associated with using a laptop for extended periods. The most common recommendations for laptop users are:
- Use an external keyboard and mouse and position them according to accepted ergonomic guidelines.
- Either use an external monitor or raise the laptop to a height such that you can see the screen without having to bend or rotate your neck.
First of all, I read a lot of articles about ergonomic keyboards (one good summary is here). There are some quite radical options available (see here, here, here) and I didn't reject anything out of hand. I also considered some comments from other Lispers who had looked at alternative keyboards (see here, here). In addition to keyboard alternatives, I evaluated a speech recognition product as a tool to reduce the volume of typing that I do (Note: I didn't get consistent results even though I spent a lot of time "training" the software). However, after a lot of reading (as well as googling for reviews and comments on blogs and newsgroups), I decided on a Kinesis contoured keyboard. There are a lot of good reasons for choosing the Kinesis keyboard; however, I was also influenced by the number of recommendations from Emacs users (I didn't make a note of most of them, but some are here, here, here, here).

In addition to the new keyboard, I have also ordered two single action foot switches (yay pedals!). I plan to map Control to one switch and Meta (alt) to the second switch, thus off-loading some of the key chording activities to my feet.
And, lastly, I have also ordered a laptop stand that allows the laptop screen to be adjusted to the correct viewing height and depth.
Initially, I plan to just setup the keyboard, pedals, and laptop stand and get used to the new setup. However, the Kinesis has a highly customizable keyboard and I will probably wind up moving some keys around. I've read a number of accounts by different people about the keyboard customizations that they've made. The following ones may seem extreme; however, there are good rationales behind the choices that they made:
- Erik Naggum's radical customizations to a standard keyboard.
- Takahashi Naoto's extensive customizations to a Kinesis keyboard.
- Jon Aquino's modifications to a Kinesis keyboard.
Another potential future customization would be to change the Kinesis key layout from QWERTY to Dvorak (since the Kinesis keyboard comes with a switchable configuration). However, I have read different opinions about the effectiveness of switching to Dvorak and I'm not sure how well Dvorak and standard Emacs key bindings go together. Also, my finger ganglia may object to such a radical move. ;-) However, that is another option I might look at later.
I'll probably post an update at some stage in the future with a summary of how I'm getting on and what I've learned. It has taken me a long time to make a decision to purchase a (fairly expensive) ergonomic keyboard and pedals and I'm sure that a lot of other Emacs users also struggle with the alternatives at some stage in their programming career. Not everyone will make the same choices, but it may help to hear how someone else dealt with the problem.

