The many shapes and sizes of keyboards

Like many people in the programming industry, I work from home. And as such, I do not get up from my desk as much as I probably should as my office space is pretty comfortable. Unfortunately, this has led to my upper back getting a bit tight from slouching forward over my keyboard for too long continuously. Wanting to improve my ergonomics, I decided it was time for a fully split keyboard (I'll explain what that means later). I also decided this was an opportunity to consider diving into the world of mechanical keyboards. Well, that latter decision led to me learning there are way more to keyboards than I knew! I figured I should write down all of the things I learned about keyboards in one spot as I never came across a similar explanation online. Plus, I'm about to spend a ton of money (thanks to the USD/CAD exchange rate) on a new keyboard, so I wanted to "talk" this decision out via blog post before I click the "Buy Now" button.

Key count

Let's start with how many keys a keyboard has. Your traditional, full keyboard that comes with your computer and has a numeric keypad is considered a 100% keyboard. An 80% keyboard is one that drops the numeric keypad. A 60% keyboard drops the navigation keys (e.g. arrow keys, page up/down), and the function keys.

Some keyboards also add extra keys beyond the common ones. For instance, many 60% keyboards have thumb clusters to let you use your thumbs for more than just the space bar. This also plays into how fancy you can program your keyboard (discussed below).

Programmable

As the keyboard shrinks, you end up wanting the ability to program it to make up for the lost keys. You will hear about layers where you can press a key to change what various keys on your keyboards do. A common example for 60% keyboards is to have a layer that, when a certain key is pressed, turns some of your keys into arrow keys (e.g. make WASD be actual arrow keys). Things can also get extremely fancy in terms of keys doing different things depending on whether you pressed, double-tapped, or hold down, a key.

Beyond the programmable functionality, there's also the question of operating system support. Some keyboards can't be programmed on Windows, macOS, and Linux. I have seen keyboards only support Windows, others support Windows and macOS; the ones that typically run some open source firmware support all three operating systems.

Split

Traditional keyboards are straight, with all the keys next to each other. Then there's a partial split or set split where the main portion of the keyboard is split in the middle, but the split itself is rigid; when you think of "ergonomic" keyboards this is probably what you're thinking about (e.g. Microsoft ergonomic keyboards). And then there are fully split keyboards where the two halves of the keyboard have no connection to each other (beyond maybe a cable), letting you place either halves wherever you want.

Wireless

Some keyboards are wireless, while some require a cable connection. Most keyboards are USB, but depending on how new of a model it may (not) be USB-C.

Tilt

The tilt is how the keyboard is angled front-to-back. There is positive tilt where the back of the keyboard is higher than the front (when your keyboard has little legs in the back corners that you can fold out, that gives you positive tilt). Negative tilt is when the front of the keyboard is higher than the back. Neutral slope is when the whole keyboard lays flat on your desk.

Tenting

Tenting is when you can angle the keyboard centre-to-edge. When you think "ergonomic keyboard", beyond the split you probably also think of the tenting. Tenting does require a split keyboard of some form. Keyboards can have varying amounts of tenting support, from none to a full 90°, putting the halves of the keyboard perpendicular to your desk.

Height

Keyboard do have a height to them. Some are low-profile, laying close to the table surface (Apple Magic keyboards are what I think of as "low-profile"). Others are a bit thicker and thus sit higher off the desk.

Switches

The switches of a keyboard are the mechanical part that register a key press, and hence why the term "mechanical keyboard" typically refers to having nice, fancy switches. There are 5 key properties to a switch:

  1. Style (i.e. linear, tactile, or clicky)
  2. How it sounds when pressed
  3. Operational force (how much effort it takes to press the switch)
  4. Activation distance (how far you have to press the switch for it to register a key press)
  5. Total travel (how far you can press the switch before it "bottoms out" and can't go any farther).

Typically people care the most about the style and then the sound. Linear keys are your traditional switches that just smoothly go up and down, like on your laptop keyboard. A tactile switch has a spot of resistance at some point on the way down (often referred to as a bump), which physically signals to you that you reached the activation distance. A clicky keyboard is what it sounds like: the key makes a "click" sound when activated.

The sound a keyboard makes can play into whether you work around others who may not appreciate a loud keyboard.

Operational force and activation distance tend to come into play more for fast typists and gamers who want the fastest way possible to register a key press.

Hot-swappable

When a keyboard is hot-swappable it means that you can replace the switches in the keyboard without any soldering. This not only lets you minimize buyer's remorse if you get switches you don't like, but it makes the keyboard more repairable as you can personally replace any broken switches (which, as the physical part of the keyboard that moves, has the highest chance of giving out; see Apple's keyboard woes as an example).

Key caps

The bit of plastic that sits on top of the switch that you physically touch is called the key cap. You can concern yourself with the material, how the key was manufactured, and the shape of the key caps.

The vast majority of key caps are plastic. which come in one of two common materials: PBT and ABS. In the case of PBT, they can also come in a double-shot format where the key cap is actually two separate parts: the overall key cap is one part while the symbol on the key cap is another part then gets merged together.

Key caps have a profile: they can be uniform or sculpted. When sculpted, the home row (sometimes called "row 3" as it's the third row from the top) will have a neutral slant while other rows will be sculpted to have a slant which angles them toward your fingers depending on the direction that you will strike them (e.g. the numeric keys will have a slight towards your finger to make them easier to reach. I found a great YouTube video on key cap profiles which helped me understand most of this.

Keys that have a shape other than flat (i.e. chiclet-style like on a laptop) are typically either cylindrical or spherical depending on whether it looks like the curved side of a cylinder or a marble was pressed into the key cap, respectively.

Key layout

There are two aspects to the key layout of the keyboard. One is the physical layout. The traditional staggered layout is what the vast majority of folks are used to; on a QWERTY keyboard the Q key is offset from the A key which is offset from the Z key (and the offsets vary based on which row you're looking at). Columnar layout is when the keys are aligned vertically in columns, but are not aligned horizontally (the Kinesis Advantage2 and ZSA Moonlander are the most well-known examples of this layout). There is also a matrix layout where all the keys are laid out in a perfect grid; aligned vertically and horizontally.

The other aspect of the key layout is where each key lays on the keyboard (i.e. QWERTY or not). Probably the most well-known alternative keyboard layout is Dvorak. I would wager the third most-popular is Colemak, and specifically the Colemak Mod-DH variant. These layouts get really tricky to get with key caps when they are sculpted and if they have the traditional bump on the F and K keys to help you find the home row on a QWERTY layout (which, in both cases, most key caps have). This is why you see blank key caps on some keyboards; it's probably easier to just learn how to touch type than to find something like a sculpted Colemak key cap set (I've looked out of interest and it's really hard to find).

💡
You might sometimes see references to the "DHm" variant of Colemak. It turns out that's the old name for the DH variant. There was another called "DHk", but it never caught on, so they reclaimed the generic name for DHm.

Lighting

Lots of gaming keyboards these days having some form of lighting. This can actually be helpful when your keyboard is programmable as some keyboards let you program the colour of the key and/or keyboard. This lets you have visual cues for things like what layer you have active.

Portability

If the keyboard is small enough, it can also be portable enough to have a carrying case that can fit into a backpack.

My keyboard journey

Previous keyboards

Like most people, my first keyboard was the one that came with my computer (in my case a generic PC desktop). One summer during high school I forced myself to learn how to touch-type. At some point I switched to a Microsoft ergonomic keyboard. I then had my first internship at Google where I developed carpal tunnel syndrome from typing on a straight keyboard while writing the first Python bindings for Bigtable (it turns out being a fast touch typist who can churn out a ton of boilerplate C code quickly can ruin your wrists). That's when I bought a Kinesis Advantage2 keyboard (and then another one so I had one for work and another home). I had those keyboards all the way through my PhD until my thumbs started to give out (I blamed the thumb cluster, but now I think it's due to heavy mobile phone use). At this point I'm using a Microsoft Sculpt keyboard at home and work.

This means I am used to split, tented, and columnar layouts.

My requirements

When I decided I wanted to move to a fully split keyboard, I began researching. The list of desired and required features became:

  • Fully split
  • Tenting (might as well lean into the whole ergonomic thing)
  • Not too tall (my arms are very long compared to my torso, so getting anywhere close to the right angle I'm supposed to have with my elbows for proper ergonomics means I need as little distance from my lap to the keys as possible)
  • Portability is a plus (as I still go into the office on occasion)
  • Aesthetically pleasing to my wife is a plus (since my desk is visible from the hall to the washroom and the door is never closed thanks to our cat); that makes being wireless a plus as well as having replaceable palm pads for when they inevitably wear out
  • Hot-swappable switches is a plus (for repairability/longevity)
  • Columnar is acceptable (as my Kinesis Advantage2 history proved to me that I can adapt)
  • Programmability must cover Windows, macOS, and Linux (as I'm due for a new laptop and I don't know which OS I'm going to be running yet)

The options

The first possibility was the Kinesis Freestyle Edge RGB keyboard. It comes split and does tenting via an optional kit and the reviews are good. It is wired, though, and has a gamer aesthetic which brings it down on the spousal approval list. It's also not portable. Programmability is only available on Windows and macOS.

I looked at the Dygma Raise as it seemed to be a well-built keyboard according to some. It is portable, but wired (although the Raise 2 will offer wireless as an option). It is hot-swappable.

I have co-workers who use the ZSA Moonlander and like it (Eric V. Smith, a fellow Python core developer, has the ErgoDox EZ and is happy with it while also singing the praises of a columnar layout for his wrists). While wired, it is portable. It receives good reviews if you're up to the task of learning columnar (which I am since I have already had a keyboard like that). It is hot-swappable. My one key concern was the tenting as it relies on tilting its thumb cluser to get the appropriate lift. As someone with long fingers I didn't know if that would force the thumb clusters into a bad angle for me. ZSA does have a tenting kit for the Moonlander, but it hasn't been available since I first learned about the Moonlander months ago and there's no promise of it ever being manufactured again.

Barry Warsaw, another core developer, is a big fan of the Ultimate Hacking Keyboard. It's wired, but portable (although there's no official carrying case). It is hot-swappable and very repairable overall. It has tenting, but it is somewhat limited. It also came in last in the spousal aesthetic rankings.

Due to my history with the Kinesis Advantage2 and Thomas Wouters still being a big fan, I considered the Kinesis Advantage360 Pro. It's wireless (with the Pro edition), but not portable. It has all the proper adjustments, although due to its concave shape it's very tall. It's programmable on all the OSs with the Pro edition. It consistently came up near or at the top of the spousal aesthetic rankings.

My decision

And then there's the Dygma Defy (which was the last keyboard I learned about, out of happenstance after an enthusiastic Raise user caused me to check out Dygma's website again). It is fully split. It has tenting up to 60°. It's hot-swappable. It has a wireless option, and is portable. It's not especially tall. It's at the top of the spousal aesthetics list. It's programmable on all the OSs (and is open source). It is columnar. When I messaged them technical questions about things like the battery life they were friendly and prompt in their replies. Honestly the only drawbacks are the price (the USD/CAD exchange rate is crap right now for me), and the keyboard won't be available until March (although they have been pleasantly open about the process of getting the keyboard manufactured in their blog and YouTube channel). But since this is for my health and I have luckily been saving up for this purchase, I can handle the price and wait a few months for the keyboard to arrive for (what seems like) the best solution for me. Plus, after writing out this post, I realize that I'm still happy with this conclusion, so I will be buying the keyboard after this post goes up!