Switching to Colemak | Pedro Alves

11 min read Original article ↗

I’ve always been a fast typer, easily reaching the 100wpm mark when doing a typing test, so I’ve never really felt like my typing speed was holding me back. What I never really learned to touch-type properly, and so I’ve accumulated some rather nasty habits that have been leaving me with aching fingers after a lot of typing. In partiular, despite being right-handed, I do almost all of my typing with my left hand, and basically only use my pinky in my right hand (honestly, it’s a wonder I ever managed to hit those speeds…)

So I wanted to learn to touch type properly and get rid of these habits that were on track to giving me RSI. But despite how many times I tried forcing myself to use the “correct” fingerings for my keyboard, they never stuck, and I kept coming back to my awful keyboard posture.

Looking more into touch typing and ergonomic keyboards, I decided to try switching to a better keyboard layout than QWERTY. I’d tried this in the past with Workman, but it never stuck, and I wanted to give it another shot. Looking through various reddit threads and blog posts lead me to the [Colemak-DH], which is supposed to be a better variant of the Colemak keyboard layout without some of the drawbacks of Workman.

The Colemak-DH keyboard layout

I am writing this blog post as a sort of diary as I get used to switching to this new layout, so let’s get started!

Day 0

Typing speed: 22wpm

So as to not go in cold turkey and leaving me unable to work until I got used to the new layout, I started out by using keybr.com, which teaches you the keyboard layout progressively by starting with the home row and unlocking the next letter once you’re accurate enough with the existing letters.

Screenshot of keybr.com. Pretend I took this on day 0 and not much later when I already typed pretty good.

It has the very useful features of emulating a keyboard layout, which meant I could try out Colemak-DH without having to install it on my computer. Another nice feature is that it shows the keyboard at the bottom, color-coded with the correct fingers, which is a great reference while I don’t memorize the layout.

I found the progression a bit slow, and it took me 4 days to unlock all letters doing ~20 minutes per day per day, but it definitely helped me get a grip on the layout.

Days 1-4

Typing speed: 45wpm

Over these days, I slowly worked over the lessons on keybr, without switching my main keyboard from QWERTY. In the end, I got a decent typing speed, but I’m still making a lot of mistakes, with an accuracy rate of around 95%. That might not sound like a lot, but it means one in twenty letters is incorrect, which leads to a lot of corrections and a signifficant hit to my speed.

Day 5 - Actually using Colemak

Typing speed: 50wpm

Ok, enough exercises, let’s actually use Colemak as my keyboard layout.

Installation

My work machine is a Macbook Pro, and while macOS does come with a Colemak layout, it does not have the DH mod by default, so I needed to install it. There are layout files available in ColemakMods, and they can be installed with homebrew!

brew install --cask colemak-dh # Install Colemak-DH

After this, I needed to sign out and back in to have the layout show up in the settings. I set it up so that the QWERTY layout was still set up, and I could switch between them using the globe key or Ctrl+Space.

I did not move around the keycaps on my keyboard. This is my work laptop, and Apple’s keycaps don’t really seem designed to be removed, so I’m rather afraid of breaking them. I’ll probably print a layout reference to keep around.

Experience report

So, at the end of the first day using Colemak, I’ve got a lot of pain points. The QWERTY muscle memory is pretty ingrained, and it takes a bit for my brain to “switch” and I start writing a little faster. I’m doing relatively fine with the letters at the end of the day as I’m writing this (albeit a lot slower, with all the corrections I’m having to do!), but it turns out you use a keyboard for a lot more than just writing letters…

Keyboard shortcuts

I thought this would be a bigger pain point than it actually was, honestly! Things like copy, paste, undo, have all been fine after a few attempts, though I do keep opening new browser windows (Cmd+N) when I meant to select the URL (Cmd+L). Since these are mostly mnemonics based rather than position based, I think in a few days I’ll adapt quick enough.

Modifier keys

This isn’t really related to Colemak, but as I’ve mostly managed to use the proper fingers for pressing letter keys, I realized I basically only use the right shift key and that makes typing some capital letters on the right hand side really tricky if I am to always use the correct finger. Since I’ve been relying on the finger positions for remembering the layout, trying to use a different finger for uppercase letters because my pinky is occupied has resulted in considerably more typos in uppercase than in lowercase.

I’ve seen online the suggestion to use sticky keys, but for now I’m trying to be mindful to use the shift key on the opposite hand as the one typing a letter.

Symbols

What’s the issue here, you might ask? Alternative keyboard layouts typically don’t move around the symbol keys, and Coleman-DH mostly doesn’t either!

Well, the issue is, I’m used to typing with a Portuguese keyboard layout, and the Coleman layout I installed is based on the US one. The letters are all in the same place, but all the symbols are on different place!

I thought I’d get used to this relatively quickly, since I’m relatively used to the US layout due to setting up unconfigured Linux installs and already having gotten used to new symbol locations when I moved to a Mac from a PC, but holy shit, I’m probably typing like 10% of symbols accurately by this point, it’s being painful!

For whatever reason, in Portugal at least, Macs have fairly different symbol locations from PC keyboards. I don’t know if this is a thing in other countries, but after a little time getting used to it, I can safely say I prefer the Mac layout, considering the PC layout wastes a whole key with « and », which I don’t think I have ever used if not for complaining about the wasted key! (Supposedly that’s how you’re meant to do quotations in Portuguese, but everyone, books included, uses regular quotes.)

I’m also missing accents and ç, which are quite necessary for writing correct Portuguese, so I’ll probably end up creating a new custom Colemak-DH layout with portuguese symbol keys.

I did find a layout for Brazilian Portuguese which seems like it’d work, but I have no idea how to get that onto a format which works on a Mac.

Vim

I use vim keybindings everywhere (I’m writing this in Neovim!), and the hjkl keys are specifically chosen due to being in the home row in QWERTY keyboards, but they’re all over the place in Colemak, which is making using it a rather miserable experience (I’ve been using the arrow keys for now, which… yuck!). I’ve considered rebinding them, but they end up as mnei on Colemak, and the e and i keys are rather important bindings I use all the time, and those are mnemonics based (end of word and insert mode), so I don’t think it makes much sense putting them elsewhere!

Colemak.org suggests using an “Extend” layer, which I’ll definitely explore in the future!

Random other stuff

I’ve been realizing I type a lot of stuff purely from muscle memory and not by thinking of the actual word. I’m noticing this because I’ve had OK accuracy with writing text (around 98% now) but absolutely abysmal accuracy with things such as command-line commands (I keep doing ds instead of cd and nn insead of jj!). Presumably, like with keyboard shortcuts, this will fade in a few days.

One thing I’ve had an awful difficulty with is passwords. Since I can’t see what I’m typing, I’m making all sorts of typos, which isn’t helped by the fact that all my typing of passwords is completely muscle-memory and I can barely remember what the characters actually are. I’ve just been switching back to QWERTY for that for now — after a few seconds or so, I’ve been quickly “clicking” back into QWERTY and writing at full speed.

I’ve also kept QWERTY on my phone. I mostly rely on autocorrect and swipe-writing, and it’s a completely different muscle memory to writing on a computer, and I’ve had no issue with it so far. Also, I suppose Colemak on a phone keyboard wouldn’t actually be solving any ergonomics issue, considering you’re only typing with your thumbs and not every finger except your thumbs. Presumably an “ergonomic” mobile keyboard wouldn’t look very much like a regular PC keyboard anymore (which only look like they do to imitate typewriters!), and would be closer to something like T9 with some extra keys and gestures.

Also, I’ve been doing so many typing lessons I’ve been getting some kind of Tetris Effect with typing… I’ll see a word and keep imagining myself typing it!

Days 7-8

Typing speed: 65wpm

This was the first time actually using Colemak full time, without switching back to QWERTY at all. I’ve been getting faster and more accurate, and without tripping up nearly as much. I’m still slower than I was using QWERTY, but am firmly within average person territory now, and am mostly just typing slower, but not typing wrong.

I’ve also gotten better about the symbols and using shift keys. I’ve been doing exercises on monkeytype with the “punctuation” setting, which is handy to get used to typing these. There’s also a way to have monketype enforce using the opposite shift key, which has been helping get used to that!

At the same time, I’ve mostly managed to avoid editing the layout, since I can type accents using Option/AltGr. For now that’s been good enough, so I’ll probably keep the layout as-is.

Days 9-∞

Typing speed: 85wpm

It’s been around two weeks since I started with this, and I can confidently say I am fastly becoming a way better typist. Hell, I’m improving ~10wpm every day and am close to my original speed! Where I’m still struggling most is with accuracy when I am holding modifier keys, since I tend to shift my hands around a bit and need to find the little ridges in the home row keys to get my fingers back into position. Still, I can definitely tell that Colemak is a much better keyboard than QWERTY simply due to the fact that I can actually keep my hands on the home row.

As for writing in Portuguese, it’s clearly not optimized for it, but that’s fine — it’s not worse than QWERTY, and on my computer I mostly write in English anyway.

I’ve been using the Extend layer and it’s been really nice. In short, I can hold Caps Lock + some other key to do actions (such as go back in a page, or press the arrow keys, or scroll the page!), and it’s so convenient to not need to leave the keyboard for a lot of stuff. I’ve even mostly gotten used to using Vim with it!1 This is applicable even without Colemak, so I recommend reading this article about it to learn more.

I think this is all I have to say! I’m still improving, but I have no doubt I’ll be able to surpass my original typing speed soon. If you spend all your time typing like me, and can handle the productivity hit for a few days, I recommend giving it a shot!

My progress on Monkeytype, from 35pm to 80wpm!


Thanks for reading! No AI was used to write or edit this post. Sorry if there are mistakes, as you can see, I’m still struggling to type properly :)

  1. Yes, I am technically committing the mortal sin of using Vim with the arrow keys… although that’s a heck of a lot nicer when the arrow keys get brought up to the home row :)