DEV Community

Hidde Wieringa
Hidde Wieringa

Posted on

From QWERTY to Colemak

This year I made the successful switch from a QWERTY to a Colemak layout for all my keyboards. This is the story of my journey.

QWERTY and its problems

Most people in the world that communicate using Latin characters use a QWERTY layout (or some variant like AZERTY, QUERTZ, etc.) for their keyboards. This is because of historical reasons: typewriters became popular and they had the QWERTY layout. The reason was not for improving ergonomics, but rather to avoid jamming.

For computers, jamming is not an issue. Multiple layouts that have most keys different from the QWERTY layout have been invented. Examples are Dvorak, Colemak and Maltron. There are also layouts that are not widely used but shared online. Anyone can make and share a keyboard layout nowadays, for example using a tool like Microsoft Keyboard Layout Creator.

The QWERTY layout is not designed for ergonomics. For persons who write (either words or code) whole days on end, this can become an issue. Also, it is interesting to experience an alternative to the layout everyone is using.

Dvorak

A few years ago, I started learning the Dvorak layout. This layout is a popular alternative to QWERTY based layouts. There is some documentation online, and in most systems the layout is built in as a keyboard selection.

I practiced online until I could type reasonably well (but not very quickly) using the layout. After a few months I was seriously considering switching permanently. However, for my day-to-day work I noticed a large problem. The shortcuts for cut, copy and paste (and some others), were suddenly in a very different location on the keyboard. Of course, it is possible to remap these shortcuts but that was not an option. I want to be able to use a system and program as is, independent of the keyboard layout.

This was a blocker. I stopped practicing and reverted quickly to QWERTY.

Requirements

Luckily, the story did not end there. The idea to learn an alternative keyboard layout stayed in my head. I had three goals I wanted to achieve, namely:

  • Have around the same typing speed as I had using QWERTY (not quantified).
  • Type with ten fingers.

    I could not type with ten fingers, but rather used around six fingers in strange combinations and patterns.

  • Reduce the number of errors while typing.

I made many typing errors when using QWERTY. This made for quick typing but I still lost a lot of performance because I had to ‘backspace’ to correct mistakes.

I compiled a list with requirements I wanted to have for my ideal layout. I came up with the following list:

  • Good ergonomic properties.

    Measuring ergonomics can be done in many different ways. Layouts are often optimized for different metrics. For me, the layout must score well in usage of the home row, and alternating letters between two hands.

  • Some widespread use around the world.

    This makes sure that there is documentation, and tools for practicing are available (online or offline). There will also be some analysis of the ergonomics available.

  • Software switchable.

    The layout must be available by switching using software only. This is usually independent of the layout and most OSes support this.

  • Has to fit basic system/program shortcut keys.

    I want to be able to use a system without modifying the entire system before using the layout. This is especially useful if I have to use a someone else’s system. Only a keyboard layout change is needed.

  • Extensible for programming.

    The layout must be able to allow extensions for programming. Many layouts support this. It usually means switching the numbers and symbols around, independent of the letters.

I wanted to learn to type well (with 10 fingers), so the software requirement meant that I used the other layout when typing on a QWERTY keyboard. Looking at the keyboard while typing did not help!

One factor which was not mentioned above but which is important when choosing a layout, is the language you optimize for. For me that is English, although I am Dutch. This influences the layout a lot, because the usage of letters and combinations is different across different languages. In English the combination ‘th’ is common, while in Dutch the combination ‘ij’ is common.

Colemak, here I come!

My choice for my future keyboard layout became Colemak. As far as I could find, it is the second most used alternative layout for Latin writing, after Dvorak. There is a wiki with some history and many links and tips for learning and troubleshooting Colemak (although some resources are outdated).

Tools

Some tools are also highlighted on the wiki. There are many online and offline typing tools, and often different layouts are supported. This is important, because using a typing tool which teaches you the QWERTY layout will have different exercises than one teaching Colemak. (Think of the home row, the first lesson. QWERTY will use the ‘F’ and ‘J’ keys, but Colemak will use the ‘T’ and ‘N’ keys.)

It is important to have a tool which highlights and punishes errors while typing.

I used keybr which keeps a history of previous practicing, records typing speed and letters which are ‘hard’ (high error rate).

Installation (on Windows)

Windows does not have a native Colemak layout installed. However, the Colemak wiki contains an installer which makes installing it easy. Linux (Debian) and MacOS have the layout installed out of the box.

Once the layout is installed, switch by finding your keyboard settings and selecting the Colemak layout. Often a preview is available of the mapping.

Caps lock

The Colemak layout officially has the Caps Lock key mapped to Backspace. In Windows this can be a problem, so I did not include that mapping in my learning process.

Hardware layout

There are also keyboards which have a hardware mapping of the Colemak layout. This means that the OS will have the ‘normal’ QWERTY layout, but the keyboard will send Colemak keystrokes as if they had been typed on a QWERTY keyboard.

I did not use this option, but it can be useful when pair programming with two keyboards. One person can use QWERTY, the other can use Colemak.

Practicing

Using the tools listed above, I started practicing. I checked for compatibility with my systems (at home, at work, my mobile devices) and workflow. Most of thetime was used on evenings and in weekends to learn more and more keys of the layout. I usually took 20-40 minutes per practice session. Actually, this took more energy than I had thought. This is logical: every keystroke of every practice word takes mental effort of growing muscle memory.

All this time I was using the QWERTY layout in my day-to-day work.

Switch

After practicing for around two months, I switched my mobile phone to a Colemak layout. I knew the basic layout by then, and I only use two fingers when typing mobile, while looking at the keyboard. This worked great. My speed dropped for a few weeks, but otherwise the switch was clean. And now I was practicing extra whenever I was using my phone.

Cold turkey

My grand strategy for making the full switch of all my remaining keyboards was as follows. I had a few weeks of Christmas holiday in which I had to type very little. The perfect moment for activating a new layout and starting to type slowly and painfully. This also made sure that my work did not suffer too much.

In the Christmas holiday I also started doing that year’s Advent of Code puzzles, in a programming language I never used before (Clojure). This was a great match. Luckily, it worked and I met no surprises that made me have to switch back to QWERTY.

Day-to-day work

The second day of January I took up my regular work. This consists of programming, so a lot of typing. Of course, my colleagues knew I had made the switch to Colemak, and I encountered no problems. By forcing myself to use Colemak I quickly came to a basic typing speed which was more than enough to get my work done.

Experiences

After the full switch to the Colemak layout, I noticed some things that were not a problem but needed some attention.

Shortcuts

I use many shortcuts. However, finding them was sometimes difficult. For example, locking my computer uses ‘Super + L’, but the ‘L’ is mapped to the QWERTY ‘U’. The difference between typing and using shortcuts becomes visible: for shortcuts we often look at the keyboard to find a single key. This does not work when the keyboard keys to not match the actual letters when pressed. On the other hand, I now unconsciously remember that locking my computer requires ‘Super + U’ when I am using a Colemak layout.

And to repeat the requirement above: this was not a problem for select all, cut, copy and paste because those keys are in the same location as in the QWERTY layout.

Getting up to speed

It took around two months after the full switch to come up to speed. That is around five months since I started practicing with the Colemak layout. Notice that I don’t quantify ‘up to speed’. As discussed in my list of requirements, I wanted to become around as quick as I was before the switch, while making less mistakes and typing with ten fingers.

I see that typing is ‘quick enough’ for my needs, but also that there is a lot to be learned and practiced. A whole life of training QWERTY cannot be reverted and relearned in another layout, within half a year.

Errors

The most errors I make are usages of the ‘D’ and ‘T’ keys. They are present in many words, and typed by the same finger. That means that muscle memory sometimes swaps them around.

A see the increase of errors especially when typing while thinking hard or explaining something to someone. Hopefully this will improve over time.

Retrospective (looking back)

I am very happy with my new layout. Because of my list of requirements, I could learn the new layout and be reasonably sure that it would work out (compared to learning Dvorak). The effort required for learning the new layout is very reasonable in my opinion.

In my day-to-day work, it can be funny when other people try typing on my keyboard. They want to demonstrate something, try typing it in my console, look at the typed text, backspace it away, try again and then have a beautiful bewildered face. It is nice to see how people expect keyboards to have a certain layout.

The second thing I noticed, is that QWERTY experience disappears very quickly. Whenever I have to type QWERTY (a public computer, or my disk encryption password before my system is booted), it feels as if I first started with Colemak.

Tips

I advise others to switch their layout. The experience alone is worth it, and the benefits of Colemak (or another alternative layout) make the switch worthwhile. When you consider the switch, I found the following points helpful:

  • Practice first, then make cold switch.

    Get to know the layout. First study the layout (it will be impossible to remember) and then start practicing. By slowly learning more and more letters you learn to type correctly. When you know the layout, make the cold turkey switch. This forces you to learn the last part of the muscle memory and become really fluent when typing.

  • Focus on making little errors. Speed will come later.

    If you switch too early, many errors will creep in. They are very hard to unlearn (as I noticed personally when using QWERTY). When using the new layout on a day-to-day basis, speed will come.

  • Switch mobile quickly.

    This helped me a lot when practicing the Colemak layout. Because I was already using the new layout on mobile devices, it became easier to remember the locations of new letters.

Next steps

I notice now that there are more things that I can do to improve my typing experience. The switch to Colemak made me more conscious of my keyboard usage, typing habits and shortcut usage.

For now, I use exactly the same (hardware) keyboards I used before the switch. I am looking for a different keyboard that is ergonomic and supports my Colemak typing. Some properties I want are an ortholinear layout (keys are not staggered horizontally, but rather in a grid) or vertically staggered. Also, a split keyboard would be great, so I can move and tune both parts based on the location of my hands.

Colemak specific requirements are a better programmer layout (I use the QWERTY number and symbol mappings) and mapping the Caps Lock key to the Backspace key (because who ever uses a Caps Lock key?).

I hope that this article explains some of my thinking and may inspire you to make the switch to an alternative keyboard layout!

Postscript

For this article I had to write the word ‘QWERTY’ a lot. While this is easy on a keyboard with a QWERTY layout, it is strange to type on a Colemak layout.

Top comments (3)

Collapse
 
poisonintheink profile image
poisonintheink

I've always been interested in doing something like this though I feel like at 33 I might have missed the boat on changing something so fundamental and unconscious to me as typing.

How do you find it when briefly switching back to QWERTY? (eg. colleagues machines, public devices/kiosks)

Collapse
 
hiddewie profile image
Hidde Wieringa

I think no age is too late to switch. I also had to actively unlearn some QWERTY habits. Although in my case it maybe helped that I could not type perfectly with ten fingers.

Whenever I switch back to QWERTY for a short time it feels like I cannot type. I also have to look at the keys on the keyboard sometimes because the layout feels so strange. So whenever I have to do something productive on someone else's system I switch layouts (which is no problems on MacOS or Linux because Colemak is built-in).

As mentioned in the article, if this happens often than you can consider a hardware Colemak keyboard, because the other person can use the normal QWERTY configuration.

Collapse
 
poisonintheink profile image
poisonintheink

Thanks for your reply. In that case I'll definitely give it a go when work and life quietens.

If I remember I'll report back my results!