Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dustypomerleau/29f5311089767cfbe5915c5743035710 to your computer and use it in GitHub Desktop.
Save dustypomerleau/29f5311089767cfbe5915c5743035710 to your computer and use it in GitHub Desktop.

An introduction to alternative keyboard layouts

This is a post to satisfy your curiosity about alternative keyboard layouts, why some people use them, and whether they're for you. It is intended to discuss the topic in broad terms, but I will share my personal preferences towards the end. Due to time constraints and my own limited knowledge, I will focus on layouts optimized for the English language (ANSI variants, with an occasional nod to ISO).

First off, it's important to understand how much debate there is about how we got here: I will not even attempt to settle the issue of who invented the 'first' typewriter layout, because the modern device had many predecessors going back centuries. The usual legend of typewriter evolution holds that American Christopher Latham Sholes debuted the typewriter in 1868 with a 2-row layout that was (nearly) alphabetical. A horizontal stagger between the rows made room for the lever arms attached to each key:


 3 5 7 9 N O P Q R S T U V W X Y Z
2 4 6 8 . A B C D E F G H I J K L M

(initially, 1 and 0 were not given dedicated keys, because it was felt that I and O could be substituted). The classical legend holds that this layout was problematic because early typewriters were prone to jamming when letters with neighboring typebars were pressed in rapid succession. Over the course of the next decade, typewriter manufacturers (Sholes & Glidden, Remington) made improvements to prevent this from happening. They experimented with moving common bigrams (2-letter sequences) apart and increasing hand alternation. They also migrated toward a more compact layout with 4 rows. The eventual result of this was the modern QWERTY layout:


1 2 3 4 5 6 7 8 9 0 - =
 Q W E R T Y U I O P [ ]
  A S D F G H J K L ; '
   Z X C V B N M , . /

The problem with the classical legend of keyboard evolution is that it is not very well documented. In addition, there is a tendency for advocates of alternative layouts to layer moral judgement on top of the little information we have, suggesting that QWERTY was specifically designed to make typing difficult, or that it was designed to be proprietary, so that typists would be forced to buy Remington products and take Remington typing courses.

In 2011, Koichi Yasuoka and Motoko Yasuoka—a pair of researchers at Kyoto University—published new research suggesting that the QWERTY layout was actually a response to feedback from Sholes' earliest customers, who wanted to use the device to transcribe American Morse Code. The researchers propose that American Morse Code's inherent ambiguity made it easy to confuse certain letter combinations during rapid transmission (for example, Z and SE). Putting these characters close together made it easier for the transcriptionist to quickly change their mind about what to enter. They argue that the letter placement would never have evolved into modern QWERTY if the goal was to reduce jamming by separating common bigrams. For example, the bigram-separation theory would not explain why E and R (a very common English bigram) are very close together on the Sholes & Glidden typebar basket.

What we can agree on is this: By the end of the 19th century, QWERTY was an established standard on commercially available typewriters. It was subsequently adopted by computer manufacturers and continues to this day. Many other vestigial aspects of the typewriter also carried over into computer design. One that has always interested me is the decision to vary the horizontal stagger distance between the rows. For example, the row above home row is offset from it by 0.25 units, but the row below home row is offset by 0.5 units. Looking at historical images of typewriters, it appears that this was necessary to make room for the lever arms of the number row, which lay between the arms of the home row and the row below it. If you think keeping this historical artifact on modern keyboards is silly, you're not alone.

Vintage Remington

So here we are, on a layout that—no matter how you look at it—was not designed for the modern computer typist. Should we try to fix it? What would be some possible advantages? Here is a partial list:

  • typing speed
  • avoiding repetitive strain (RSI)
  • ergonomics
  • typing comfort and enjoyment
  • efficient processes feel better than inefficient ones, even when the end result is the same—they improve our emotional well-being and quality of life

When others ask me if they should consider alternative layouts, typing speed is the most common topic: Will switching make me faster? The answer is, it might, but probably not by much. If you speak to long-time users of alternative layouts, most of them will not list typing speed as the reason they stuck with it. In most cases, they will tell you that their ultimate typing speed was as fast or faster than their QWERTY speed, but this will be followed by a long list of qualifying statements. For example, when people switch layouts, they sometimes switch from a home-brewed typing technique to proper touch-typing for the first time. This can sometimes provide gains in speed and efficiency that are layout-agnostic. In addition, people who are learning new layouts often make use of tools to learn the layout, which means that they are practicing the act of typing quite a lot. That practice alone can increase speed. And of course, the biggest caveat of all: Those speed gains occurred after a long period of transition, during which their typing speed dropped dramatically. When it comes to typing speed, switching layouts is a delayed gratification long game, and most people who are motivated exclusively by promises of faster typing are unlikely to survive the transition.

Will typing on an alternative layout mitigate or prevent RSI? This is probably the hardest question to answer, because this topic is a minefield of confounding variables. Anecdotally, there are many typists with RSI who report that their symptoms improved after switching layouts. Having said that, I am not personally convinced that the keyboard layout is the largest contributor to RSI. For example, many computer users with RSI are in professions that require nearly constant use of the mouse (picture the click-and-drag lifestyle of a graphic designer). Switching mouse hands, or switching to a different type of mouse/trackball/trackpad can have a huge effect on RSI, without making any changes to the keyboard. Dvorak enthusiast Xah Lee is fond of pointing out that one-handed keycuts—particularly control + ZXCV on Windows—can induce or aggravate RSI. If true, this would be important, because many alternative layouts are specifically designed to preserve such keycuts.

When we enter the arena of ergonomics, typing comfort, and typing enjoyment, we are getting closer to the heart of the matter. Most alternative layout users are influenced by one or more of these factors. When we begin to discuss ergonomics, we are forced to deal with the elephant in the room: hardware. Modifying the letter assignments of keys on the keyboard is only one aspect of ergonomics. Should we keep horizontal row stagger? Standard row stagger keyboards provide a nice angle for the right hand, with the keys assigned to each finger having a negative slope from left to right. Some people like this, because they feel it allows them to keep the wrist straighter when the elbows are apart and the hands are close together. But in the left hand, standard row stagger is in the wrong direction! Using classical touch-typing finger assignments, the negative slope of each column forces an even greater angle in the left wrist, particularly when reaching for bottom row keys. We are so accustomed to this asymmetry that we barely think about it, but it makes no sense. Some ergonomic keyboard designs, like the Katana60, address this issue by sloping left and right-hand keys symmetrically:

Katana60

Many ergonomic keyboard enthusiasts feel that row stagger should be eliminated completely, and that the fingers naturally track in a vertical column. Columnar layouts can be matrix AKA ortholinear, like the Planck:

Planck

or columnar stagger AKA curvilinear (using vertical column stagger to account for the length of the fingers), like the Atreus:

Atreus

Split keyboards allow for further adjustments to improve wrist angle and comfort, such as separating the halves, rotation, or tenting. The Ergodox is one example:

Ergodox EZ

Some ergonomic keyboards are also mechanical keyboards, giving them ergonomic characteristics that are features of the mechanical switches themselves (long key travel, customizable actuation force, tactile force curve, etc.). Making a key easier or more comfortable to press—or changing the tactile feedback from the key—can improve your typing experience dramatically, even when all other variables are held constant.

And of course there are other aspects of ergonomic computer use (your desk, your monitor, your work/rest intervals, etc.).

So we've established that there are many variables you could alter to improve your typing experience without switching layouts. But don't underestimate how dramatically the right layout can improve your life—it's simply a matter of seeing it within this larger context.

So what would make a keyboard layout more comfortable/pleasurable/ergonomic? Here is a partial list:

  • high-frequency letters are located in home row
  • reduced overall finger travel
  • emphasis on strong fingers
  • balanced use of both hands
  • optimized for common bigrams and trigrams in your preferred language
  • avoidance of same-finger bigrams
  • optimized for human anatomy (inward rolls preferred, strategic hand alternation, avoid awkward reach sequences)
  • optimized for the way you use computers (easy access to symbols, backspace, modifier keys, etc.)

There are myriad online takedowns of QWERTY, so I will not repeat that process here. The summary is that QWERTY scores poorly on these metrics. So what scores better? The first and most famous alternative is Dvorak. August Dvorak and William Dealey patented an alternative layout to QWERTY in 1936. It was designed to place commonly used letters on home row, reduce finger travel, and emphasize hand alternation by putting common consonants in one hand and common vowels in the other:


! 7 5 3 1 9 0 2 4 6 8 =
 ' , . P Y F G C R L /
  A O E U I D H T N S -
   ; Q J K X B M W V Z

Dvorak's original number order did not catch on, and was quickly replaced by the Dvorak Simplified Keyboard:


1 2 3 4 5 6 7 8 9 0 [ ]
 ' , . P Y F G C R L / =
  A O E U I D H T N S -
   ; Q J K X B M W V Z

Dvorak achieved its objectives, and represents a marked improvement over QWERTY on most metrics. It also spawned a number of offshoots, such as Programmer Dvorak, which relocates some symbols and pays homage to Dvorak's original number order. But Dvorak was developed at a time when computerized layout analysis was not an option. Dvorak did an excellent job for his era, and Dvorak is an excellent layout. I used Dvorak exclusively for 8 years, and my experience was positive. The major advantage of Dvorak is that it is available out-of-the-box on most modern operating systems. If you want the comfort of knowing that you can always switch to your layout without providing your own software or hardware solution, Dvorak is the best option.

But times have changed, and it is now possible to design software analyzers that will pass massive volumes of sample text through a proposed layout, giving extensive head-to-head statistics on the various quantitative metrics we discussed earlier. Dvorak still has many devotees, but most layout enthusiasts now agree that it is possible to improve upon Dvorak. What is not universally agreed upon, is how the layout analyzer should be designed, and what metrics should be given the greatest weight. The result of this is that there has been an explosion in the number of layouts, with many of them claiming to be the best. The layout designer and the person who coded the analyzer are, more often than not, the same person or group. So before we get into some of the other available layouts, understand that the best layout to use is the one that feels the best to you, and that quantitative stats boasting superlatives about a layout should be met with dispassionate and cautious analysis.

Hand alternation is wonderful, but it turns out that it isn't always the most efficient way to type. Sometimes, a delicious inward roll on the same hand can be both rapid and comfortable. Shai Coleman recognized this, and developed a layout based primarily on the following principles:

  • to ease transition, start with QWERTY, and change only problematic letters
  • favor inward rolls
  • keep ZXCV keycuts intact

The resulting layout, known as Colemak, debuted in 2006, boasting only a 17-letter difference from QWERTY:


1 2 3 4 5 6 7 8 9 0 - =
 Q W F P G J L U Y ; [ ]
  A R S T D H N E I O '
   Z X C V B K M , . /

In addition to the letter mask shown, Shai also recommended mapping backspace to the key normally used for caps lock. The layout has proved popular and continues to grow in usage. To understand the value of inward rolls, look at the Colemak layout and consider what it might feel like to type SENTENCE, FRIEND, or FIRST. Critics of Colemak usually point to one of the following issues:

  • SC and UE same-finger bigrams
  • excessive horizontal motion
  • too many concessions to QWERTY purely for the sake of keycuts and familiarity

The topic of horizontal motion deserves a bit of attention. HE is the second most common English bigram, and THE is the most common English word. In Colemak, typing HE requires a right-handed horizontal motion to the left, and then back to the right. This motion involves adjacent fingers, so there is a slight stretch involved, particularly for those with smaller hands who attempt to type rapidly. A similar type of motion is seen for common bigrams involving D in the left hand (AD, RD, DS). While some typists appear completely unaffected by this movement, others find it very unpleasant. There have been a number of attempts to improve upon this aspect of Colemak, and the 2 most prominent layouts in this space are Colemak DH and Workman.

Colemak DH attempts to preserve all of Colemak's benefits (low same-finger bigrams, reduced finger travel compared to Dvorak, pleasant inward rolls) while correcting the issues caused by D and H. It begins with the premise that downward movement of the 2nd (index) and 3rd (middle) fingers is a relatively comfortable and low-cost movement. It relocates D and H to the bottom row, making the claim that their new positions are nearly as good as home row. The benefits of Vanilla Colemak are not lost in Colemak DH, because letters have moved position, but their finger assignments remain the same:


1 2 3 4 5 6 7 8 9 0 - =
 Q W F P B J L U Y ; [ ]
  A R S T G K N E I O '
   Z X C D V M H , . /

The Colemak community members who developed Colemak DH, known affectionately and semi-anonymously as SteveP and DreymaR, also suggest using keyboards with ISO layouts. The extra key in the bottom row of alphas allows shifting the bottom row to the left. Why would you want to do that? The 2 primary reasons are to improve the angle of the left wrist on a standard row staggered board, and to give V a better position on the board by moving it closer to the left index finger:


1 2 3 4 5 6 7 8 9 0 - =
 Q W F P B J L U Y ; [ ]
  A R S T G K N E I O '
 Z X C D V \ M H , . /

This modification, known as the Angle Mod, has any number of variants, and the key position occupied here by \ can be almost anything you like. Colemak DH users with columnar keyboards often exchange the K and M, in a version known as Colemak DHm. If you want to read more about the many Colemak mods, here are a couple of links:

Colemak DH

DreymaR's Big Bag of Keyboard Tricks

Workman, designed by OJ Bucao in 2010, takes a completely different approach to the potential DH issue of Vanilla Colemak. It avoids the center columns whenever possible, and prefers using the upper and lower rows on fingers 3 and 4:


1 2 3 4 5 6 7 8 9 0 - =
 Q D R W B J F U P ; [ ]
  A S H T G Y N E O I '
   Z X M C V K L , . /

The main critique of Workman is that it dramatically increases same-finger bigrams in its zeal to avoid the center columns (DS, RM, OP, etc.). You can read more about Workman here:

Workman layout

Compared to QWERTY, all of these layouts are rare, but they are relatively common within the alternative layout community. If you are willing to explore layouts with very few users, there are myriad options. Here are just a few (some are layout families with many variants):

  • AdNW (German)
  • Arensito
  • Asset
  • BEAKL
  • BÉPO (French)
  • BvoFRak (French)
  • Capewell
  • CarpalX
  • Maltron
  • MTGAP
  • Neo
  • Norman

So let's say you decide to switch to an alternative layout, how should you do that? First of all, don't be afraid. Here are the usual fears:

  • fear of losing QWERTY
  • fear of losing productivity due to slow typing
  • fear of not having access to your layout at important moments
  • fear of ridicule

I've heard these fears and 100 more. But there is nothing to be afraid of. Let's just deal with the main fears I've listed. A lot of people, even after enumerating the countless ways that QWERTY is inferior, will go on to say that they are afraid of losing it. They will then expend a lot of energy discussing this with members of the layout community. They want tips on how to maintain QWERTY while learning another layout; they want some sort of guarantee that learning a new layout won't mess up their QWERTY. Let me just be clear: learning a new layout will definitely mess up your QWERTY, and that is absolutely fine. Some people attempt to keep QWERTY going at work and learn an alternative in the evenings. They often do get to the point where they can use both, but personally I think this is a mistake. The amount of time it takes to learn a new layout is an order of magnitude larger for those that cling to QWERTY. In addition, I think maintaining 2 layouts will ultimately limit your typing speed and comfort. It is absolutely possible to maintain multiple layouts, but those who draw parallels with knowing multiple languages are relying on a false equivalence. Understand that typing is a neurologically low-level activity. Anything that involves higher cognitive function in a 'muscle memory' task will reduce speed and increase tension. So yes, clinging to QWERTY during the transition is possible, but if you don't eventually jettison it, you will be limited in what you can achieve. Part of your brain will be dedicated to the task of ensuring that you don't slip into a different layout, rather than focused on the task at hand.

If in fact you really decide your new layout is not for you, then regaining QWERTY will be a breeze. I speak from experience, as I returned to QWERTY cold-turkey after 8 years of Dvorak-only typing. It was not difficult. Keep in mind that 1. you already know it, and 2. it's written on every keyboard. All of the learning techniques I discuss below could be applied to re-learning QWERTY if needed.

The fear of losing productivity is a legitimate one, and deserves some attention. If your job requires you to type extensively, you may feel you can barely do your job without a certain minimum speed. That is both true and false. Most people can survive their workday at a certain threshold speed somewhere between 30–40 words per minute (WPM). If you are a 130 WPM QWERTY typist you might be laughing right now, but take a look around you: most of your coworkers cannot type 130 WPM. Many people cannot touch-type at all. You can definitely make it through one challenging week in order to improve the rest of your life. Some people choose to make gradual modifications as a way of maintaining speed. In the Colemak community, there is an approach called Tarmak, where you change only 3–4 letters at a time, progressing only after you have regained proficiency. This is not a bad approach, but the majority of successful switchers are in the cold-turkey club (myself included, 3 times). The way this works is that you find a period of several consecutive days where you can minimize commitments and you aren't at work. This could be vacation time, a long weekend holiday, the grandparents are in town to watch the kids, you name it. You go after the layout in as full-time a manner as possible, and you try to hit 30 WPM. Many people can do this in just a couple days of dedicated practice. You then take your 30 WPM to work and grit your teeth through one tough week. After that, you relax, use the layout full-time, and the speed comes naturally. That's it.

So how do you get your 30 WPM? This is where I inject some strong personal preferences. It's important to understand that mistakes build muscle memory just as well as correct keystrokes, so the most important thing is to minimize mistakes. The way you do this is to start by memorizing the layout. Don't use an image on your desktop, don't tape it next to your monitor, memorize it. Don't do any typing in your layout until you can draw every key on a blank piece of paper. Then take your newfound knowledge to the typing tutor of your choice. In this early phase, I like keybr, which pulls the letters out of their usual context as a (highly effective) learning tool. Make up your mind that you are not going to strike a key until you're certain it's correct. That might mean waiting 5–10 seconds sometimes—it doesn't matter. Just reference your mental version of the layout and be sure before you press. In a matter of hours, those 10-second intervals will be 1-second intervals. It's possible to reach 15 WPM or more in a single day if you have the time. In any event, don't be discouraged. It will come. And for the love of Pete, don't freak out and run back to QWERTY when you realize you're messing it up. Everything is going to be fine.

Somewhere around 40 WPM I think it's good to switch to a quote-based tutor that includes full sentences with capitals and punctuation. I like KeyHero for this. Always create accounts on these websites—you will need the feedback of seeing yourself improve. Be strict about your accuracy and trust that the speed will follow. This is your best opportunity to ingrain good habits, so that you don't later end up typing 100 WPM but hammering backspace half the time.

Fear of not having access to your layout can be very intense. In fact, this is one of the most-cited impediments to switching. First, I need to explain how you are going to have access to your layout at all. We are assuming you are not using Dvorak, because that is available by default. The majority of alternative layout users have a software solution that remaps their keys. I can't possibly get into all of the possibilities, so I will just discuss the best options. Microsoft has a tool called Microsoft Keyboard Layout Creator. It 'works,' but it's terrible. Let's move on. The best way to create layouts on Windows is to use AutoHotkey (AHK). If you work in environments where you are not given admin privileges to install AutoHotkey, you can use Portable Keyboard Layout (PKL). In essence, PKL is a pre-compiled AutoHotkey script that you can run without admin privileges. If you are switching to a common alternative layout, there is a very good chance that there are AHK and PKL layouts already configured for you. On macOS, you can either learn to edit the .keylayout files (inside your .bundle files) directly, or you can use a remapping tool like Karabiner. Ukelele is an option, but is not always compatible with the latest macOS. The community is here to help with any of these tools, and can give you options that don't require any programming on your part. I recommend littering your life with PKL, to help alleviate the fear that you will be without your layout. Zip a copy and attach it to an email, keep it on your cloud storage, carry a USB drive on your keychain, anything that helps you sleep at night :)

The downside of software solutions is that they need to be deployed on every machine you use. An alternative approach would be to bring a small programmable keyboard with you. The most well known firmware for programmable keyboards is QMK, and there are a huge number of keyboards that run it. The advantage of this approach is that your keyboard 'just works,' no matter which computer you plug it into. It also means that you get to type on a very nice keyboard all the time, and that there is virtually no limit to the customization you can employ.

I won't spend a lot of time on the fear of ridicule. People will not understand, and that's OK. It is true that you are not going to get a lot of sympathy from coworkers if you are struggling to keep up because of a voluntary decision to eschew the default. My only advice is this: don't evangelize. This is a personal decision and you're doing it for yourself. It's fine for others to know about it, but if they ask you why, just say 'I find it more comfortable,' and leave it at that. If you inspire someone and they become really interested, they will be the one chasing you for more info.

I'll wrap up by sharing some of my current preferences. I have experimented with many of the layouts I listed, but my current layout is Colemak DHm. I enjoyed my time on Dvorak, but I think Colemak DH scores higher for me on the 'feel' test, and yes—if you must—it scores better on many quantitative metrics as well. I am in the camp that prefers to avoid the HE bigram and other horizontal reaches in Vanilla Colemak. I use DHm only because it is marginally superior to DH on columnar boards. I did explore Workman, but for me it wasn't the right fit. I also use QMK. I like small keyboards, and QMK gives me the power to aggressively leverage layers and keys with multiple functions. You can have a look at my keymap here (schematics of the layers are shown between code blocks). The number order may look similar to original Dvorak, but look again! The brilliant rotation of the numbers in the right hand was devised by fellow Colemaker ckofy, and places the very common 0 in a much better position.

I am available on Twitter (@duspom), and in the Colemak Discord. Despite obvious bias, users of any layout are welcome there for advice and help getting set up.

Happy typing :)

@manzaloros
Copy link

I’m a big fan of @dustypomerleau ’s minidox layout, but one idea that I found difficult to adopt was the right hand ][}{ on the home row.

It makes sense for the braces to use the inward roll but for some reason my brain always interprets it to be []{} instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment