Erik Ramsgaard Wognsen

Thoughts & technology

4 Years with Colemak

As a young computer user I felt that something was wrong with the keyboard. Like Morpheus says to Neo when they first meet:

What you know you can’t explain. But you feel it. You’ve felt it your entire life. That there’s something wrong with the world. You don’t know what it is but it’s there, like a splinter in your mind driving you mad. It is this feeling that has brought you to me. Do you know what I’m talking about?

QWERTY.

Touch typing on the QWERTY keyboard layout is wrong. You can do it every day, all day, but there’s something wrong with it. Today, four years ago, I took the red pill: I started using the Colemak keyboard layout.

Comparison of QWERTY and Colemak keyboard layouts with letter frequencies. Graphics by Pavel Pavlov.Comparison of QWERTY and Colemak keyboard layouts with letter frequencies. Graphics by Pavel Pavlov.

In the image above, the QWERTY and Colemak keyboard layouts are shown with the height of each key set to the frequency with which it is used. With this view, a pattern becomes obvious: The most often used keys are scattered in QWERTY and collected on the home row in Colemak (pronounced Coal-Mac). This means that you have to move your fingers much less in Colemak. In fact, the home row has only around ⅓ of keystrokes in QWERTY while in Colemak it has ¾ in English. The backspace key that is also used fairly often is also changed from an awkward pinky stretch to a prime location on the home row: where the caps lock key used to be.

Colemak Keyboard Figure (IBM style) by [Øystein Bech Gadmar] [DreymaR], [CC BY-NC 4.0] [cc-by-nc4], caps lock key retouched, colors adjusted.Colemak Keyboard Figure (IBM style) by Øystein Bech Gadmar, CC BY-NC 4.0, caps lock key retouched, colors adjusted.

Typing on Colemak is very smooth. Besides reducing the distance your fingers have to travel, it also makes transitions from one letter to the next pleasant. This is for example done by reducing repeated use of the same finger. QWERTY repeats the same finger in some frequent bigrams (sequences of two letters) such as ed, de, ce, my, and un. They might seem inconspicuous, but they disrupt the flow of typing, and the latter two also jump two rows. To type out The Adventures of Sherlock Holmes you would type 21782 same-finger bigrams on QWERTY and 5503 on Colemak. (On both layouts you would in addition type 10095 same letter bigrams (ll, ee, etc.), but those are not easily avoided.)

Longer sequences also flow smoothly. This is partly because they consist of the shorter sequences mentioned above, which are themselves pleasant, and partly because of rolls. These are sequences that just “roll” off your fingers. For example, the common trigrams ing, the, ent, and tio flow in one direction over the keyboard, left-to-right or right-to-left, making them easy to type. Rolls on the same hand are even better: They, could, should, last, first, medium, client, around, sharp, argument. These (common) sequences almost makes typing fun!

But in the end, Colemak is a good balance of many desirable properties: Minimal finger movement, smooth transitions, less work for the weaker fingers, a good balance between hand alternation and rolls, and a good balance between right and left hand.

As someone who works with computers all day, these past four years have been much more comfortable due to Colemak. Therefore I would like to say thank you to Shai Coleman for creating Colemak, and the Colemak community for encouragement and many discussions!

Below, some frequently asked questions, and my answers to them.

Frequently Asked Questions

Does it work on my computer?

Yes. It’s built into Mac OS X, Linux (X.org), *BSD, ChromeOS, Android, iOS (for external keyboards), etc. Basically all the cool kids. You can also get and customize it on Windows (even without admin privileges) with AutoHotKey or Portable Keyboard Layout, OS X with Ukelele, and Linux with X.org xkb (built in). See Colemak downloads.

Do I need a new (physical) keyboard?

No. Key labels are not good for touch typing on any layout. And only frequently used keys change in Colemak compared to QWERTY, so the rare ones even keep their correct labels if you need a peek for those.

But wait, why touch type at all?

Touch typing means that you type without looking at the keyboard or your hands. This means you can keep your focus on your work, which avoids the overhead of switching your attention.

If you do not currently touch type, you can kill two stones with one bird by learning touch typing on Colemak. It’s also more fun because you start typing real words instead of permutations of fjdksl!

How much time does it take to learn?

Check out users’ experiences on the forum! For me it took a couple of weeks to reach a workable level, and a couple of months to become proficient.

Since then, a new and probably more comfortable method has paved the way for learning Colemak: the Tarmak transitional layouts. Instead of switching all keys at once and being generally confused, you change a few keys, adapt, change a few more, adapt again. This way, you can stay fairly productive during the whole transition period. It’s really quite clever.

What about other people using your computer?

If you want to share the computer with others, all major OSes allow some quick keyboard shortcut to switch layouts. If not, consider your alternative layout a deterrent ;-)

What about using other people’s computers?

While primarily using an alternative layout, some people retain their ability to type QWERTY, and others do not. Here are some tips on retaining proficiency in both layouts.

Personally I lost interest in QWERTY after a few weeks of using Colemak. Now I hunt and peck when I use other people’s computers and enjoy the comfortable 99% of the time on my own computers.

What about other alternative layouts?

Colemak is neither the first nor the last attempt at a better keyboard layout. It is however one of the better ones so far. You can see a comparison of keyboard layouts at carpalx.

Does it work for my language?

Yes, probably. Colemak is made for English, but it supports many languages in the sense that you can type the necessary special characters and accents. It is also likely that the letters that are most common in English (and therefore easy to type on Colemak), are also frequent in your own language. It might not be a perfect match, but it’s probably a lot better than QWERTY and its cousins (QWERTZ, AZERTY).

The special characters are inserted using the AltGr key. If you type 90% English and 10% something else, AltGr will probably do fine. If your balance is closer to 50/50, you could make a localized version of Colemak, or find an existing one. There are no official Colemak versions available for languages other than English (but there are some unofficial ones by the community).

The official approach is to use the standard Colemak including US style punctuation symbol locations and use some punctuation keys for the most common extra characters in your language (the less-than/greater-than key found between Shift and Z on most non-US keyboards is a good first choice). For example, in French, ‘é’ is frequent (2.4%) and a good candidate for a dedicated key, while ‘ê’ (0.1%) is not and can be typed using the standard Colemak AltGr layer.

Another approach is to start with your native keyboard layout and drop in the Colemak letter block. I will show that below because that is my own approach. The reason to do this is the same reasoning that is behind Colemak proper: Avoid moving low frequency keys (such as punctuation and rare letters). They take longer to relearn because you practice them less often.

As a side note, if you don’t type so much English but still want a better layout, you could look for something made for your own language, for example German (de-ergo, NEO, ADNW), French (Bépo, Dvorak-fr, bvofrak), Dutch (De Correspondent), or Portuguese (pt-Nativo).

Does it work for Danish?

Yes, see the section above. The main difference between Danish and English is the addition of Æ, Ø, and Å. At 0.87%, 0.94%, and 1.19% respectively, they are not extremely frequent. But on the other hand, their sum is 3.0%, and having to reach for AltGr 2-3 times per sentence is more than I want. (However, this can be made much easier by putting AltGr on the Caps Lock location.)

Danish Colemak. The shaded keys have moved compared to Danish QWERTY.Danish Colemak. The shaded keys have moved compared to Danish QWERTY.

My solution keeps Ø and Å in their regular locations, while Æ only moves one position up — like the semicolon key in English.

On top of that I have made some changes to facilitate programming, such as putting the brackets {[]} on AltGr-neio, putting backslash on the ½ key. These types of modifications are personal and you will probably want something else. If you are a programmer, you can also use the “standard” solution which is to use the US English layout (whether QWERTY or Colemak).

What about Vim?

The first difference you notice is that j and k have moved away from the home row — and rightly so, because in typing, they are very rare: 0.22% and 0.81%. There are many options. Some people use vim as-is. Either because they don’t feel the need for any changes, or because they use the arrow keys anyway (in which case I would recommend learning hjkl).

Vim remapping for ColemakVim remapping for Colemak

Some people make only minimal changes to Vim (see for example the end of this page) while others use the opportunity to do a major refurnishing. My own approach is in between but conceptually simple. Keys are shifted around two loops: k-n-j-e and i-l. This restores the normal hjkl navigation cluster and puts next match n back on its previous location. Insert i and end e are now on L and J. (You can memorize it as ‘linsert’ and ‘jend’ until muscle memory takes over.) You can source my mappings from your .vimrc to try it out.

What about using an Ergonomic keyboard instead?

That is a good idea. Especially if it has a columnar or matrix key layout. Then it might even be better for comfort than switching layout. The two approaches can also be combined. That’s what I do, but more on that later. (Link!)

Thanks for reading!

Update 2018-04-14: Added link to my Kinesis Advantage post.

Comments