About a year ago I started becoming interested in productivity and ergonomics, leading me to learning org-mode – and Emacs. While Emacs is top-notch software, it wasn’t designed for modern keyboards, where the ctrl keys are usually small and hard to reach. In fact, I just happened to see a retro 80’s keyboard yesterday on display in a computer repair store. Its layout was strikingly different from what has become standard today, with only four function keys (F1, F2, F3, and F4), located on the right side of the keyboard. Most strikingly, the ctrl key was in the position of today’s caps lock.

Of course, it’s easy enough to swap caps lock with ctrl on Linux, and with the help of an AutoHotkey script you can do it on Windows as well. I tried this scheme for about a month and I don’t recommend it. It still leads to “Emacs pinkie” – in my case, it got so bad that I needed to take a break from typing for almost a day. A better example of a retro keyboard designed for Emacs would be the Space Cadet, the original keyboard used on MIT Lisp machines at the time.

Space Cadet The Space Cadet keyboard

You can see the philosophy of having many large modifier keys, accessible by either hand, a philosophy that continues to inspire modern alternative/ergonomic keyboards such as the Kinesis Advantage and the Ergodox today.

Where’s the review?!

I get it, reader. History is hella boring! I’m gonna go ahead and start.

This will be a negative review. I consider myself an optimist, and I tried to like the Ergodox EZ, but after three months I’ve decided to discontinue using it. I’ll be explaining why.

Ergodox EZ The Ergodox EZ

So, what’s good about it?

  • The wrist pads are a very nice touch.
  • The build is solid.
  • The keys are great to press.
  • It looks great.
  • Adjustable angles.
  • Reasonably priced.
  • It’s a prebuilt Ergodox so you don’t have to fuck around with welding.

Ergotchas

Beware when using the online graphical configurator to design your layout.

First of all, it is very easy to lose your configuration. There is no way to save; you can only “compile” and bookmark the resulting page. As the configurator is a client-side app, you have to be careful not to refresh the page. Even so, you should “save” frequently, as you never know when the script can freeze up on you.

You also cannot compile/save until you’ve renamed your layout - the option is unavailable until you’ve changed the name, even if you want the default name. It isn’t remotely obvious you have to do this… and all just to perform the most basic UI action, saving your work.

It doesn’t help that the app in general is poorly performant and riddled with user interface flaws. It’s what I’ve come to expect from web apps. However, because of the large number of manual changes you may need to make, the slowness of the app becomes a hindrance. For example, adding an alternate keyboard layout means changing around 30 keys, depending on the layout. Changing each key takes a good few seconds – apparently the app does some hardcore processing for what is simplest computational task possible. If you lose your changes due to the aforementioned confusion around saving, then simply restoring your previous configuration – a long, manual process – can take half an hour if you had many layers.

Firmware gotchas

I wanted to break up my negative points into different sections here since there are quite a few. Here are the problems relating specifically to the default firmware. There are more firmwares available on various GitHub pages but I didn’t want to spend another day messing with them, in some cases editing and compiling actual C code.

Here is a list of issues that I noticed over the three months I used this keyboard:

  • The dual-function shift/parentheses keys cause the keyboard to consistently freeze.
  • Pressing too many modifiers at once causes the keyboard to freeze.
  • The backslash key sometimes either doesn’t work when you press it or sends the signal twice. This is a fault of the firmware and not the physical keyboard, as it occurs no matter where the backslash key is located.
  • Dual-function keys, such as ctrl/enter, have noticeable lag time. It works fine as ctrl when you hold the key, but pressing it, you have to wait about half a second before enter is sent. As you can imagine, this causes huge problems if you try to type fast.

I know most “geeks” probably would tinker with the keyboard’s firmware and fix these issues themselves, but I don’t care. I just want to use my product and have it not full of shitty code out of the box.

Keyboard shortcomings

All of the above points apply mainly to the default tools provided by Ergodox EZ. Now let’s talk about the actual, physical Ergodox keyboard.

Probably the most glaring physical flaw is the thumb keys. Apart from the very closest one, they are all too far for the thumb to reach comfortably. For instance, I tried putting Alt on the second thumb key for a while and it was impossible for me to use Emacs well because it is just too much of a stretch. I then moved the + and Del keys to the second thumb keys. Even though I use these keys only occasionally, when I did try to press them I would miss. But I simply ran out of good spots for these keys. The remaining thumb keys, the smaller ones, are way too hard to reach to be useful. I don’t even remember what mine are set to.

I should mention that I have larger than average hands. I was aware that many people had trouble with the thumb keys before I bought this keyboard, but it seemed like many of them were girls or Asian. I don’t have the biggest hands but they are no slouchers in the size department, either. I think this is not an individual problem, but one inherent in the design of the Ergodox - the thumb keys are just not suitable for regular use. They are not ergonomic.

I should note here that I have rather special needs as an Emacs user, and that not everyone needs readily-accessible modifier keys that they need to press constantly. For such users, the thumb keys may not even register on the radar. Even so, the thumb keys take up a lot of space on the Ergodox.

Lifestyle conflicts

Overall I found this keyboard quite cumbersome to deal with. I have had situations where I needed to clear out my desk and take my computer and the keyboard somewhere else. This isn’t so easy to do, and then it can take a while to restore the setup back to the way it was. It would only be half as cumbersome if the keyboard weren’t split in two – in fact, I’ve come to think of this as a flaw of the keyboard, rather than a strength.

Honestly: this may sound like just a personal gripe, but this keyboard is a rather obtrusive accessory to have on my desk and sort of interferes with my fondness for minimalism.

And while it’s obvious to anyone that the Ergodox isn’t meant to be portable, there were many times when I just wanted to lie down with a laptop somewhere away from my desk and found that I couldn’t type on a normal keyboard anymore, as if I didn’t have enough to deal with. This may not apply to some people, but most of us need to be able to type on different machines and not just our own, and you should strongly consider this before making purchasing an alternative keyboard.

Conclusion

Let's write a conclusion. Yeah, I visited Reddit lately. Sigh.

Overall, I didn’t have a good experience with my Ergodox EZ. I think it is a very niche keyboard that I can only see being useful for a small number of people.

Conclusion: go with something else, or stick with a regular keyboard. I’m back to using my laptop and its keyboard for most tasks and I quite enjoy it. It’s not very ergonomic, but I’m trying to offset that by taking frequent breaks, stretching my hands, and alternating which hand I use for shift/ctrl/alt. (By the way, I am currently shopping for a new laptop, and any keyboard that doesn’t have all modifier keys available for both hands automatically gets the machine a pass. Just something for the corner-cutting manufacturers out there to chew on.)

That’s it for this review. Thanks for sticking to the end and I hope you enjoyed my fantastic blog post! I plan on writing a lot more so stay tune!