Xah Lee, ,
If you are a programer, you probably have seen programers discuss and argue about keyboarding, on keybinding, on typing habit, on what's best keyboard, etc, on discussion sites or keyboard review sites. Typically, they'll say they are programer and type all day for many years or so, therefore the keyboard should be this or that way, or how you should swap this or that key, or what keybinding one should use for emacs or vi.
Here are some points i think most programers are not aware of when discussing keyboarding issues.
WHAT keyboard you use matters a lot. Is it laptop keyboard, or is it full sized PC keyboard? If full size, is it shallow keys like Apple's thin aluminum 2008 Keyboard or deep keys clicky spring like the IBM Model M Keyboard?
Even between full sized keyboard, there are major differences that effect keybinding choice or keyboarding habit. e.g. is it standard PC keyboards or Ergonomic Keyboards?
When talking about whether to remap 【Caps Lock】 or swapping any of {Ctrl, Alt, Win}, or when talking about how to press 【Ctrl+x】, or when discussing keybinding choices, use of functions keys, etc, you have to be precise of exactly what keyboard model your experiences are based on.
Good typing tips or keybinding choices for hunt'n'peckers are NOT good for touch-typers, and vice versa.
Every keyboard review or argument start with “I type all day for years …”, but just exactly how much is your “type all day”?
If you are a programer, try to use a key logger. You'll be surprised how much you actually type if done continuously. If you are a typical programer, i bet it's probably less than 30 min a day.
If we assume 40 words per minute, that's 200 chars per minute (one word = 5 chars). Divide the total keystroke you type in a day by 200, and you'll see how many minutes you actually type a day.
Good advices for programers are not good for heavy duty data entry clerks (or writers).
Good typing habit advices from programers who's typing is equivalent to 1-hour-a-day continuous typing, is bad for data entry clerks who type non-stop for 4 hours a day. Same for keybinding considerations.
I write several blogs. I know that i type more than most programers, even those doing 60-hour weeks. But i was surprised, that from my own keylog, i discovered that my whole day's worth of keystrokes can be done in just 1 hour if i type continuously, even though i sit in front of computer 13 hours a day statistically. See: Keyboard Layout: Dvorak vs Colemak: is it Worthwhile to Improve the Dvorak Layout?
for emacs users, see: Emacs's Command Frequency.
Some programer claim to have used certain habit for n decades and never have a problem. Sure. Maybe the actual time their fingers are pushing keys is just 30 minutes per day if done continuously. If they do data entry work, perhaps they'll get RSI within a week.
Some programer claim hunt'n'peck is best practice to avoid RSI. This is like saying the best way to avoid sport 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, or health.
Some programer will claim that they do fine on normal straight PC keyboard and conclude that those curved split ergonomic keyboard are not useful. O Rly? Some couch potatos never have back pain neither.
You can test many aspects of keyboarding yourself and for yourself, You can conduct experiment to see which key choices are better among 2. Or, which of the 2 keyboard is more ergonomic. Or, whether swapping Ctrl and Caps Lock is better or Ctrl Alt. You just have to be careful in the experiment in eliminating bias, such as your habit, familiarity. This is especially important when you insist your way is the better way.