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.
Here's a short summary:
- Never type on a laptop keyboard for more than 10 minutes.
- Use a mechanical switch keyboard.
- Use palm-edge to press control.
- Use an ergo emacs keybinding.
The following are details.
Get a Good Keyboard Now
The Repetitive Strain Injury pain, is your fingers, or wrist or arm. It came from your fingers operating the keyboard. The utmost important thing to avoid having this pain, is a good keyboard.
First of all, get a Mechanical Key Switch keyboard. This is the most important. If you don't have one, buy it now, today!
Because, key switches is what your finger and hand muscles actively interact with. It is the utmost important.
There are many choices, from cheap $50 usd to $300 or $500 ergonomic ones. But if you are undecided, just get a $40 china cheapo now. [see Computer Keyboards ⌨]
If you never had mechanical key switch before, i recommend you start with linear silent (e.g. cherry mx red silent or gateron red silent) Be sure to pick one with physical arrow keys and function keys F1 to F12, and function keys arranged in groups of 4. Better yet, pick one with programable firmware. [see Programable Keyboards with Onboard Memory] Now, if you want ergonomic keyboard, that's even better. See: Ergonomic Keyboard Reviews
Use a Ergonomic Emacs Keybinding
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
- evil mode https://github.com/emacs-evil/evil
- 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.
Do Not Use Laptop Keyboards for More Than 10 Minutes
My first Repetitive Strain Injury, is when i was typing on the Apple iBook G4 in 2003, daily, 6 hours per day, for 2 years.
Laptop computer keyboards are the worst. It is the quickest way to get Repetitive Strain Injury (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.
Use Palm to Press the Control Key
Other Minor Ways to Avoid the Emacs Pinky Problem
Following are lesser solutions.
On Laptop, Swap CapsLock and Ctrl
On a Laptop, do Swap CapsLock and Ctrl. (IMPORTANT: do this only on a laptop.)
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
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]
For more info about alternative layout, see: Ergonomic 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
Hand Exercise Toys for Repetitive Strain Injury