After a few decades in a chair in front of a screen, a developer learns an appreciation for good keyboards. And mice, and trackballs, and chairs, and many other devices that make the hours a little less uncomfortable for us.
Regrettably I learned many of the lessons of ergonomics a bit late, and have some damage to my shoulders and back, so it’s even more important for me to have a setup that won’t break me any further.
In my experiments through different keyboards over the years, I’ve tried some basic ones, and some very odd ones. I’ve used (and still do) an original IBM Model M, the Unicomp clones of the Model M, the FingerWorks TouchStream, the Kinesis Freestyle and Advantage Pro, and dozens of others.
Some are good, some are great, and some I just didn’t get along with. As I know many other developers for whom the years are taking a toll on the fingers, I thought I’d start reviewing them here on my blog, and share my experiences, for what they’re worth.
One thing I’ve learned is that one keyboard might be great for me, and might suck for someone else, so take everything I say here with that in mind, of course.
My most recent keyboard acquisition is a bit unusual, but I have high hopes for it.
Let me explain how I found this item: I had admired from afar for a long while the DataHand keyboard and other fully split keyboards that allow the operators hands to be more widely separated than a normal single-piece keyboard. The Kinesis Freestyle is a bit like this, and I got mine with the long cable that allows the halves to be separated by quite a bit, but that’s another review.
The DataHand consists of two completely separate keyboards (if they can even be called keyboards), that can be even further apart than the Freestyle, along with a unique set of “keys” that allow more diverse finger movement than the usual up-and-down of a more typical keyboard.
I was looking for this because the normal “hunched over keyboard” position so common to programmers leads to lots of shoulder, arm and back issues over the years, so I was seeking something that would allow me to sit back in a chair, in a normal upright seated position, instead of projecting my arms forward to the keyboard.
DataHand, unfortunately, appear to have gone out of the stock permanently, though, so I resumed my search and found the Infogrip BAT Keyboard.
This keyboard is chorded, meaning you don’t press one key for each letter, you press several (mostly), and the key is typed when you release the keys. There are only 7 keys on each keyboard, and only one keyboard is required to type the entire set of characters, including control characters and function keys – you don’t need the second one at all.
I’ve experimented with this before with the Twiddler device, which I’ll also review separately, and found it quite interesting, and surprisingly fast to learn, so the idea of a chorded design didn’t bother me.
I purchased two BAT keyboards, one left handed and one right.
When I set them up I already had my StealthSwitch III foot switches online, so using them in conjunction was a must. I found DualKeyboards, a utility that allows a modifier key on one keyboard to affect a keypress on another on OSX, and this allows my switches to be used for modifiers such as Alt, Control and the “Apple” or “Cloverleaf” key. For my Linux machines this wasn’t a problem, and worked out of the box.
While all of these modifiers can be typed on the BAT, it requires multiple keystrokes (first you press the sequence for “control”, then the letter, and so forth), so the footswitches speed up the process of complex sequences quite a bit, a must for me, as do use Emacs from time-to-time.
The BAT, however, is an even better match for the vi/vim editor, as it has much less dependance on multi-key sequences, which are a bit harder on the BAT. Most control sequences in vi are just ordinary letters, pressed while you’re in command mode instead of insert mode, as vi is fully modal.
Beyond the significantly reduced hand movement afforded by the BAT, they offer another advantage: the position of the operator’s shoulders is one of the things that causes strain in the traditional keyboard position. With a normal one-piece keyboard, the operator’s hands are close together in front of them, causing a specific hold of the shoulders, causing the shoulder blades to be far apart, and eventually causing repetitive stress injury if maintained long enough.
A split keyboard is better, as it allows for a more natural spread between the hands. The Kinesys with the wide separation cable is quite good this way, but not as good as the BAT.
To take full advantage of the BAT keyboards, I combined it with another ergonomic essential (which I’ll document fully in a later post), the Swing Chair.
The Swing chair has an option for two “trays” that can be attached to the arms (see the pictures, it’s hard to describe). These trays are quite sturdy, and more than capable of holding a BAT keyboard, one on either side of the chair.
The height wasn’t exactly right, so I was able to increase it a bit with a wooden block, and at the same time provide for a Mac Magic Trackpad to get mouse capability without my hands moving far from each keyboard.
Using the BAT is surprisingly comfortable – you can sit well back in the chair, rather than having to lean forward as with “normal” keyboards.
Of course, there is a significant amount of learning to use the BAT efficiently, and I still have the cheat-sheets pinned to the wall, although I don’t need them except for the most unusual keystrokes now, and my speed is increasing.
The BAT has a nice padded palmrest, so your hand is not “hanging” about the keyboard, as is the proper position with a traditional keyboard.
Here’s the left-hand keyboard with my hand in the normal position for it. Your fingers don’t move at all side-to-side much, except for the thumb, which has three keys to handle – the remaining finger have only one.
The right-hand keyboard is just a mirror image of the left. You can see the trackpad just “outboard” of the keyboard on either side. As you can see below, there’s very little movement required to get to the trackpads.
Each keyboard comes with a USB cable and adapter, but I replaced them with a cable that ends with a 90 degree plug, so the cable doesn’t stick out where it can be damaged easily, but instead lays flat.
The cables route behind the chair to a small inline USB hub, then a single cable is routed to the desk and on to the actual computer.
In the last photo you can see in the background the footrest with my footswitches attached (by velcro). I find that helps keeps them in one place, which is very helpful in getting used to them.
I’m sure I’ll be refining this setup a bit over time, and it definitely doesn’t fully replace my Model M, but it’s a nice change.
My work model has evolved more towards the “keyboard-only” mode, as I use apps such as Alfred or Quicksilver to switch and launch apps as well, so I’m finding I don’t actually have a lot of use for the trackpads alongside the BAT keyboards.
I’ll report again when my typing on the things come up to speed!