A Developer's Greatest Tool

William Tanna March 5, 2019

I’ve been typing on keyboards since I was a small child.

image

As I started to grow up and get more into PC gaming, I bought a variety of rubber-dome LED keyboards. I thought those were so cool when playing World of Warcraft with my dad and brother at 2 am. Our keyboards lighting our tired faces as we needed to complete that last dungeon before calling it a night.

It wasn’t until college that I realized that my love of programming meant that I was going to be typing for many hours for the rest of my life. That is when I discovered what a mechanical keyboard was and my wallet made a faint cry.

It started simple. My first keyboard was just a normal WASD Version 1 full-sized keyboard with brown cherry switches. I tricked it out with purple and yellow keys to match my college’s colors, go Huskies, and carried it with me all around school. My mom even made me a carrying case for it! I still use that case today when I travel. I then started to experiment with different colored key caps, trying to stylize it depending on what my current furniture was so things would tie together.

As I started to look up different colored key caps I started to dive deeper into what other keyboards and keycaps were out there. I got tired of carrying around a full-size keyboard, so I bought a Poker 2 with blue switches, which was my first 60% keyboard. It was also my first PBT cap keyboard.

Keycaps

There are a few different types of keycaps one can get for a keyboard.

ABS is a lighter plastic, which will make keycaps sound more “clicky” and give a higher tone. They are also smoother to the touch, which can make them slippery. Over a lot of use, ABS can also generate a shine on top of the keycap, as well as the print on top can start to fade.

PBT is a little thicker, sounding more “thumpy” and giving a lower tone during key presses. PBT adds texture to the keycaps, making them less slippery as well as makes them extra comfortable to the touch.

SA is a really thick plastic, imagine 1970s terminal keycaps. They have a very satisfying sound and feel, but are hard to get used to as they are much taller than ABS and PBT plastic keycaps.

Then you get into double shot keycaps, which are keycaps that have two layers of plastic! The biggest benefit of this is more rigidness and the character on the keycap is molded with the plastic. This means you never need to worry about fading!

Then there are artisan keycaps! Some of these can be one-off keys that look adorable.

Source: https://www.jellykey.com/
Source: https://www.jellykey.com/

Others can be full-sets:

image

These are usually in limited time group-buy scenarios, so some of them are very rare and can be hard to get once they are no longer for sale.

It’s hard to recommend a keycap to use as it depends on how it feels to you. I love double shot PBT, but there are days where using lightweight ABS is really nice. A lot of this also depends on the type of switch the keyboard is using.

Switches

When I first started this adventure there wasn’t anything better than good old Cherry MX switches. Nowadays mechanical keyboards have become so popular that there are a lot of manufacturers making their own switches. Some of the more popular “switches” are:

  • Cherry MX
  • Zealios
  • Gateron
  • Kailh
  • Hako
  • Alps
  • Topre
  • Buckling spring

 The last two, Topre and buckling spring, are technically not mechanical switches, but that is another can of worms for another blog post. With all these different types of switches, there are also a bunch of different flavors! There are blues, browns, greens, clears, violets, reds, blacks, and many more. Each flavor of a switch has a different weight and actuation force to them. Switches break down to a few things:

  

Source: Lethal Squirrel on Geekhack.org.

  1.  Stem–this is what the keycap is mounted on. The stem can actually change depending on what type of switch is used. This is something to be very careful about when buying artisan keycaps. Some keycaps will only work on some switches. The Cherry MX stem is the most popular and easiest to find keycaps for.
  2. Switch housing–This is the case that holds all the pieces together.
  3. Slider–The slider pushes against the spring and interrupts the connection between the metal contact leaves mounted on the side of the switch. The slider (as well as the spring) play an important role in the overall force curve and sound that comes from a switch.
  4. Spring–The spring wraps around the base of the slider and pushes the switch up to its resting position.
  5. Metal contact leaves–This is what registers a keystroke when the leaves strike one another.

Many of the switches I mentioned above and their different flavors usually have different variations of sliders and spring weights. One of the main reasons for my collection was to experiment with different switches to figure out what I like. After a lot of trial and error I have come to the conclusion that my favorite switch types are:

  1. Topre
  2. Hako Violet
  3. Brown MX
  4. low-profile Kailh blue

During the trial and error process, I found that I didn’t just enjoy mechanical keyboards. I also enjoyed building them.

Building

The first board I built was the OLKB Plank. It was small and reasonably cheap so I thought that if I messed it up then I wouldn’t feel as bad. These were the tools I used to get the job done:

After many YouTube videos and practice kits later, I was ready to build my board! Besides a couple of scares, it all came out perfectly! (Just don’t look at my actual solder job…) Since the Plank board, I’ve built my ErgoDox, a buddies WhiteFox, and I’m currently in the process of a new 60% keyboard using a GH60 PCB and leftover switches I have. This is a skill that has proven to be very helpful for me in life now as I bought a KUL keyboard with Clear Cherry switches that I could not handle! So I desoldered part of the board and replaced them with brown switches! I’ve also used this skill for various car and house mods! Another aspect of building that I love is the software side.

Firmware

Loading in the firmware and compiling keyboard matrices to customize each key is so much fun. I have coded the Plank keyboard to be my macro keyboard. As in, if I press one button on it then I can launch my full suite of dev tools for the day: my editor, terminal, Slack, mail client, etc. It can also be handy to load snippets into it when I am coding in places that don’t allow user stored snippets.

However, I have learned that some macros won’t work on some keyboard firmware as they either don’t allow it, or there are limitations to how complicated they can be. What is nice now is manufacturers are making that easier. For example, Input Club has a whole configurator web app and desktop app for their boards to help flash your keyboard and load in new settings. This was huge for me as I need to replace capslock with left control (HHKB layout), and switche the super/left alt key around (so it’s always in OSX mode) on every keyboard. Being able to plug and play my keyboard anywhere and not have to worry about OS settings is super nice.

Where I’m at now

Whew, that was a lot of information that I could take even deeper. So after all this time, where am I? This is my current line up of keyboards:

image

 From top to bottom I have:

And my brand new one that just arrived last night after waiting forever on Kickstarter!

The Kira

image
image

There is a joke within the mechanical keyboard community about an “End Game” keyboard: the last keyboard one will buy. After finally getting the Kira, bringing the total to ten, I think I have finally finished my collection. I’ve been waiting a long time to get a full keyboard that was condensed. The switches I got for it are the Hako Violet which is a mechanical switch that mimics Topre, which is my favorite feeling in the world.

My Favorites

If I had to rate my top three keyboards they would be:

  1. HHKB–I love the feeling of Topre, it’s a quieter switch so it’s amazing to have in the office. The feedback it gives you is one that makes angels sing. The layout is spectacular, especially if you are a vim user. The caps lock is replaced by the control key. The backslash becoming the delete and the backspace being converted to two keys, the tilda and backslash just blow my mind. Every keyboard should be like that in my opinion. Which is why I was so set on building my own. There aren't a lot of Cherry MX switch keyboards that have this layout. This is the keyboard that I take with me everywhere and one I will cherish forever.
  2. ErgoDox–the form factor is a nice ergonomic break for the wrists after long sessions of typing. I still am not good at typing on it. It’s like relearning how to type, but one day I hope to be faster on it.
  3. HAVIT low profile keyboard–The low profile nature of the keys is astounding. I wish all laptop keyboards were just built with this keyboard. I can type the fastest on low profile keyboards and it’s relaxing to use. It’s also really inexpensive when it comes to mechanical keyboards, which is a nice plus.

I’m really loving the Kira as well, but I just got it last night so I don’t have much to say about it yet. I’ve typed up this whole blog with it and when it comes to actual mechanical switches I think the Hako Violet is now my favorite. This Kira has me genuinely excited about keyboards again, which is one reason why I needed to create this blog!

Conclusion

I hope this blog has helped you learn something new about mechanical keyboards, and maybe even inspired you to build one! If you have any questions about anything keyboard related, please let me know. I would love to help in any way I can.

William Tanna

William Tanna

@tanna_io