Tom Leo 's Blog

A Quest for the perfect keyboard

Published on

Updated: March 15th, 2022

I'm a Senior Software Engineer, and spend a majority of my day typing on a keyboard. For this reason I'm on a quest for finding the best peripherals for getting work done comfortably and efficiently.

Mechanical Keyboards

Mechanical Keyboards are a type of keyboard that have a distinctive part known as a switch. A switch is a mechanical spring mechanism under each key-cap of your keyboard.

While all keyboards have switches, they're not always mechanical.


Many mechanical keyboards make use of Cherry MX switches. This company dominates the mechanical switch market, and have color-coded switches with different behaviors.

key-caps click into switches like Legos, and switches are embedded into the board.


Keyboards have varying level of customization

  • Some keyboards give you the ability to build custom firmware to change what happens when you click different keys. This can mean re-mapping keys for ergonomics, or programming macros for gaming.
  • Some keyboards allow you to swap out the switches on the board.
  • Every mechanical keyboard I've used so far also allows you to swap key-caps. Sometimes you can even get key-caps from other companies.

WASD 104-key board next to the Keycron tenless board next to the Ducky 3 board next to a magic track-pad

WASD V1 Custom Mechanical Keyboard

My first keyboard was a WASD V1 Custom Mechanical 104-key Keyboard with Cherry MX brown switches.

There seems to be some nice improvements with their latest WASD V3 104-key Mechanical Keyboard like programmability.

I later bought a second keyboard.

I've been programming on this keyboard for 10-years, and it works just as good as it did on day 1 (will require cleaning every-so-often though). This keyboard is durable and reliable.

Issue with full-size keyboards

The issue I've had with the 104-key keyboards, is that my track-pad sits too far to the right of the keyboard. This is slightly uncomfortable. So I thought I'd try a "Tenkeyless layout" board.

By not having a number-pad the track-pad can sit closer to the normal row I've keys I'm typing on, and my hand stretches less when switching from typing to mouse-movement.

Keychron K8 Wireless Mechanical Keyboard

Keychron K8 Pros

  • Price, very affordable
  • Smaller form-factor
  • Cool LED back-lighting
  • Cherry-MX brown switches
  • Has a bluetooth mode allowing for use with Android, and a physical switch to go from MacOS to Windows.

Keychron K8 Cons

  • Although they claim Linux compatibility, a lot of the function keys simply don't work in linux. Like the print-screen button for example.
  • Bluetooth connection worked OK for android, but had trouble getting it working with linux.
  • feels slightly less durable than the WASD keyboard
  • Long time for delivery

Moonlander Mark I

On a quest for a more ergonomic solution, I dove in the deep end.

Moonlander Mark I

The Moonlander Mark I is a "split" keyboard, so your hands can sit more natural positions while typing. They position of key rows is slightly different to make typing more ergonomic.

I was blown away by the quality of their firmware-key-programming tool Oryx Configurator. It's a GUI that allows you to program the keys to do whatever you want, and you simply download a custom firmware to load into your keyboard.

IMHO the Moonlander Mark I is the EMACS of keyboards. If you're willing to spend the time to customize this keyboard to make it perfect for you sized hands and most frequently used keys, I'm sure you'll be happy for decades. But in practice I'm been programming on a standard keyboard for my entire life, and the jump was too steep. So I ended up selling this keyboard.

Moonlander Mark I Pros

  • Super easy custom-firmware tool
  • Cherry-MX brown switches
  • Cool LED back-lighting
  • All the bells & whistles and even a carrying case
  • First-class support for Linux

Moonlander Mark I Cons

  • The little triangle pieces / thumb-row is hard to adjust evenly between the two sides. And require a little wrench that comes with the keyboard.
  • It's kind of wobbly if you don't get all stand-offs adjusted just right, this can be a little finicky and annoying at first
  • Very expensive
  • You have to pay for shipping back to Asia if you want to return the keyboard, or sell it yourself. I choose the later, selling mine on ebay.
  • The learning curve is serious, and you might find yourself spending too much team focused on "meta-work", adjusting and reprogramming your keyboard to make it just-right. It's feels like "chasing-the-dragon" of a perfect developer set-up, that many Emacs & VIM users fall into at some point in their programming career.
  • This board layout doesn't work well for those with smaller hands. Even when adjusting the little thumb-paddles up, the amount of travel to hit some keys feels awkward. Of course you could just program more "layers" into your keyboard so that you use less keys, and have less-travel, but now you've fallen into the "meta-work" trap.

tl:dr; this keyboard could be the best one you've ever owned, but know what you're getting into. The learning curve and time investment is significant.

Ducky One 3 Mini

After returning the Moonlander, I bought a Ducky One 3 Mini Daybreak 60% Hotswap RGB Double Shot PBT QUACK Mechanical Keyboard from

Ducky One 3 Mini next to my Apple Magic track-pad

This keyboard is even smaller than the Keychron K8 "Tenkeyless" keyboard. Known as a 60%, it not only excludes the number-pad, but the arrow key section, and the function row.

Ducky One 3 Mini Pros

  • Works out the box with linux
  • The extra "layer" of keys / combos is printed on the side of the keycaps which makes the learning curve much smaller than the Moonlander
  • Has a really nice "feel" to it. The texture on the keycaps is awesome, and has a nice weight.

Ducky One 3 Mini Cons

  • The legs don't lock in well. When nudging the keyboard slightly while on a game-pad, the flip back down. Minor annoyance, which probably won't be an issue if you have your keyboard directly on a desk.
  • The Cherry MX Silent Red switches require a little more force than I'm used to. I sort of light the feel, but would love it they required slightly less force to push down. Although I might just be bias having programmed with just Cherry MX brown switches for over 10 years.

Why 60% boards don't work for developers

There's no "backtick" key. Also called the grave key, the backtick is heavily used in programming languages like markdown and javascript.

Switching between different windows of the same app also used the key-combo "Alt + `".

Having to type "Fn + Escape" to every time I need to type a backtick is terrible, and slows everything down. Add to that, switching between windows of the same application now requires "Alt + Fn + `", and you must click the Alt button before the Fn button or it won't work.

FWIW I did try remapping the escape key to grave, and the Caps_lock key to be Escape. And this works OK, but it would take a lot of getting used to, and switching to a laptop or another keyboard would also take a little time to adjust.

Vortex Race 3

Vortex Race 3 Keyboard next to my apple track-pad

The Vortex Race 3 RGB LED TKL Dye Sub PBT Mechanical Keyboard seems to have the best layout upon "75%" keyboards.

It features a function row, has arrow keys, has page up/down keys, and most importantly has a dedicated backtick "grave" key. It fits all of this without the additional horizontal length, allowing a track-pad to sit closer to where it feels most natural.

One drawback of "75%" keyboards however is there seems to be slightly less standardization. For example looking at the Vissles V84 or the Keychron K2 there seems to be some creative liberty in the top-right corner of the keyboard.

Also worth noting, most "75%" keyboards I'm talking about, are actually ~80 something keys.

A lot of keyboards have a dedicated lock key, whereas the Vortex Race 3 opts for a larger delete key. I'm onboard as I've never used the "scroll-lock" key, whereas I regularly use the backspace and delete keys.

Pros of the Vortex Race 3

  • Dedicated keys for most important characters for programming including the grave key, which doesn't have a dedicated key for 60% keyboards
  • Really nice & heavy aluminum base, feels really solid, and looks sharp
  • Switches feel really nice (bought with Cherry MX brown keys)

Cons of the Vortex Race 3

  • Difficult to Program Zsa's Oryx Configurator is just the absolute gold-standard. Vortex requires a key-combos to enter a programming mode, then a combo to exit the programming mode. It's more time consuming and you can't see the customization in each layer except by actually clicking on keys and seeing the result. This is pretty minor for this board as it has all the core keys. It's something more important if you're on a 60% or smaller board.
  • non-backlit Keycaps There's some LED programming options. Not as slick is what Ducky provides, but still nice. But the key caps aren't really LED compatible, the light mostly bleeds out between the keys. It's kind of a cool effect similar to back-lighting a monitor. I hope there will be keycaps available at some point that are more LED compatible.
  • The j and f key-caps don't have any "nub" or distinct texture to help you find the main row without looking.
  • The key-caps texture and "depth" are a little more flat than what I'm used to on the WASD 104-key keyboard. They also feel slightly smaller.
  • Because every "75%" keyboard seems to be slightly different, there's less options for after-market key-caps. I haven't found any for this keyboard. I would love to buy slightly more textured key-caps with maybe a greater "dip" in the middle.
  • A common complaint is the connecting wire being brittle. I haven't used the keyboard long enough to validate this. But I'll update this post if I run into trouble. With that being said I really like the braided fabric texture many other wires have, and I'm not sure if there are after-market options to use with this keyboard. I think might have an option, but for $60 I'm probably going to hold off on that.

What's Next?

I think I'm going to stick with the Vortex Race 3. It's basically what I'm looking for, has the keys I need, and feels pretty good. There seems to be a lot of development in this space, so maybe I'll revisit my keyboard choice in a few years from now.