This post is part of the Colemak necessities series.

Thoughts on and rationale behind leaving QWERTY and touch typing in general. Followed by this post on refactoring my Dotfiles.


I just realized that it has been over two years since I switched from QWERTY to Colemak but somehow never managed to write about it. It was a major change in my life, and it took forever to get acclimatized to. I do not think I’ll ever again be in a position to make such a change in my life again, but it was definitely worth it.

Touch Typing

My interest in touch typing in I decided to digitize my notes for posterity, during the last two years of my undergraduate studies back in Harcourt Butler Technical Institute (HBTI) Kanpur, India. in one of my many instances of yak shaving, I realized I could probably consume and annotate a lot more content by typing faster. Given that at that stage I was already a fast talker, it seemed like a natural extension. There was probably an element of nostalgia involved as well. That and the end of a bachelors involves the thesis, which generally involves a lot of typing.

There were (and are) some fantastic resources for learning to touch type nowadays, I personally used:
This is short, but a pretty good basic setup. The numbering and special characters are a bit much to take in at the level of practice you get by completing all the previous exercises, but eventually they make for a good workout.
This is what I ended up working my way through. It is comprehensive, beautiful, and fun.

Also, later, I ended up using keybr a lot, simply because typing gibberish is a good way of practicing, and it is independent of the keyboard layout.

Just to foreshadow things, the enemy facing me at this point was the layout itself1.

Alternate layouts

Having finally broken into the giddy regimes of 150+ wpm, I was ecstatic, and decided to start working my way through some longer reports. However, I quickly realized I was unable to type for more than a couple of minutes without getting terribly cramped. Once it got to the point of having to visit a physiotherapist, I had to call it quits. At that stage, relearning the entire touch typing corpus, given that I already was used to QWERTY, seemed pretty bleak.

It took forever, and I ended up applying my choices to my phone keyboard as well, which presumably helped me in terms of increasing familiarity, had the unintended effect of making me seem distant to people I was close to, since my verbose texts suddenly devolved to painful one-liners.

The alternative layouts I tried were:

At the time, TypingClub only supported QWERTY and DVORAK, so it was pretty natural for me to try it out. There are also some very nice comics about it. I remember that it was pretty neat, with a good even distribution, until I tried coding. The placement of the semicolons make it impossible to use while programming. I would still say it makes for a comfortable layout, as long as special characters are not required.
I experimented with the entire carpalx family, but I was unable to get used to it. I liked QFMLWY best. I do recommend reading the training methodology, especially if anyone is interested in numerical optimization in general. More importantly, though it was relatively easy to set up on my devices and operating systems, the fact that it wasn’t natively supported meant a lot of grief whenever I inevitably had to use a public computer.
Eventually I decided to go with Colemak, especially since it is widely available. Nothing is easier than setxkbmap us -variant colemak -option grp:alt_shift_toggle on public machines and it’s easy on Windows as well. Colemak seems like a good compromise. I personally have not been able to reach the same speeds I managed with QWERTY, even after a year, but then again, I can be a lot more consistent, and it hurts less. Nowadays, Colemak has made its way onto most typing sites as well, including TypingClub

What about VIM?

  • DVORAK makes it impossible, so do most other layouts, but there are some tutorials purporting to help use vim movement with DVORAK
  • Colemak isn’t any better, but the fact of the matter is that once you know VIM on QWERTY, and have separately internalized colemak or something else, hitting keys is just hitting keys

All that said, I still occasionally simply remap HJKL (QWERTY movement) to HNEI (Colemak analog) when it is feasible.


I actually ended up refactoring my entire Dotfiles to use more Colemak native bindings, as described in this post.


Changing layouts was a real struggle. Watching my WPM drop back to lower than hunt and peck styles was pretty humiliating, especially since the reports kept coming in, and more than once I switched to QWERTY. However, since then, I have managed to stay on course. I guess if I think about it, it boils down to a few scattered thoughts:

  • Typing is kinda like running a marathon, knowing how it is done and doing it are two different things
  • Tell everyone, so people can listen to you lament your reduced speed and not hate you for replying slowly
  • Practice everyday, because, well, it works out in the long run, even when you plateau
  • Alternate shifts! That’s really something which should show up more in tutorials, especially for listicles, not changing the shifts will really hurt
  • Try and get a mechanical keyboard (like the Anne Pro 2 or the Coolermaster Masterkeys), they’re fun and easy to change layouts on

  1. The images are from here, where there’s also an effort based metric used to score keyboard layouts. ↩︎

Series info

Colemak necessities series

  1. Switching to Colemak <-- You are here!
  2. Refactoring Dotfiles For Colemak
  3. Remapping Keys with XKB and KLFC
  4. Remapping Keys for ColemakVIM on MacOS