Keyboarding
Like Scott Hanselman, I view the mouse as an optional computer accessory*. Manly coders love the smell of compilation in the morning and we know that speed = keyboard. A mouse? C'mon. That's so teenage girls can pick emoticons in AOL Instant Messenger. And for flash "developers". Us tough guy software developers know that if it doesn't have a keyboard shortcut, it's not worth doing.
All kidding aside, there's a disappointing lack of keyboard choice for software developers. Here's a typical example:
We make heavy use of the PgUp, PgDn, Home, End, Ins, Del key cluster, and that's the one area of the keyboard that is almost always mangled beyond recognition on today's "cool" keyboards. And what marketing weasel decided it was a good idea to default map the F1-F12 keys to hip new internet functions? I cry for a world where F5 is "open email" instead of refresh/run. On some keyboards, the mangling is so profound that the arrow keys are no longer arranged in an inverted T. Sacrilege!
I'm actually doubly-screwed, because I prefer ergonomic "split" designs. Once I narrow down the list of choices to ergonomic keyboards that also have standard arrow and PgUp/PgDn layouts, I have a whopping total of maybe two keyboards to choose from. And they're both ugly taiwanese knockoffs.
Here are a few keyboards I've considered, and rejected:
- Logitech DiNovo (way pricey, mangled)
- Microsoft Digital Media Pro (not ergo)
- Logitech Elite (not ergo)
- Logitech Ultra X (laptop style keyfeel)
- Belkin ErgoBoard (uglytastic)
Some people swear by certain "classic" soviet-era 10-pound keyboards, but for now, I'm sticking with my discontinued Microsoft Natural Keyboard Protm. No mangling, ergonomic split design, and even two built in USB ports. Which reminds me: why has USB hub functionality fallen so far out of favor on today's keyboards? It's incredibly handy for memory sticks or quickly hooking up a camera to download a quick photo or two.
I'm curious what everyone else's feelings are on this topic:
- What keyboard areas are "sacred" to you, as a developer?
- How important are the extra multimedia functions such as sleep, calculator, scrollwheel, volume control, etc? Do you use this stuff frequently? Rarely? Never?
- Does it really matter if your keyboard is wireless?
- Does an ergonomic layout help?
- What keyboard(s) do you recommend, and why?
* Not a complete exaggeration. For example, when setting up the MAME Cocktail system, I had no mouse for a solid week, and I was surprised how little difference there is between keyboard (assuming you know all the magic hotkeys, like SHIFT+F10, and how to tab through to the desktop) and mouse usage in Windows XP. What is aggravating is running into non-Microsoft designed dialogs that have screwed up tab order, or worse yet, areas that are physically impossible to navigate to without the mouse.