Swapping the Caps Lock key with the Ctrl key is one of the bad advice in keyboarding. It is a good workaround for a laptop keyboard, but on a full keyboard, there are many alternatives that are better. Here are the reasons why:
The above assumes that you do TOUCH TYPE. If you do not touch type, you really need to learn that first before you can talk about hand health. (See: Programming's Dirtiest Little Secret By Steve Yegge. @ steve-yegge.blogspot.com…)
The above also assumes that you are using a full sized keyboard, not the keyboard on laptops. If you are stuck with a laptop computer keys, then you need to get a full PC keyboard first. Prolonged typing on laptop keyboard is sure way to damage your hands.
Among tech geekers, it's widely recommended like a dogma, to swap Caps Lock and Ctrl keys. However, remapping Ctrl to Caps Lock violates some basic ergonomic principles.
In touch typing, modifiers comes in pairs, such as ⇧ Shift key. The accepted ergonomic way to press modifier combinations is using one hand to press the modifier key and the other to press the letter key. Using 2 hands avoids single-hand straining its muscle.
You can see how it is otherwise by disabling one of the ⇧ Shift key. With just one modifier, you are heavily handicapped. As a example, try this exercise:
TYPE THIS SENTENCE WITH ONLY THE LEFT SHIFT KEY AND WITHOUT USING CAPS LOCK.
Similar is with other modifier keys such as Alt and Ctrl.The reason they are not noticed only because they are seldom used in comparison to ⇧ Shift. However, in Emacs, it is heavily used.
Buy a good keyboard that has big Alt and Ctrl keys, and on both sides of the keyboard, and symmetrically placed with respect to your thumbs when hands in home position. (some keyboards, such as Apple keyboard, has the right side modifiers far to the right, rendering them unusable for touch typing) Microsoft's ergonomic keyboard are very good with respect to this, and also vast majority of generic PC keyboards today have symmetric distanced modifier keys. (i think starting about late 1990s)
The other way is to learn to type the corner Ctrl by pressing down your palm or semi-fist, instead of poking it with your pinky. This can be comfortably done on most PC keyboards, regardless if you have large or small hands.
It is so easy to hit with the palm. Just push down your palm and you hit it. Almost easier than pressing keys with index finger on the home row.
On a laptop, usually the Ctrl and Alt are both tiny squares. It's impossible to use palm to press the Ctrl, and it's also not necessarily easy to use thumb to press the Alt. And often, there's only one set of these keys on the left side. The Caps Lock is the only big key and better alternative.
If you do not touch type, your hands do not fall into standard positions and are freely moving. The big Caps Lock key is a very easy and convenient target. Even if you do touch type, the key at the Caps Lock position is still best choice than the positions for Ctrl or Alt on a laptop keyboard.
Here are 3 methods of typing Ctrl:
Here's a very simple test anyone can do to see which method to type Ctrl is more efficient and less tiring.
Type the following. Whenever there's a Capital letter, hold down Caps Lock key as if it is ⇧ Shift.
a b C d e F g h I j k L m n O p q R s t U v w X y z YoU caN cAp The letTER tHAt yOu neEd to pReSs thE ModiFier liKE In thIs senTenCe.
Repeat this 3 times.
Now, take a break. When you are ready, do it again, but for each cap letter, press the Ctrl key at the opposite corner of your keyboard, and using palm or semi-fist.
Again, take a break. Now, for each cap letter, press the Alt key instead.
Repeat this test daily until you are very familiar and comfortable with all 3 methods . After a week, you should have a feel on which way is faster and or less tiring.
Joel wrote: «… do not use two fingers on the same hand at the same time, except in emergencies. …».
YSK wrote: «Seriously? I do this all the time. Some of my favorite (non-emacs) shortcuts include stuff like 【Ctrl+Alt+⇧ Shift+e】, all done with my left hand. Is that bad?».
In general, if the keypress required involves only one modifier key and one letter key, the accepted touch typing guideline is to use one hand on the modifier and the other on the letter. Choose the modifier on the other side of the letter key.
When you have multiple modifier, it gets a bit more complex and the rule applies less. Ultimately, there are several factors involved. For example, the keyboard hardware is not well designed due to historical reasons. 〔☛ Keyboard Hardware Design Flaws〕 Secondly, many keyboards such as Apple's that have the right hand side's modifier far to the right, making them less usable for touch type. Lastly, the principles of ergonomics presumes you are doing the task repetitively for a prolonged time. Else it doesn't apply. For example, for vast majority of computer users (say 95%), they only type maybe for 1 hour per day, and there's not much activity of continued typing more than 5 min. Lots of professional programers don't even touch type; partly because heavy duty data-entry is not really part of programing.
When it comes to Control key, or multiple modifiers, they are not used that often. So whichever works for you is ok. However, this does not mean it's completely a personal issue without any scientific criterions. For example, of all the styles and anecdotes you hear about how you should press modifier, you can easily test them out and find the better one, by say, force yourself to continuously operate it for 10 min using one way, then do the same test with another way. You'll quickly see which one is more tiring and which is faster with less effort.
Also, note that faster does not necessarily mean ergonomic, and vice versa. How long do you type in a day is a important factor. Good advice for typing 3 hours a day is different from those typing 6 hours a day. Good typing advice for programer's typing needs is not the same for data entry clerks.
On 2010-06-15, Thad Floryan wrote:
Your opinion which neither I nor 100,000s of others share — you stand alone.
If we do a scientific poll, i think majority of people would find the swapping of Ctrl and Caps Lock less a optimal solution than methods and tips described here. If you survey emacs users, i think it's a minority who swap Ctrl and Caps Lock. I've seen posts here and there who the tried the swap and didn't like it. Many of those developing RSI either went for either a Microsoft Ergonomic Keyboard or Kinesis Contoured Keyboard.
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.
Right, another anecdote from a old man.
The question is not whether a particular person have RSI problem using what method. You can be a programer for 40 years coding daily, and never had RSI problems, yet you don't even touch type. It is possible that a majority of people who makes a living by coding, can't touch type.
Also, how much you actually type makes a difference. Among professional coders, the amount of typing can actually vary greatly. Meetings or errands probably takes more than half of your day. And when you code, more than half of the time you are probably reading code or thinking instead of actually typing. So, even if you work as a coder 8 hours a day, your actual typing time accumulated might be just 1 hour a day. And the typing of computer programing is relative light compared to professional writers or data-entry clerks. The advices and opinions from those professional data-entry clerks would make far better ergonomic sense. See: Emacs, RSI, My Experiences.
Mapping and using the [Caps Lock] as a [Ctrl] to the immediate left of [A] is no different than the ["] to the immediate right of [;] re: pinkies.
That's true. But note that the Enter ↵ key on the keyboard hardware is a very badly designed key. It's one of the top 5 keys that causes RSI. You can see this that both the well-known ergonomic keyboards the Kinesis Contoured Keyboard, Maltron keyboard redesigned the keyboard and moved the Enter to under the space bar for the thumb.
The keyboard hardware itself is badly designed that came from legacy typewriters, and much worse is its precursor the typewriter. Yet, people lived with typewriter for generations. See: Keyboard Hardware Design Flaws.
The (dumb) PC standard of a [Ctrl] key at the lower-left of a keyboard is ridiculous and WILL cause pinky problems if one uses Emacs as an editor and Bash as a shell.
If you use a Good Ergonomic Keyboard, or ErgoEmacs Keybinding, and pressing the Ctrl with palm, there shouldn't be a problem.
Keyboard originally Has Ctrl at the Right Position, Microsoft fscked it up.
FALSE. See: Keyboard: Control vs Capslock Position.
From my years of experience on this and my observation from the arguments, i think that actually only a minority really propose that swapping Caps Lock and Control is a good thing, even though we hear it in online geek programing forums often. It is this minority that keeps spreading baseless info. Also, i think this minority tends to be older people, say, had computing career in 1980s or early 1990s.
I think the reason they have such view is because many 1980s's keyboards have the Control key at today's Caps Lock position. (See photos at: Keyboard Hardware's Influence on Keyboard Shortcut Design (How Emacs & vi keys came to be).) In particular, Sun Microsystem's keyboard kept this tradition as late as year 2000. These people grew up with that. The habit stuck.
Here's other view.