The web site of Vas — 2020-11-07

Learning to type on a custom keyboard layout

If you’ve ever hung around the typing community, competitive or otherwise, surely you must have come across memes about Qwerty and how inefficient it is and how it can all be improved by switching to Colemak or Dvorak. Are these legit, or are people falling into mass psychosis like an nVidia cultist eager to spend $1000 more for a 5% performance gain ? I learned how to type at 130 words per minute on a custom keyboard layout — that’s the 99.85th percentile by the way — so that you won’t have to. Behold my anecdote lived experience.

Short bio on typing

I used to type competitively and my fastest when I was exercising regularly was about 140 WPM, putting me above the 99.9th percentile of typists. The average typist writes at 40 WPM. After that I stopped and went into other hobbies. This June I decided to try something new and settled on learning to type on something other than Qwerty.

There are lots of « articles » by journobloggers online (kill all journalists BTW, hashtag yes all journalists) who try new keyboard layouts for a week and barely make it past 30 WPM, which is pathetic and won’t show you the benefits or problems of any keyboard layout. You could write at that speed in any layout, no matter how horrid it is. It is important to aim for expertise at a layout before passing judgement, which I define being able to type at 100 WPM on the most common English words on average.

Will a different layout make me faster ?

No, and if speed is your only concern, close this tab cause you already have your answer.

Out of the top 20 fastest typists competing online, most of them use Qwerty. To the extent you believe myths about Qwerty’s speed, Qwerty is efficient enough not to hinder typing speed at the top level. There’s many reasons it caught on, but the best explanation is comparing it with its predecessor : the alphabetical keyboard layout. The difference between an optimal layout for a given language and Qwerty is about as much as between Qwerty and the alphabetical layout. You can definitely improve things, but the positions of A, E, H, I, R, and U are passable.

It is said that Qwerty’s design had input from telegraphers, who basically typed for a living, so it makes sense that the layout is at least somewhat sensible.

What is the benefit, then ?

You primarily gain comfort. It’s not that you can type faster, but that typing at the high speed you’re used to is easier for longer stretches of time. If you only type in short bursts, this may not interest you. If you type for living, eg being a writer or a programmer, you might be interested, but keep in mind typing speed isn’t the bottleneck here, but thinking speed. For example if you can write 300 words of prose in 15 minutes, I consider you a pretty fast writer, but that only averages to 20 WPM.

Another benefit is that a more ergonomic layout is easier to learn for absolute beginners, so you tend to improve from 30 WPM to 80+ WPM much faster than Qwerty. This is true in my case, as I was able to reach 80 in only three weeks of practice.

What are the downsides ?

You will have to relearn muscle memory and maybe reconfigure shortcuts. The depth of the problem depends on how much muscle memory you already have. If you’re an average user and rarely ever use shortcuts, that’s a nonissue. If you live on the keyboard, like I do, this is more annoying, but you get over it relatively soon. Notably, if you love vi keybindings, none of that will work and you will have to change them all. Nobody will be able to use your computer. You will only be super productive while sitting on your personal computer, so if you only use computers communally, like in a library, maybe don’t try this.

What does it feel like ?

Basically it feels more « fluid » when you type very fast, because your finger movements are mostly focused on the easy-to-reach keys. Typing at the same speed on Qwerty feels like your fingers are jumping around all over the place because sometimes the common combinations are far apart. That’s beneficial for a smartphone but you probably don’t want that on a desktop.

What is the best keyboard layout ?

There is no best keyboard layout, because it depends on personal preference and the language you’re typing in. Different languages have different letter frequencies and letter combination frequencies and phonotactics, therefore what works well in one layout may not in another. I type in Japanese, English, and Greek, out of which English is my best, but as a multilingual person I am acutely aware of the challenges of making a keyboard layout friendly to multiple languages.

Most of the layouts you will see online are optimised for English typing, and that is fine if you primarily type in English. However, if your main typing language is something else, you may want to exercise some caution and modify or create a keyboard layout to suit your needs. Which brings us to…

How to design a keyboard layout ?

The primary tool is the keyboard layout analyser. First, you need to find the text you’ll be analysing with. A list with the most common words will do. Real text is even better. Real text that you have written is best.

Through « Configuration » you can edit a keyboard layout. You can compare five at a time. Pick five and check their scores. Record the scores and pick another five, until you have gone through all of them. Scores over 65 are awesome ; anything over 70 is holy shit. If nothing is good enough, you’re probably using a language nobody has optimised for, so you need to make changes or design a new layout.

The basic principle is the most frequent letters should be on the eight home row keys, where your fingers rest. The keys above your middle fingers are next. Then those next to your index fingers. Common letter combinations shouldn’t use the same fingers. One hand’s fingers should be used about as often as the other’s.

How to use a custom keyboard layout ?

Use Microsoft’s Keyboard Layout Editor on Windows, and create an xkb keymap on Linux. Some keyboards are programmable, so you can also change them on the firmware level.

What keyboard layout do you use ?

I started with the Vu keys layout and modified it to work better with Japanese.

N and R are swapped on the home row : N is very frequent in Japanese and benefits from not being on the pinky. I moved K to the left hand side because K is also very common in Japanese and due to its phonotactics it’s a bad idea having it on the right hand along with all the vowels. It’s on a pinky but that was best position I was willing to sacrifice. Here’s my xcb layout file.

How do you learn a new layout ?

Place your hands in the right position and use monkeytype and keybr. I suggest starting with keybr and changing between the two as you see fit. Keybr is good for teaching you the basic layout, while you can practice more on real text and words on monkeytype.

The first week is the hardest, as that’s when you will make your most mistakes. After that, it will get much easier. Progress is not linear and you can have days where you regress in speed and others where you jump 10 WPM or more. If you practice every day for 30 minutes you are guaranteed to improve fast.

I recommend switching to your layout full time once you can reach 40 to 50 WPM on the most common words comfortably. This way it won’t be as annoying to use in a real life scenario, and even at that speed you will at least be average so few people will complain. The first week after going full time you will improve a lot. More practice means faster improvement, but if you are planning to practice for hours, take a 10 minute break every 20 minutes ; this way your practice sessions will be much more effective.

Improvement is very fast, although it may not seem like it because it is spread out over weeks. It took me about half a year to reach 130 WPM, but that was because I wasn’t always faithful to my practice when I started, and also because I did major revisions to my keyboard layout : initially I started with Workman, then I switched to Vu keys, then I made changes to Vu keys to match my needs. All of these more or less reset my progress, so in sum I must have lost 1 to 2 months of total progress because of that.

As is obvious, it is best that you iron out all the kinks in your layout as early as you possibly can, in the design phase, so that you don’t have to relearn muscle memory later on. Unfortunately some problems are only evident with use. Even now I am not entirely satisfied with my layout and think of ways to improve it, but those changes are very incremental and not worth my time.

Should I do it ?

The answer really depends on your situation. If you don’t use a computer a lot, I would say don’t bother. If you do, and care about typing comfort, you should consider it. If you are a beginner and want to learn how to type very fast, using a more efficient keyboard layout will likely make you faster sooner, even though your ultimate speed given enough time might be the same. I believe a great layout is 50% to 100% faster to master than Qwerty.

As for which layouts to try : Colemak performs very well in most situations. If you use Japanese — or other languages that use K a lot — then TypeHack is almost mathematically optimal. Vu keys is likely the best for real English text, but it’s awful at Japanese — barely better than Qwerty — is if you care about Japanese I strongly urge you to use my mod.

What if I don’t want to switch from Qwerty ?

There are ways to make Qwerty better without changes in the layout. Consider an ortholinear keyboard, which will improve efficiency considerably with only a week or so of adaptation time. You can also optimise your technique so that you use as many fingers as possible. You should also make sure you don’t overuse your left or right hand ; Qwerty is naturally left-favoured in English and right-favoured in Japanese, but you can help yourself by typing the right keys with the right fingers.