Colorado State
          Banner

Mak's Emacs Tips

 

Home

Toolbox

Periodically in my programming/writing career I have suffered minor discomfort during long stretches of keyboard typing. No doubt, this is largely due to the infamous "emacs pinky" syndrome. I really started having problems in conjunction with intensity training in my swimming. I discovered that revisiting basics and making some simple, directed changes alleviated the discomfort.

Related Work

There are a number of really cool pages out there to help a person figure out a good approach:

My Solution

My solution was somewhere on the spectrum of "do nothing and complain" and "spend my life writing RSI software"; I still complain when I need a little pity. At no time did I consider not using Emacs. But I did consider that I should be an informed consumer of the emacs and take my programming life seriously enough to change some habits. I probably sleep only slightly more than type, so it seemed like fixing the problem rather than the symptom was a worthwhile investment.

The biggest change was to move over the right side of the keyboard, swap the shift and control keys, and place the enter key under my right index finger. I was already using a "Natural" keyboard, and this change was sufficient to keep my hands medially rotated and reduce stretching for common keys. I also went to a joint doctor, implemented a consistent break/stretching routine, learned to focus my computer time, changed my typing environment, and reduced my demands on my elbow. Then I was patient -- it took about 4 months for me to see a positive change (as in reduced pain). It took another few months before I was pain free. I still have to be careful when I travel and when I change my routine.

Remapping Keys

First I copied my original keyboard config with xmodmap -pke > original_keymap. Then I tinkered a bit using the program xev to determine how to move the keys around. I ended up with my key_map that just moves the main keyboard on the right side one over as well as swaps the shift and control. I also generated a foot keymap that allows me to use a old keyboard as a glorified foot petal.

It took me a few days to adjust and I can still use a "standard" keyboard if needed. I think of it as learning to drive a different car. Things are just in a slightly different place. Sometimes I get the wipers when I wanted lights, but then that provides some amusement.

Break reminders

RSI reminders are the best. I vacillate between paying attention to them and ignoring them. But at lease they help me remember to take breaks at least once in a while. Some that I have tried are xwrits and the gnome keyboard preferences. The best I have seen so far is workrave.

Stretching

When I was first diagnosed with RSI, I religiously followed the doctors stretches. I set the RSI break reminder to a 1 minute break every 20 minutes and a 5 minute break every 40 minutes. Every two 5 minute breaks I would get up and go for a walk. Oddly, I found I was actually more productive under  this regimen. I think it was because the breaks allowed me to focus on one task at a time and incorporate errands into my breaks. Once the initial onset passed, I still stretch and take vitamin-I (Ibuprofin) as needed.

Dictation

I have not arrived at this level of debilitation yet. One person found the following approach useful.
Use dragon NS with a2x: http://www.cl.cam.ac.uk/a2x-voice/a2x-faq.html