Maybe Colemak is smarter than Dvorak?

Friendly warning – this is about keyboard layouts that differ from the standard “QWERTY” layout. If this confuses you, stop reading now :-)


The Dvorak keyboard layout is not a new thing. It was patented in 1936. When I heard of it some 15 years ago, its biggest obstacle was lack of software support. That has changed now, and I’ve used Dvorak on my smartphone for the past 2 years and I can say with confidence that my thumbs have learned it very well – Dvorak is my fastest and preferred layout on mobile.

Oddly, this does not translate at all to physical keyboards. I’ve made several attempts at using Dvorak on the desktop computer and it still eludes me. My fingers’ muscle memory remains stubbornly locked in the Qwerty layout. (A common recommendation is to go cold turkey: use Dvorak exclusively and after a few weeks I’d be up to speed. But at work I don’t have the luxury of spending weeks hunting and pecking, and at home I’m just too damn impatient.)

I am now taking an interest in the “Colemak” keyboard layout, in particular because it has very strong arguments why it’s more useful than both Qwerty and Dvorak:

  • Compared to Qwerty, Colemak is designed to be substantially easier to learn and allow easy transition from QWERTY.
    • All the important keyboard shortcuts (Ctrl+Z,X,C,V,etc) remain unchanged. This is a lifesaver.
    • Keys only move a little bit away from their Qwerty position. This is also an argument over Dvorak.
  • Compared to Qwerty, Colemak has 45% less hand movement. (I haven’t found a proof for these numbers yet.)
    • QWERTY has 16x more same hand row jumping than Colemak.
    • There are 35x more words you can type using only the home row on Colemak.
colemak keyboard layout

The Colemak layout looks remarkably similar to the familiar Qwerty layout.

I already knew there are other “weird” layouts besides Dvorak but I always dismissed them all because I consider them to be even rarer than Dvorak, making them even more difficult to come by on the devices I use. This seems to have changed: it’s now fairly easy to run custom keyboard layouts, even on smartphones (thank you SwiftKey!) and on computers that don’t allow software installation. (Instead of installing a custom keyboard driver, I use the Windows tool Autohotkey to remap my keyboard on the fly, and it does many other neat tricks too. Remind me to write a post about that someday!) I quickly made this Danish Colemak layout using an Autohotkey script.

There are very good online training tools for learning either Colemak or Dvorak (or even Qwerty, of course):

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.

This post was perhaps mainly written as a sort of diary entry for myself, but getting a better keyboard layout than Qwerty is something that interests me and I feel that Colemak is noteworthy.

I’m toying with the idea of giving up on Dvorak (yes, even on mobile) and trying to learn Colemak instead – if nothing else then as an experiment about whether I can convince my fingers. As a bonus, learning another layout is a good exercise for the mind as well.

I might revisit this topic later, and it will be interesting then to compare my experience with these thoughts.


Update: I keep a handful of finished articles queued up, and in the time between writing this piece and it getting published, I have realized two things: A) When I recently sat down at my media center’s Dvorak keyboard and started typing, I didn’t realize right away that I was actually quite proficient. That was a surprise because B) I’ve thought about how I spend my energy and it seems that going against the mainstream sometimes isn’t worth it and it seems that if it has taken me this long to still not surrender Qwerty then it might not be meant for me. So those are two interesting opposing data points to mull over.

2 Responses to “Maybe Colemak is smarter than Dvorak?”


Leave a Reply




%d bloggers like this: