Bad Keyboard Advice from Programers

By Xah Lee. Date: . Last updated: .

If you are a programer, you probably have seen programers talk about keyboard, or how to press the control key.

It's all WRONG!

If you want good advice for healthy and efficient typing, ask professional data-entry clerks, not programers.

Here is common wrongs of programer's advice about keyboarding.

Following are details.

Just How Much You Type, Really?

Good typing advice from 30 minutes per day worth of typing (programers) is bad for 2 hours per day typing (data entry clerks), and vice versa. Same for keybinding considerations.

If you are a programer, try to use a key logger. You'll be surprised how much you actually type.

For detail, see: How Many Words Do You Type a Day?

Do You Touch Type or Hunt'n'Peck?

Good keybinding choices for hunt'n'peck are NOT good for touch-type, and vice versa.

Good keyboard for hunt'n'peck users are NOT the best keyboard for touch-typist, and vice versa.

If you hunt'n'peck, you really don't have lots problems, simply because your load is naturally low. But if you force yourself to type the amount that data-entry clerk or writers do while still hunt'n'peck, you'll get fatique, eye strain, or Repetitive Strain Injury.

On the other hand, here's a example where touch-type creates a problem that hunt'n'peck wouldn't have. If you use Ctrl+x for copy, normally it's fine. But, if you have to do that 10 times more frequently, and using touch-typing method to type the x, you may get RSI. I did. This happened to me because we added a feature to ergoemacs-mode so that cut will cut current line if there's no selection, and i find it so convenient that i spontaneously started to use it for cutting entire blocks of text or deleting text by repeatedly pressing Ctrl+x. Because i touch-type, so i press the x by the weak 4th finger while right-hand holding down the Ctrl. Then, i got RSI symptoms, and eventually traced it to pressing x. (You can read a detailed account of this, at: The Roadmap to Completely Replace Emacs's Key System, Part 1)

Subtle Differences in Keyboard Have Major Impact on Hand-Health and How You Press Keys

WHAT keyboard you use has significant influence on your habit, and the optimal keybinding, or methods to press keys.

Is it laptop keyboard? is it full sized PC keyboard? Does it have shallow keys like Apple's Aluminum Slab? Or deep clicky keys like the IBM Model M keyboard? For example, on a laptop keyboard, swapping Ctrl and CapsLock is a good advice, but on a full-sized keyboard with big Alt keys on both sides, a more optimal setup is to swap Ctrl and Alt.

Even with full sized keyboard, there are major differences that effect keybinding choice or keyboarding habit. Is it standard PC keyboards or Ergonomic Keyboards? For example, on ergonomic keyboard made by Microsoft, it makes a lot sense to make heavy use of Alt keys, because they are big and right under thumbs.

Or, you may arguing against using mouse, but if on laptop, the trackpad is quite more effective in placing cursor at arbitrary positions. For someone using a touch screen, it's even better.

Here is a personal example, about a very subtle difference of keyboard, that created a RSI problem for me.

From 2005 to 2008, i was using the classic Microsoft Wireless Natural Multimedia keyboard.

Microsoft Natural Multimedia keyboard 62725-s361x173
Microsoft Wireless Natural Multimedia keyboard

In about 2009, i switched to the new model Microsoft Natural 4000.

ms n4000 keyboard-s336x186
Microsoft Natural Ergonomic Keyboard 4000

The new keyboard got more ergonomic curves, seems to be a improvement. However, ON THE 4000 KEYBOARD i developed a habit to press the {1, 2} keys by twisting my left wrist to the left and press it with my middle finger (instead of using pinky and not turning wrist. (because, SOMEHOW on this new model, it's harder to press the 1 with pinky)). Then, i developed RSI symptoms. One morning, i woke up, even before touching the keyboard, my left hand forearm got this tingle sensation. It is a extremely scary experience. RSI cause is very difficult to track down. After panicking for weeks, i eventually tracked it down to this wrist movement. For the full story, see: Programer Hand Health: vi Esc Key Syndrome .

Another personal example is when i switched to a mechanical keyboard. There's this {j, k} keyboard shortcuts to move to {previous, next} posts on {gmail, Google Plus, twitter, facebook, etc}, but somehow i just don't use those keys, but with mechanical keys, i started to use those shortcuts spontaneously. For detail, see: Mechanical Keyboard and Repetitive Strain Injury .

Bad Typing Advice from Programers

In programing forums, keyboarding opinions are very vocal. Lots of unscientific claims that persist.

I Swap Capslock and Control and Never Had Problem?

Some programers claim to have used certain habit and never have a problem.

A [Ctrl] to the left of [A] is natural and what I've been using since the mid-1960s with absolutely NO problems or RSI whatsoever beginning with a TTY ASR33 and continuing with a Datapoint 3300, DEC VT100, Datamedia DT80 and others along the way to today.

Some people smoke cigarettes all their life but never got cancer.

Maybe, if you do data entry work you'll get RSI within a month.

Remember, log your keys and see how much you actually type. How Many Words Do You Type a Day?

[see Emacs: Why You Should Not Swap {CapsLock, Control} Keys]

Don't Touch Type?

Some programers claim hunt'n'peck is best practice to avoid RSI. I have on record 2 notable programers saying this to me in public forum/blog.

My recomendation for avoiding RSI while typing a lot is very simple: don't touch type. Use just three or four fingers and the thumb. I've been doing this for 20+ years now, and can type at around 40+ words per minute, which is generally faster than I can think.

source: comment at

Matt Garman writes:

Does anyone have any thoughts on keyboarding injuries, in particular those caused by “chording” (pressing multiple keys simultaneously)?

Easy: don't touch-type.

That will make sure that you move your hands enough to avoid any problem. Emacs and its “few (tho complex) key strokes” approach compensates for the slower typing. And typing speed is not relevant anyway since you'll spend more time thinking about what to write.


Do you mean to say that touch typing is unhealthy in general…

Just that I've known several people who suffered from RSI and several people who can't touch-type and the two sets are disjoint. A correlation between the two is expected (people who type a lot are more likely to know how to touch-type), but the fact that the two sets are actually disjoint is I think more than a coincidence. If you look at people who don't touch-type (like me), you'll see their hands move a lot, so their arms work more and their hands and fingers work less.


This is like saying:

the best way to avoid injury is not to go pro!

Sure, you can hunt'n'peck as a programer and still be considered a fast coder, but it isn't a good ergonomic advice. Given a fixed amount X of typing, and if X is small, then all's fine. When X is large, the difference between hunt'n'peck and touch-type will show, with respect to performance and health.

Maybe you don't write a lot emails or docs or blogs, but other programers do.

If you don't touch-type, that also means you are likely to write less documentation for your code.

Here is two celebrity coder Steve Yegge and Jeff Atwood on this issue:

Ergonomic Keyboards are Useless??

Some programers claim that they do fine on normal straight PC keyboard and conclude that those curved split ergonomic keyboards are not useful.

Some couch potatoes never have back pain neither!

You can test many aspects of keyboarding yourself. You can conduct experiment to see which key choices are better among two. Or, which of the two keyboard is more ergonomic. Or, whether swapping Ctrl and CapsLock is better or Ctrl and Alt. The important thing here is that you must actually put effort and time on this as a DEDICATED STUDY. For example, from today on, actually put 1 hour aside, to explore many of questions about keybinding or keyboard. Do this persistently for 1 month as a job.

Experience-based judgement are often clouded by habit and the specific keyboards you are using.

In doing experiments, you have to be careful in the experiment in eliminating bias, such as your habit, familiarity, and the specific keyboard you are using, if you want the result to be general and for others as well.

Typing Habits, Repetitive Strain Injury

Habit, Injury

Mouse Pain

emacs, vi, RSI

Xah Keyboard Guide