[This is the second in a series of posts about making your life better as a developer. You can read part 1 here.]

The world of mechanical keyboards has been growing rapidly over the last few years, but with all that growth, there have been only two options for off the shelf ergonomic mechanical keyboards: the Truly Ergonomic Keyboard and the Kinesis Advantage. Both are pricey and would require a large learning curve over my MS Ergonomic 4000. During my research of the retail keyboards, I came across ergodox.org which contains open source designs for the ErgoDox keyboard. At first I dismissed it as an unrealistic time sink, because all I had found was the open source designs and links to github for firmware. During this period of research I purchased a CM Storm QuickFire mechanical keyboard with Cherry MX Blues, on sale. I had decided to to dip my toes in the water. I realized that without using a mechanical keyboard, I couldn’t even make an educated guess at which mechanical switch I wanted. Using the QuickFire taught me three things: I cannot ever go back to a non-ergonomic keyboard (my hands hurt every night after work); I loved the MX blues despite (because of) the clickity clackity noise they made; the blues were too loud to use at home, they would drive my significant other crazy. We have an open office layout at work and the ambient noise makes MX blues barely noticeable.

switches

Doing more research I found, through the geekhack forums, that there were regular Massdrops for full ErgoDox kits. From Massdrop’s website: “Massdrop takes a group of people that each want to buy the same thing, combines their order, and places that order directly with the manufacturer”. Thats when I started taking the design seriously. What I found most intriguing about the ErgoDox keyboards was the ability customize the keyboard to fit my exact needs as well as being able to continue customizing it as I made my way through the learning curve. Like the retail keyboards, the ErgoDox uses the matrix key layout, has mechanical switches, has the split keyboard layout and has thumb clusters. The ErgoDox also allows for individual positioning of each side of the keyboard, custom tenting (check out the Kinesis V3 accessory) and has an easily programmable Teensy development board (featuring a gui for creating layouts and drag and drop to add to the board).

layout

Built into the ErgoDox firmware is the concept of layer stacks. The layers allow the user to program a unique key assignment layout for each layer. For instance; you could have layer zero be Qwerty, layer one be Dvorak and layer two be Colemak or have Qwerty on layer zero and all the function and media keys on layer one. I nerded out a bit on the idea of building my own keyboard and with all the potential benefits in mind, I jumped onto the next massdrop for the ErgoDox kit. I already had a set of Cherry MX blue switches in the QuickFire keyboard that I could reuse, once desoldered, so I went with the Cherry MX Clears for the massdrop. The MX Clears give a similar clicky feel as the Blues but without the clicky clacky sound, so a good option later on for a home version of the keyboard.

Final Thoughts

I tried to go legend-less (nothing printed on the keys) but with all the other changes I had to adjust to, I could not code. However, I could type english, so chatting and writing emails worked just fine. I reused many of the core keys from the QuickFire keyboard to get some legends onto the Ergodox. Because of all the adjustments needed to use this keyboard I find that I still need to use the Microsoft Sculpt Ergonomic keyboard on a regular basis to get my job done in a timely manner. I am hoping that once I get a second one built for my home office, that I will adjust more quickly and make a full time switch soon.

final

What I love:

– Easily programmable with layers. I have run through a ton of different layouts, its easy to create new layouts with the ErgoDox Layout Configurator.

– Thumb clusters! Once you use thumb clusters with backspace, delete, return and space you will hate other keyboards for not having this. However, only the large keys are reachable, the other keys in the cluster are not and therefore are close to useless.

– I love tweaking it to be exactly what I want.

What I don’t like:

– The endless tweaking… I know, its always a positive and negative.

– Finding a tenting solution can be a pain. I am currently using longer screws on the thumb cluster sides. It works, but now I need to figure out how to stop it from sliding around an scratching the desk up.

– The ErgoDox is large and awkward (compared to my sculpt), especially if you get the “full hand” size case (which I recommend, if you need a surface to rest your palm while typing).

– You end up with wires everywhere. USB to the computer and the wire that connects the the sides together.

– Because the ErgoDox is a huge change from a normal keyboard, I had to buy two – one for work and one for home.

Resources

If you can find one, get a Cherry MX sampler kit (out of stock at the time of this writing):
http://www.maxkeyboard.com/max-keyboard-keycap-cherry-mx-switch-o-ring-sampler-kit.html
http://www.amazon.com/Max-Keyboard-Keycap-Cherry-Sampler/dp/B00E71W4O8
http://www.wasdkeyboards.com/index.php/wasd-sampler-kit.html#ad-image-0

This is where I found cheap key caps:
http://keyshop.pimpmykeyboard.com

If you are interested in the ErgoDox you should also check out what this guy is doing:
http://geekhack.org/index.php?topic=44940.0
http://axios.io/signup.php
http://www.crowdsupply.com/multiplxd/axios-keyboard

These are the forums where you will find like minded individuals hacking on their keyboards:
http://geekhack.org/
http://deskthority.net/

Massdrop: https://www.massdrop.com/home
ErgoDox Keyboard Assembly Instructions https://www.massdrop.com/ext/ergodox/assembly.php
ErgoDox Layout Configurator https://www.massdrop.com/ext/ergodox

Ergodox designs: http://ergodox.org/