Dvorak, and why I regret switching to it
I thought learning Dvorak was a good idea. It wasn't.
Mon Apr 21 2025 23:45:00 GMT+0000 (Coordinated Universal Time)
Thu Apr 24 2025 02:02:16 GMT+0000 (Coordinated Universal Time)
You might look at this picture and think, why the heck are the keys all over the place? Well, that’s how my keyboard is set up.
It’s called the Dvorak keyboard layout. Why did I switch to it, instead of using QWERTY like a normal person?
I switched to Dvorak in 2015. No, I didn’t switch because I thought it’d make me type faster or more comfortably. I just wanted to learn to touch type properly.
Sure, I could type without looking, thanks to years of playing Minecraft online. I was averaging around 70WPM, which isn’t bad, but I wasn’t using all ten fingers. My hands would just kind of dance all over the keys, and I’d usually hit the spacebar with my index finger. So rather than trying to unlearn all these bad habits on QWERTY, I decided to start fresh with a new layout.
The two most popular options at the time were Dvorak and Colemak. I chose Dvorak, simply because Windows didn’t officially support Colemak and I didn’t want to download anything just to change my keymap. So I enabled Dvorak, opened learn.dvorak.nl and started typing.
It was a bit of a struggle, but after around a month, I was able to reach my old speed on QWERTY. And now, 10 years later, I can touch type at twice that speed on Dvorak. So why do I regret switching?
Let’s start with the good stuff.
Comfort. That’s actually the main reason why people use alternate layouts. I’ve never had a problem with QWERTY prior to switching, but Dvorak really does feel more comfortable. The layout makes typing some common bigrams like th
really smooth. The most frequently used keys are on the home row, and I like how the punctuation keys are above, rather than below the home row.
Also it feels kind of cool to tell other programmers that you use Dvorak. Most people don’t really care though.
Here come the bad parts.
The keyboard shortcuts. They’re bad. The keyboard shortcuts for most things are (understandably) designed for QWERTY. I have to use both hands for cut, copy, paste and undo. It’s annoying enough that I actually have a keyboard shortcut to toggle QWERTY just to perform those actions.
For most games and applications, I just switch to QWERTY before launching to avoid any potential problems with them getting confused by the nonstandard keyboard layout.
Using (neo)vim on Dvorak is not too bad, actually. Even though hjkl
are no longer together, j
/k
are grouped on the left hand side, and h
/l
are grouped on the right hand side. j
/k
are still next to each other, and h
is located to the left of l
, so their positions still make sense. In Colemak, for example, j
is located above k
, which is arguably much worse.
It might just be me, but I don’t know where the keys are. Since Dvorak keycaps aren’t exactly readily available, I learned it on a regular QWERTY keyboard. So while I know how my fingers must move to press the keys I want, I don’t actually know their locations. For example, if I wanted to press R
, I’d place my right hand on the home row and move my ring finger, but I couldn’t tell you where R
is on the keyboard. It isn’t a huge issue, but sometimes it makes it hard for me to use shortcuts.
And even though Dvorak is more comfortable for most things, typing stuff like ls -l
is a pain.
But here’s the worst thing. After using Dvorak exclusively for a decade, I became completely inept at typing on QWERTY. I resort to doing hunt-and-peck whenever I use someone else’s computer. Some people solve this problem by using QWERTY alongside Dvorak, but with my keyboard-heavy workflow, I find it really hard to switch between the two layouts without confusing myself.
Probably not. It would take too much work to reconfigure my settings and to relearn the muscle memory that I’ve developed over the years.
What I am thinking about doing, is relearning QWERTY to an acceptable level, so I can use others’ computers without looking like a total idiot. But Dvorak will remain as my primary layout.