On Colemak

While looking through my archives trying to figure out which entries to migrate, I came across my posts on Colemak and typing. Although my situation hasn’t changed drastically since then, I thought I’d just do a single new entry to summarize everything I wrote back then.

Colemak is an alternative keyboard layout. It’s the third most popular keyboard layout, after Qwerty and Dvorak. That isn’t saying much though, since no device comes by default with anything other than a Qwerty keyboard, and most people don’t change. I’m guessing the proportion of people using Colemak on a regular basis is less than 1%, but I can’t find statistics to back this up.

Colemak is recent, circa 2002, whereas both Qwerty and Dvorak are at least 50 years old now. It is designed for efficient and ergonomic typing, to minimize finger travel and to be easy to learn.

Here’s a map of the Colemak layout:

The Colemak Keyboard Layout

As you can see, it looks kind of familiar, and yet in some places not so.

The main advantages of Colemak (from my point of view) are:

CapsLock becomes Backspace.
This optimization alone will cut your travel distance by 15-20%. We use this key more often than we think, so it’s really a very good deal. I don’t know why the CapsLock key was given so much importance during the design of the keyboard in the first place, but it’s here to stay, so we might as well make use of it. Obviously, this won’t work for Emacs users who rely on it as their Cntrl key; To them I say, tough.
The most common letters are on the home row.
This is common sense really, it only stands to reason that the most common keys should be where you can reach them easily.
Not committed to any particular ergonomic focus.
There are many ways to approach ergonomic typing from the point of view of layout. Key rolls, alternating hands, alternating fingers, stressing index fingers, etc are all valid approaches. Colemak applies all of them, but doesn’t focus on any one in particular, like Dvorak does (alternating hands). Of course it isn’t perfect — nothing is, but it’s good enough.
It’s fast.
The amalgamation of all the above and the others I haven’t mentioned is that your typing speed increases fairly quickly. It does this without putting too much stress on your fingers, which of course is the whole point.

(The Colemak FAQ has a much longer list, these are just the ones I noticed the most.)

I started learning Colemak about 1 year ago, and before I began, I was typing at around 40 WPM on Qwerty. I went on and off with Colemak to familiarize myself with the layout for about a month or so, and then went “Cold Turkey”, as they say. One more month later, I had regained my original speed of 40 WPM. Another 3 months and I’m at 60 WPM. Now I’m at 85 WPM, and still rising.

One of the biggest problems I had with Colemak was using my operating environment. It’s all very well to type in an editor, but another thing entirely to use Colemak for everything, including keyboard shortcuts and the like. My working environment is heavily keyboard based, so this was no small task. My window manager, text editor, browser, mail client, all these programs are completely keyboard driven, and all of them needed to be changed.

Some of them had an alternate set of bindings for Colemak (like Vim), but I didn’t like them, so I made my own. It took some doing, but in the end it was well worth it.

Colemak is easy to install and use, just download the package corresponding to your OS from the website, and follow the instructions. I recommend that linux users take the xmodmap path rather than using the Xorg.conf modifications. Although the latter is neat, there’s a slight delay I noticed in the processing of control keys, and if you press keys fast (like me), you may notice that sometimes it will pick up the Qwerty Key rather than the Colemak one. This was especially a problem while using Stumpwm.

Anyone who is more than a casual computer user (most of us, nowadays) shouldn’t be using Qwerty. There are many alternatives, of which I find Colemak the most beneficial. Try it out, and tell me what you think.

2 Responses

Thanks for putting your colemak vim keybindings on github. I’ve been using them instead of Shai’s bindings for quite some time now, and they’re really great. I’ve also changed my xmonad configuration so that it also uses the same-style keys. For those interested, you can find them in the xmonad config archive on the Haskell wiki (just search for Colemak).

/
July 25, 2009

Hmmm, Xmonad. I should try that sometime.

I chose not to use Shai’s vim bindings for Colemak because they were too different from the original vim bindings in terms of position. I’m not always going to be working on a Colemak keyboard, much as I would like it otherwise. Also, their obsession with tabs completely disarmed me, I don’t know why they love them so much.

In any case, it’s good to see that my ~/etc is getting some use.

sykora
/
July 25, 2009
Comments for this entry have been closed.