How to Avoid Emacs Pinky
Emacs makes frequent use of the Ctrl key. On a conventional keyboard, the Control Key is at the lower left corner of the keyboard, usually not very large and is pressed by the pinky finger. For those who use emacs all day, this will result in Repetitive Strain Injury. [see Celebrity Programers with RSI] This page lists some tips on avoiding this pinky problem.
I've been using computer since 1991, at least 8 hours a day on average every singe day. I was a QWERTY touch-typist with 80 wpm and worked as a secretary for about 2 years, then in ~1994 i switched to Dvorak layout. I started to use emacs everyday since 1998. I am a keyboard and key macro nerd, and have used tens of keyboard macro or keymap type of utilities on the Mac, unixes, and Windows, always looking for the most ergonomic and efficient way to operate the keyboard. [see Keyboards, Layouts, Hotkeys, Macros, RSI] This page summarize my experiences applied to emacs.
The best way to avoid the pinky problem is actually to use a good keyboard. Let us start with some tips on choosing a good keyboard.
Tips for Selecting a Computer Keyboard
- Buy a keyboard such that the Ctrl and Alt keys are large.
- Buy a keyboard where Ctrl and Alt are also available on the right side.
- The Ctrl and Alt key's positions on the left and right sides should have the same distance to your left and right thumbs (while your hands are rested in standard touch-type position). Specifically: the distance from the left Alt to the F key should be the same as the right Alt to the J key.
- Look at the distance from left Alt and F. They should not be far. This lets you easily hit Alt by a thumb curl. Same for Right Alt and J.
- Mechanical keyboard helps greatly. [see Mechanical Keyboard and Repetitive Strain Injury]
[see Best Keyboards for Emacs]
Avoid Laptop Keyboards
Laptop computer keyboards are the worst beast. It is the quickest way to get RSI. The keys are packed into a neat little rectangular space and flat. Ctrl and Alt become tiny squares, jammed together with Fn. Many dedicated keys such as Home, PageDown, Arrow keys, are reshaped into squares to fit into the rectangular array — losing their distinct positions that can be easily located by touch. Dedicated keypad for numbers is gone. Time saving Function keys, great for macros, become a thin strip and require 2 key presses with a Fn modifier key, also requires visual-contact to hit correctly.
It is neat, alright, but anything in perfectly geometric shape is a sign that it is the worst with respect to ergonomics and comfort. In the environment of nature, which our body evolved to cope with, there's almost never any straight lines, squares, or perfect circles.
I use a computer for 8 hours a day since 1991. Never had any problems. But, during 2004 and 2005, for 2 years, i was using a laptop always, i noticed RSI symptoms. My hand started to feel weird even when not typing. No pain, but definitely something's not right. (I've already read extensively about RSI)
So i went and bought a external keyboard, and actually bought a split-keyset ergonomic keyboard, the Microsoft Wireless Natural Multimedia keyboard. I always hated split keyboards, in particular because emacs's Ctrl+x on Dvorak is at the B position of QWERTY, and the B key on split keyboard is on the left side, but i always used the right hand to do the x and left hand on Ctrl. Also, the number 6 key is supposed to be pressed by the right hand by traditional touch typing, but the 6 on the Microsoft keyboard is on the left side.
Despite this initial difficulty, i adopted the split ergonomic keyboard, even after 15 years of using a traditional PC keyboard. Now, i won't go back to non-split keyboards. Typing on non-split keyboard feels discomfort even just for a few minutes.
How to Press the Control Key
Use Your Palm or Semi-Fist
Do not use your pinky to press the Control key.
For some keyboards, it's not easy to use palm. Instead, you can curl in your fingers into a semi-fist, then sit your fist on the control key, or knock the key with your pinky's knuckle.
Use Both Hands
Do not use just one hand to type a Control+key combo.
Use one hand to press Ctrl, use the other hand to press the letter key. This is the same principle for pressing the Shift key in touch-typing.
When the key you want to press is on the left side of the keyboard, use the right side of Ctrl. For example, to press Ctrl+a, hold down the right Ctrl with your right palm edge, and use your left hand to press a. Make this into a habit. Using a single hand to press Ctrl+key combo means your hand is shaped into spider legs, thus putting stress on it when done repeatedly.
This is also why it is important to chose a keyboard with large Ctrl keys positioned on both sides of the keyboard.
Software Ways to Avoid the Pinky Problem
A good keyboard and good typing habit is good. But suppose you are stuck with a laptop keyboard. Here are some suggestions for this situation.
Use a Ergonomic Keyboard Shortcut Layout
For programers, more than 50% of your typing are actually calling commands. [see Emacs's Command Frequency] This means, the layout for command keybinding is actually more important than letter-key layout.
One good solution is to use a ergonomically designed keybinding.
I recommend one of the following:
- Emacs: Xah Fly Keys
- ErgoEmacs Keybinding: a Ergonomics Based Keyboard Shortcut System
The above modes are by far the best solution. I suggest you get used to one of them.
Following are lesser solutions.
Swap Control and Alt
Try swapping the Ctrl and Alt keys.
Emacs's shortcuts are developed for Lisp Machine's keyboards of the 1980s. They have Control key near the space bar, and the Meta key further away from the space bar. So, Control key is the primary modifier key. However, today's keyboards have Alt instead of Meta, and the Ctrl key is placed at the far corner. Emacs did not change its shortcuts. It simply mapped the Meta to Alt. That is why today, most frequently used keyboard shortcuts have the more difficult to press Ctrl key instead of the Alt. For more detail on this and other aspects of emacs's shortcuts.
[see Why Emacs Keys are Painful]
Swapping the Alt and Ctrl key will make Emacs's keyboard shortcuts easier to use.
The other advantage of swapping Alt and Ctrl, is that on Windows and Linuxes, most direct shortcuts involve the Ctrl key. By swapping, shortcuts are made easier too, because now Ctrl is right under your thumb.
On Laptop, Swap CapsLock and Ctrl
On a Laptop, do Swap CapsLock and Ctrl.
Remap the CapsLock and Ctrl key by swapping them. This is not a optimal solution, because the Control key is still pressed by the pinky. But on laptop, this may be better than swapping Alt and Ctrl, because the CapsLock key is usually much bigger and in a easy open location.
- Linux: Swap Control Alt Keys
- Microsoft Windows: Swap Caps Lock, Alt, Control Keys
- Mac OS X: How to Swap Control, Caps Lock, Option, Command Keys
See also: Emacs: Why You Should Not Swap CapsLock and Control
Use Sticky Keys
See: Sticky Key
Dvorak Keyboard Layout
One ergonomic improvement is the Dvorak keyboard layout.
You might hear people with concerns about using Dvorak with emacs. Actually, no problem at all. I never used emacs with QWERTY. I started using Dvorak in 1994, emacs since 1997.
Dvorak layout does not help with the emacs pinky problem. However, it is good for typing health in other ways.
In the beginning, from 1998 to 2006, the only key i remapped for using Dvorak on emacs is to make “C-t” do emacs's “C-x”. [see Emacs: Easy Ctrl+x for Dvorak Layout] But now, i recommend not to use “C-x” at all. You should use key sequences. [see The Roadmap to Completely Replace Emacs Key System, Part 2]
For more info about alternative layout, see: Alternative Keyboard Layouts
Relax Your Hand When Not Actually Typing
When in a active coding/writing session, perhaps more than 50% of the time your hands are actually not typing. You constantly take a pause to read or think. This pause can be 1 second to 10 seconds or more. However, for many people, their hands are still tensed up during these times, ready to type.
It's a good habit to remove your hands from the keyboard or mouse when you are not pressing keys, even if the duration is just few seconds.
Remind yourself to check your hands when you are not actually in action of typing or using the mouse. See if your hand is completely relaxed.
Hand Exercise Toys
Here's some fun toys i use that give my hands something to do, to take them away from the same muscle usage for typing or mousing. When i'm reading or thinking, it's a habit to pick these toys up and play with it unconsciously.
Hand Exercise Putty
Get a rubber band. Wrap them around all 5 fingers, then try to open the fingers. This is kinda reverse exercise to squeeze balls. With the right size of rubber band, you can easily expand your fingers once every second.
Juggling ball and Squeeze Ball
Get a squeeze ball. There are several types of squeeze ball. Some are spongy and light weight, requires little effort to squeeze, and spring back into shape immediately. Another type feels like clay; You have to squeeze hard with the whole hand for it to deform, and they deform slowly. I like the clay type better.
It is universal advice that you should have AT LEAST 10 minutes of break every 2 hours. The exact schedule varies. I always take breaks. Some people use a alarm clock, but i tend to do it spontaneously. Every 2 hours or so, i'd get up and walk for 10 minutes or do some juggling during break. Been a juggler since age 17. (See many juggling videos at Juggling and Performance Arts.)
Chinese Hand-Exercise Iron Ball
When taking a walk, i usually carry Chinese hand exercise iron balls. It's relaxing to rotate them. For buying advice, see: Chinese hand-exercise iron balls.
You might try to pickup Pen Spinning. [see Pen Spinning video] Though, am not sure this is good for you. Learning the tricks can be addictive, and the constant pen dropping can be quite annoying to those around you. (In East Asia, majority of highschool students do some form of pen twirling. When walking into the class, you hear the sound of pen droppings all over.) Pen twirling has become a unconscious habit for me since age 13.