← More about keyboards

Overview

This post is about switching from QWERTY to an alternative keyboard layout. Why and how do people switch? Which alt layout is best—Dvorak, Colemak, …?

Why do people want to use alt layouts?

The main motivation for alt layouts is better typing comfort. Alternatives to QWERTY dramatically reduce awkward typing motions such as same-finger bigrams (SFBs), reduce how much your fingers need to move (finger travel) to accomplish the same typing, and balance the typing workload over the fingers more evenly.

QWERTY was designed by Christopher Sholes in the early 1870s for the Sholes and Glidden mechanical typewriter. It’s often said QWERTY was designed to avoid the typebars from jamming, though it’s debatable whether that’s historically accurate.

1930s Remington portable typewriter with QWERTY layout. Photo by Mariochs, distributed under a CC BY-SA 4.0 International license.

What is obvious though is that QWERTY has a lot of SFBs, like ed, un, rt, ol, much more than any popular alt layout. Think about typing “unfree” or “hurt.” Those same-finger movements are slow and awkward to type.

To be fair, QWERTY was basically the first successful layout, a pioneering solution to a tough problem. It shouldn’t be surprising that its metrics are far from optimal. At the time it was created, the activity of typing itself was also new.

Should I use an alt layout?

It’s your choice. You don’t have to learn an alt layout.

Switching to an alt layout takes a lot of effort (at least a couple months of daily practice), and the benefits are not huge. I don’t mean to be discouraging, just raising some counterpoints:

So why do it? For me, switching to an alt layout is a long-term investment in my health and comfort. I will type a lot in my life (I work as a software engineer), so spending several months learning a new layout is a fair price.

Which alt keyboard layout should I learn?

There is no consensus on what is the “best” layout. No layout is perfect. Layout design is a balancing act of many competing objectives.

I highly recommend reading the Keyboard layouts doc. It lists numerous alternative layouts along with metrics for easy comparison along with analysis and suggestions on how to choose a layout. Summary metrics from the doc for a few notable layouts (lower is better for SFBs, LSBs, and redirects; higher is better for rolls):

Layout SFBs LSBs Redirects Rolls
QWERTY (1873) 6.578% 5.51% 15.04% 38.94%
Dvorak (1936) 2.570% 1.00% 2.66% 41.25%
Colemak (2006) 1.645% 2.84% 10.39% 49.41%
Workman (2010) 3.138% 1.40% 9.65% 46.72%
MTGAP (2010) 1.202% 0.70% 4.83% 47.69%
Colemak DH (2014) 1.645% 1.66% 10.39% 49.41%
ISRT (2021) 0.800% 1.81% 8.23% 52.99%
APTv3 (2021) 1.348% 0.40% 5.69% 50.42%
Semimak JQ (2021) 1.107% 1.92% 1.13% 47.33%

Colemak mod-DH is quite popular in the custom keyboard community. A fair number of folks use Dvorak, myself included (What’s great about Dvorak?). Semimak JQ and APTv3 seem to be recent favorites. There are many choices out there besides these.

How long does it take to learn an alt layout?

Realistically, expect it to take at least a couple months of daily typing practice. Switching to a new layout is a large undertaking. It took me a few months to get to 50 wpm on Dvorak and about a year to get back to my former QWERTY speed of 80 wpm. Other people have reported similar order-of-months experience to learn a new layout. It’s worth it for the comfort, but be patient and approach it as a long project.

The first couple weeks are the hardest since your typing will be frustratingly slow. Some people believe in switching to using the new layout alone “cold turkey” as the best way to learn. You can do that, but I don’t think it’s necessary. In the first couple weeks, I’ve found decent progress doing 30 minutes of practice a day on the new layout, then switching back to my familiar layout for the rest of the day. Then once getting to a usable 30 wpm or so, switching the new layout full time is more bearable.

Some advice, speaking from experience about my mistakes:

For typing practice, MonkeyType is excellent. See the “Typing practice” section of the Keyboard layouts doc for tips on how to use it effectively for learning a new layout. Some other good typing practice sites are keybr.com and Ngram Type. There are many other great typing websites out there. To make practice more fun, I suggest trying several websites and revolving through the ones you like.

What about keycap labels?

You would think that to avoid confusion, changing to an alternative layout means you also need to rearrange or relabel your keycaps to agree with the layout. Fortunately, this turns out to be a non-issue in practice. Surely, you plan to touch type on the new layout? (You should!) With proper touch typing, you will never look at the keys, and keycap labels don’t matter.

While touch typing is the goal, there is still the problem of knowing where the keys are when getting started. Here is a strategy that works for me. Write down the new layout on paper. Write it again and again until you can reproduce it correctly from memory. For later reference, write the layout on a slip of paper and put it below your monitor. After a couple weeks of typing practice, you won’t need the paper slip anymore.

What’s great about Dvorak?

The Dvorak layout puts all the vowels on the left hand, encouraging regular hand alternation around every syllable. It arranges a fair number of common bigrams as 2-key inward rolls (non-exhaustive list: th, nd, sh, ch, ng, wh, qu). This alternation and short roll design makes typing in Dvorak fast and comfortable.

The Dvorak layout, with a few bigram rolls annotated.

Besides this, what’s distinctly good about Dvorak is how it works with Vim default keybindings, with J and K comfortably under left middle and index fingers. Most other alt layouts push these keys out to awkward corners of the keyboard.

You might say this shouldn’t matter, since Vim allows remapping keys to any position regardless of layout. This is plausible, but the downside is that if I map J to, say, the N key, then I also need to map N somewhere else or lose that function. Furthermore, besides Vim itself, there are many other programs and websites with Vim-inspired keybindings, and they don’t necessarily support remapping.

The reason J and K are bad in most alt layouts is because layouts are most often optimized on metrics over a corpus of English text. But what is written is not quite the same as what keys were typed. Therefore, most layouts overlook hotkeys and Vim normal mode commands. To make the point, here is a keylog snippet of me using Vim:

jwkkwwwrowwwcwopen line  wjjkkbbbbbri wwwvwwhcinsert  wjjkkbbbbrawwwceappend
wjjkjjBesides Vim itself, there are numerous othermany othother progrmas
thaams that emulate Vim keybindings, especially `j` and `k`. jjkkA
kwbbbvwwwbhhcwith some A-inspired jT AThe ability to remap keys in these
other programshese other programs don't necessarily support mapping keys.
And even if they could, it's a nuisance to define nonstandard configurations
like this for every program kbbbbwcwfor those that do wvwwhxhxoand maintain
Jwwwb for them. kwwwwwwwihave to JwbwvwwwhbhxwwbkwwvwcE kkko w jj p

A sizable portion of my keystrokes are commands rather than written text, with navigation keys j, k, w, b appearing especially often. Of course, this increases the frequencies for these letters compared to normal English. In English, they rank among the least frequent letters: W is 18th, B is 20th, K is 22nd, and J is 24th.

Some other good features about Dvorak:

I’m aware Dvorak has flaws. It’s pinky placement of L is a fair complaint. I’ve made several stints of trying other layouts: RSTHD, BEAKL 15, ISRT, and took a couple shots at designing my own layout using xsznix’s keygen. But for various reasons, after a few weeks, kept coming back to Dvorak. Long story short, no layout is perfect. I tolerate Dvorak’s shortcomings and appreciate how much it gets right.

← More about keyboards