Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Developer Keyboards

Why a Developer Keyboard?

I have been programming for well over a decdade now. As the years pass by I have found that programming takes a toll on my body. While I have maintained a reasonable level of health, I have noticed a deterioation in my eyesight, potential posture issues and most worrying of all issues with my hands.

For the first ten years of my programming career I used a normal Keyboard. One day I was introduced to a mechanical keyboard. After using a mechanical keyboard for a few months it is hard to go back - it just makes typing feel better.

Over this period of time I also started focussing on my touch typing skills - eventually getting between 70 & 80 wpm. Unfortunately, with years of typing I developed an issue with my hands where I have a dull numbness in both hands and along my arms if I type for too long.

The numbness with my hands has prompted me to investigate various keyboards available on the market to discover one that fullfills my need of being competent on a keyboard over long periods of time while not doing damage to my hands.

Thankfully I have discovered several keyboards that appear to solve this problem. The list below while not comprehensive, lists a range of what I would consider ‘professional’ programming keyboards. Some of them are ergo-friendly, others are not.

Currently I am the proud owner of 2 of the keyboards listed below - the Ergodox EZ and the Kinesis Advantage Pro. Both are ergo-friendly. both have their strengths and weaknesses.


Kinesis Advantage Pro Review

What I like about the Kinesis

I like to call my Kinesis my Silver Lamborghini. It’s a great conversation starter. When I originally purchased it, it took me 3-4 months to re-learn how to type. The first two weeks were extremely tough, at one point I considered returning it. The big learning curve is that space, return, backspace, delete, ctrl and alt are moved to the thumbs instead of the pinky fingers. The reasoning behind this is that the thumb is the strongest of the fingers while the pinky fingers are the weakest. Thus it makes sense to move keys that are reguarly pressed to the thumbs.

The keyboard is fully re-programable. Since I do a lot of pair programming and I like to use capslock as my escape key for vim mode - being able to re-map this on the hardware of the keyboard was money well spent.

The keyboard has a curved in shape which means that the keys are at a curved angle to your hands. This means that normal keys are very close to your fingers which reduces the strain when pressing normal keys.

The keyboard has a on-board usb hub which is very useful for plugging a mouse dongle into it - I use logitech. Whenever I plug my keyboard into someone else’s computer I don’t need to worry about plugging in a mouse as well.

The keyboard comes with a foot pedal. Yes, you heard me right. I have never managed to use the pedal, but it is simply a real geek out telling people you have one.

What I don’t like about the Kinesis

The keyboard comes with a macro recording feature - before buying the keyboard I thought this would be a killer feature. Turns out I don’t use nearly as much as I thought. Recording macro’s it a pain, and then remembering what marco is mapped to what key combination always becomes a challenge.

The Function Keys are gimicky. For such an expensive keyboard, you get these little soft touch function keys that are half the size of the normal keys. They are rendered nearly useless. As a developer that works in Visual Studio a lot - having function keys that are easily accesible is important. This is one of my biggest irritations with the keyboard.

The keyboard is ‘missing’ a few keys. For a normal typist I could see this not being an issue, for a software developer I typically use key combinations frequently, most notably ctrl, alt, etc. The default configuration of the kinesis puts only one alt on the thumb pad for the left hand. Where the alt should be on the right hand they have a windows or function key. While you can replace the windows/function key with another alt key and remap it - you are then missing a windows key. I eventually had to map ctrl+alt to act as a windows key, which then disables any options with ctrl+alt. If we the keyboard had an additonal key below shift on each side that could be mapped as a function key this would solve the problem. Alas it doesn’t.

Remapping keys is done manually. While you don’t remap keys often, every now and then I come up with a better combination of a map. Remembering how to manually get into remap mode and then how to trigger a remap is always pot luck. If only it had an onscreen mapping tool like the Ergodox.

The keyboard does not work properly on certain Windows 7 machines. As stated by the manufacturer this is a windows problem, not a kinesis problem. They are even kind enough to send you a module that you can manually replace that fixes this issue. I got the module, it involves opening my keyboard and replacing wires. This scares the living daylights out of me to do. This means that at one client when I pair I could not use my Kinesis - which meant one day a week I would be stuck on a normal keyboard with numb hands.


Ergodox EZ Review

What I like about the Ergodox EZ

I have had my Ergodox EZ for two months now. I like to call it my Stealth Bomber. It’s black, I ordered it with blank keycaps and brown gaetron switches. It’s also a great conversation starter as well as an awesome keyboard.

When I got my Ergodox, I ordered it with the additional hand rests and tilt legs. I highly recommend this, especially when you have worked with an Kinesis before. While you cannot get the down hand position like you can with the Kinesis, you can still get a comfortable angle that is adjustable.

The Ergodox comes with a graphical keymapper. This has made the world of difference when changing keymaps. Like the kinesis you can remap any key to do anything, and it is substantially easier to do because you don’t need to remember the mappings - you can simply load them on screen.

The Ergodox also comes with layer keys. Without getting into the specific of how layers work, in essence at the press of one button you can switch from one layer to another. Each layer can have a totally unique keymapping. This has been essential in getting over the missing function keys (one of my gripes about the ergodox). Instead of having function keys, you flip a layer and then the number keys are remapped to function keys.

Transporting the Ergodox is really easy. Because it comes in two parts, you can comfortably fit the ergodox in a backpack, which makes travel really easy. Both the Kinesis and Ergodox require you to have a flat surface in front of you to be able to use them. It’s pretty much impossible to sit and type with the ergodox on your lap.

The Ergodox has the additional windows/function keys below shift. This is a step up from the Kinesis and means you can have alt + ctrl on both thumb maps and still have a windows key.

What I don’t like about the Ergodox EZ

Unfortunately it doesn’t have a USB hub built in. This means whenever I plug my keyboard into a terminal I have to plug my mouse dongle in as well. I miss the usb hub that the Kinesis has.

The Ergodox doesn’t have function keys. While the Kinesis has puny function keys, the Ergodox does not even attempt that. I have found this not to be as bad as the Kinesis, as toggling layers is really easy and so I have function keys mapped to layer one. That said, I wish it had function keys.

The Ergodox comes in two parts. This is useful for travel, but when moving desks - and I move desks often - it means there is an art to getting the alignment right. I wish it had a detacable bar that you could connect where the tilt legs were that would give you the rigidty of the Kinesis, but keep the mobility of the Ergodox.

I really miss the curved design for the hands of the Kinesis. The keys on the Kinesis are definately closer because of this, which makes it more comfortable to type.


What my ideal Developer Keyboard would be

Having worked with both the Kinesis and Ergodox I often dream of designing my own keyboard. I have noticed with both keyboards things they have gotten right, and things that are not ideal.

If I had the chance to design my own keyboard, what would it look like?

Here goes…

Shape of Keyboard

Firstly, I think Kinesis got the shape of the keyboard right. My ideal keyboard would have a shell exactly the same as the Kinesis. Even though this would impact the portability of the keyboard, I believe the wins of having it as a single unit outweigh the cons of travel, while increasing the level of portability (moving between computers at a single location).

Key Layout

First on the list is to keep the thumb keypad (the area where enter, ctrl, alt, backspace, space, etc) are located. After having used this layout it is superior to having the traditional key layouts.

I would keep the kinesis key wells - the advantage of this is having the standard keys closer together and angled at the angle that your hand naturally fits.

The traditional function keys that the kinesis has would need to be replaced with normal sized mechanical keys. This would make a huge difference when working in IDE’s that require regular use of the function keys.

I would adjust the key layout to have the additional key underneath the shift keys (same as the ErgoDox has). This would allow for the windows/function key to be assigned while still keeping the ctrl and alt keys on both thumb pads.

Mapping of keys would use the same process that the Ergodox uses. Having a graphical display for for remapping keys is superior on all acounts.

Unless there was some way to improve the macro facility (i.e. make it graphically represented), I would scrap it.

I would add the additional layer keys that the Ergodox has - these seem to be superior to the Kinesis and are also very useful for VIM mappings etc.

On the Kinesis layout there is a ‘dead’ area just above the thumb pad. I would add 8 additional normal keys. I understand that these would not be used regualry, however having those 8 extra keys would allow for additional mappings of ‘special’ key layouts.

Key Switches

I understand that key switches are interchangeable, but by default I would use the gaetron browns - these are the default key switches I have in my ergodox and they are really comfortable.

Showing Layers

I would add additional LED display to the top on the keyboard which would graphically display what layer I currently am on. One of the inconviences with the ErgoDox right now is pressing a layer key by mistake and then not being able to visually see that without having to press keys and see the result on the screen.

Extra’s

I would keep the USB hub where the Kinesis already has it. However, I would add an additional usb port on either side of the Kinesis box. You can never have enough USB ports.

In addition, if possible I would add a bluetooth module that would allow for the device to be connected to a PC via bluetooth. I’m not sure on how easy this would be, but hey, this is my imaginary developer keyboard.


Summary

I enjoy both keyboards. Right now my preference is the Ergodox. The extra keys really make a big difference. Because both the Ergodox and Kinesis both have the thumb pad with the primary keys on it (space, backspace, enter, ctrl, alt), switching between them is very easy. Also, both keyboards are ergo-friendly. After having switched to them the numbness in my hands has virtually gone away.

Developer Keyboards

ErgoDox EZ - $295
Kinesis Advantage Pro for PC - $359

Ultimate Hacker Keyboard- $220
ATREUS - $149
Code Keyboards - $150 to $180
Happy Hacking Keyboard - $?
Noppoo-Nano75 -$90
DAS Keyboard - $100 to $150

See the Stack Exchange discussion for some other options…
See a great comparison review for keyboards
See discussion on Quora regarding ultimate programmer keyboard

Which keyboard switches should I use?

Detailed explanation of different switches



This post first appeared on Software Development, please read the originial post: here

Share the post

Developer Keyboards

×

Subscribe to Software Development

Get updates delivered right to your inbox!

Thank you for your subscription

×