Towards a better keyboard design

Towards a better keyboard design
Plates for a Corne keyboard

Keyboard design has real-world consequences. Yesterday, I worked with half a dozen people across the country to locate and retrieve a misdelivered package. The issue traces back to keyboard design.

A FedEx store employee had been handed a hand-written note with the delivery address:

1125 Main Street

The employee quickly typed in the the address and dispatched the package to

2236 Main Street

Notice how wrong and right numbers differ: Each digit in the wrong number is exactly one more than the correct number. Each of these digits would typed on the left hand, from left to right in sequence. This is not just a random typo, this is a typing mistake, one that is far more likely with typical keyboard designs.

Check for yourself what happens when you type 1125 quickly: On a standard keyboard the entire lefthand leaves the anchor of the home row. The left hand floats up to the number row, rolls the sequence from left to right and returns to home row.

Due to the typical row staggering of keyboard, directly above the home row position is not the correct number keys, but the gaps between the number keys. Drift a couple millimeters to the left and you are the correct keys, drift a couple millimeters to the right and you are on wrong keys.

So there are two contributing factors here: the left hand completely loses the context of the home row and the "homing nub" typically found on the F key. Second, there's no feedback there's no feedback that your fingers landed on the wrong keys (besides the mis-typed digits).

For contrast, there's the Corne keyboard, which has no number row:

markstos layout for Corne keyboard

To type 1125 on this keyboard using the pictured markstos layout, hold down the right-most thumb key on the left-hand to activate the number layer. From there, the numbers 1-5 are on the home row on the left hand. It's practically impossible to have an "off-by-one" error in this design. If your fingers were all one position off, the "homing key"  would be under a different finger, and critically the thumb would find nothing under it when attempting to activate the "Lower" layer that contains the numbers.

There's also less movement and thus less time to hold down a thumb then to move the left hand up two rows for the sequence and return to the home row.

But, how to type the symbols on the number keys? In the markstos layout, these symbols are also all on the number layer. All the following can be typed by holding the number-layer activation key a single time, typing the entire sequence and releasing the hold: $11.25, 11/25 and 11:25. Considering that you would otherwise have to use Shift to access ":" or "$", there are not even extra key presses.

Keyboards without number rows (AKA "40% keyboards") are rapidly gaining popularity, but are yet to reach the mainstream.

While I use a DIY Corne keyboard, another 40% keyboard design rising in popularity in the Kyria.

If you are curious about alternate keyboard designs but not ready to make the jump to a 40% keyboard, there a number of full-size boards with customizable firmware. By adapting the firmware, you can create a "40%" layout for these boards to see how you like it-- the keys will be present, but the keyboard layout doesn't have to use them.

In this category, there's System 76's Launch keyboard, which has a design that's close to a typical keyboard but crucially splits up the spacebar, making more keys available to thumbs for layer switching.

There's also ZSA's Moonlander, a full-size split board that trades row-stagger for column-stagger-- arguably more ergonomic. My path to a 40% board started with a board like this. I tried a number of layouts on it until I realized the one I preferred didn't use the number row or a number of other keys. That's when I downsized to a Corne.

ZSA Moonlander keyboard

To explore more alternate keyboard designs, check out r/ErgoMechKeyboard.

html