Learning to type Dvorak

Learning to type Dvorak
Photo by Peppy Toad / Unsplash

Earlier this year, and for the first time in my professional life, I experienced pain caused by repetitive stress injury (RSI). An incorrect desk setup or keyboard can have many detrimental effects on your ability to sustain long hours in front of a computer. With RSI not wanting to go away, I was on the market for a new, more ergonomic keyboard that put less stress on my forearms.

As I was traveling shortly after experiencing RSI-related issues, I had time to research and explore different keyboard options. For the last few years, I've been typing away on a pretty standard flat Apple magic wireless keyboard which I've enjoyed. The keyboard is super flat and portable, easy to stow away in a bag and its battery lasts forever. Combined with the magic trackpad, it's been a good travel companion.

Initially, I bought a Ducky One 2 Mini RGB. Not at all an ergonomic upgrade, but I thought it would be enough of a change to relieve me of the pain. After just a few days of typing on it, I could already tell this wasn't working for me. I also struggled to get used to not having arrow keys available and ended up not liking the high keys as much as I thought.

Ducky One 2 Mini RGB


The first computer we owned in 1998 came with a standard German keyboard layout. Once I got into programming, I very quickly converted to the English QWERTY layout as the keys we use as programmers are much more accessible with this layout. That was probably around 2001 or 2002 when I got my own computer in my room.

I never correctly learned touch typing; I was an auto-didact. I mainly use my index, middle, and ring fingers for typing. My thumbs both rest on the space bar, and I'll use them for keyboard shortcuts that include the Option or Command key. With shortcuts that use the Function or Control key, I'll switch to my left little finger, which I also use to press the Shift key. Further up the keyboard, I will use my ring finger to hit Tab or backspace. My right little finger will only hit enter. It's worth mentioning that my right Shift key goes completely unused.

With this weird, self-taught typing style, I manage to hit speeds of 110 WPM with an average somewhere in the low-00s with an accuracy around 98-99%. This seems to place me well above average professional typists.

All that out of the way, I still feel like my typing isn't particularly efficient. My fingers jump all over the keyboard, and I have to make some awkward moves to nail specific keyboard shortcuts.

Dvorak & Touch Typing

This finally brings me to the Kinesis Advantage 2 QD. I've first come across this keyboard in a review by Martin Fowler. After more research and a deep look into my pockets, I decided to give this keyboard a shot. After all, not being able to type because of wrist pain would eventually cost me more than this keyboard.

Kinesis Advantage 2 QD

I was always quite intrigued by weird-looking ergonomic keyboards. Sometimes you'd find them split into two halves, sometimes they're propped up, and then there's the Advantage 2 with its strange hollow body.

Similarly, I always wanted to learn Dvorak. Years ago, I tried to learn it for a few weeks, but it simply never stuck with me. Since I would have to learn to touch type on the Advantage 2, I might as well learn Dvorak with it.

Luckily, Kinesis offers the QD model, which, and you can see this if you look closely enough, comes with the keys labeled for QWERTY and Dvorak. While I never really look down while typing, I figured this would be handy for the first few weeks when learning Dvorak.

Progress has admittedly been slow, and I had to switch back and forth between my new and my old keyboard to stay productive at work. I have been using keybr.com to practice typing Dvorak as it's too difficult for me to remain productive while adjusting to the new keyboard and keyboard layout. Below you can see my current progress after eight hours of practice (plus some additional time I just spent typing away on Slack with the new keyboard).

Typing speed after 8 hours of practicing with Dvorak on the Kinesis Advantage 2

There's visible progress, and I have just added the last remaining letters to the practice set. I'm nowhere near my average typing speed, but I'm also just using the keyboard for about an hour every day so far.

My pain is gone, however, so I'm more than happy to have made the switch. The keyboard takes a few days to get used to. There's a lot of muscle memory to rewire when you've used a regular keyboard for two decades, so I often found myself hitting backspace when I wanted to hit space.

It's fascinating to watch the brain make new connections while I'm not at the keyboard. I'd get frustrated after an hour of practice making more and more mistakes, but coming back the next day and I can immediately type faster, make fewer errors while using new keys.

The keyboard forces you to touch type and the experience so far is that my fingers flow a lot smoother over the keyboard. Without touch typing, it sometimes feels as if my fingers were performing some kind of breakdance.

(Real) Programmer Dvorak

Dvorak is optimized for English text. While my main communication language is English, as a programmer I frequently need special characters. This exact need has brought on several variations of Dvorak called "Programmer Dvorak" and "Real Programmer's Dvorak". Both aim to optimize the position of special characters.

I briefly tried to set up my Advantage 2 to emulate Real Programmer's Dvorak, but I haven't found it difficult to properly remap all keys on the Advantage 2 to make it work. For now, I've decided to stick to regular Dvorak and explore additional remaps once I'm more used to the layout and keyboard.


There are plenty of resources to use for learning to type with a new keyboard layout. The two sites that I can wholeheartedly recommend, are both free and provide generated word sequences (or quotes).

keybr.com stands out as it will start you with a small set of letters and lets you only add more letters once you've reached a certain WPM threshold. Other than that, the only thing required is time and practice.

If you like articles like this one, please consider subscribing to my free newsletter, where at least once a week, I send out my latest work covering Julia, Python, Machine Learning, and other tech.

You can also follow me on Twitter.