Since I released the RSTHD keyboard layout into the wild in 2016, it’s occasionally gotten some interest from the tiny, niche community of keyboard layout designers.

The most common question I get: Do I still use RSTHD? Yes! RSTHD is my preferred keyboard layout on split ortholinear keyboards. I use an Ergodox EZ at work, so effectively this means I use RSTHD almost every day. Subjectively speaking, it’s more comfortable to be than QWERTY and Dvorak. It has a substantial inward roll bias and a phenomenal same finger usage rate, which, although it doesn’t help me type much faster, makes it easier for me to involve my wrist muscles when typing rather than relying primarily on finger strength. On staggered keyboards, I prefer Dvorak because it’s widely supported and I have muscle memory for it. Given that the E key on the thumb is such a crucial feature of RSTHD, I don’t see any significant efficiency gains for this form factor.

A few months back, I pulled up the old simulated annealing program and decided to see if I could further optimize the layout. One of the weaknesses of the original layout generation was that I used a corpus that is not representative of what I actually type, so I downloaded my entire Facebook message history, normalized the messages, and used that as my corpus for this run. I also tweaked some of the weights in the heuristic. This is what I came up with:

- U , C Z   Q G Y H ;
O I A N M   D T S L R B
' / . W V   J P F K X

This new layout does fix one of the most annoying issues of RSTHD, which is that many common words such as “here” and “there” and “ever” require tricky and precise movements to type quickly. However, as a whole it looks remarkably similar overall to RSTHD. The vowel cluster is almost identical, and the main differences are the placements of some of the more lesser used keys. This indicates to me that I have hit the point of diminishing returns for this particular heuristic, so I don’t have any plans to learn this new iteration.

What about the more recent developments in keyboard layouts? Since the publishing of RSTHD, there has been some renewed interest in layouts that put a letter on a thumb key. I don’t follow them very closely. I already made my contribution to the keyboard layout design world, and for me, RSTHD is my end-game layout. But it’s always exciting to check every once in a while and see what new ideas people have come up with and how they’ve come to their various conclusions about what makes the best keyboard layout.

What do I recommend? For most people, QWERTY is still the right choice simply because of its ubiquity. I recognize that not everyone has the luxury of configuring the computers they use, and maintaining muscle memory in multiple keyboard layouts is harder for some people than others.

For people who have gotten jaded with QWERTY and aren’t afraid to try something new, my recommendation is to learn Colemak. It’s supported on virtually every operating system, including as a hardware keyboard layout on iPad, which makes it easy to use everywhere. Plus, the punctuation and ZXCV placement makes it easy to switch from QWERTY compared to Dvorak, the other popular alternate layout.

For people who are really hardcore and aren’t satisfied with Colemak, I honestly think you might be better off creating your own layout. I generated RSTHD using a heuristic that reflects how I type and what movements feel most natural to me, but there’s a large range of possibilities and ideas out there. Past discussions have shown that people can’t agree on what should constitute the “home row” of keys, and some people would rather have keys like Tab or Shift on the thumb rather than leave that space to E. The keyboard layout design community is overflowing with differing opinions, and given the lack of any reliable research in this space, whatever feels best to you is the best for you. There’s no need to settle for someone else’s perfect.

6 thoughts on “RSTHD Today

    1. It’s awesome to see that there is interest on continuing to improve on RSTHD. Unfortunately I can’t release the corpus I used in this new analysis because it is literally my entire Facebook message history. Even releasing frequency statistics for tri-grams and quad-grams would leak quite a bit of personal information. Even if I did release frequency data, the tri-gram and quad-gram frequencies wouldn’t be representative of your typing since you type different names, slang, and abbreviations than I do.

      I believe that any meaningful improvements to RSTHD will involve tailoring the algorithm to the peculiar preferences of each person due to differences in their hand physiology and in how and what they type. For that reason, I recommend downloading your own message history to do your analysis with. If you want a general corpus that can be verified by others, take your pick of books from Project Gutenberg, or try some of the corpora from NLTK Data.

      The original RSTHD layout was generated using CarpalX’s corpus, comprised of a few freely available books from Project Gutenberg:

      1. HI Simon! Thank you for posting the link to the code. I had to make some minor edits to get it working on the latest working of rust (submitted a pr with the changes). I was wondering how the algorithm terminates. I notice that calling run runs an loop that keeps calling simulate. Does the app terminate by itself? Would you be able to briefly explain how it is supposed to be used? Thanks again! Jai

      2. Hi Jai, the program does not terminate – it is meant for you to terminate once you are satisfied with the results. I recommend piping the output to a file and stopping the program once the scores of your best layouts is no longer improving.

  1. the program ran on Linux (wasn’t able to run on Windows) with my own corpus, and to my surprise, many of the keyboard layouts suggested where just a few keys off the original RSTHD layout. which means that even despite differences in our typing habits, the parameters are probably strong enough to suggest a similar layout despite the content of the corpus, just as long as it’s in English

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s