Have Keyboard, Will Program

February 1, 2009

My beloved Microsoft Natural Keyboard 4000 has succumbed to the relentless pounding of my fingers.

A moment of silence, please.

OK, it still works, technically, but certain keys have become.. unreliable. In particular, the semicolon key is now infuriatingly difficult to use. I don't know if this is God's way of punishing lapsed Visual Basic programmers, or what, but it's incredibly annoying. Yes, I've tried cleaning it repeatedly with compressed air (although I didn't get to the dishwasher quite yet), but no dice. I blame Kernighan, Ritchie, and Anders, in that order. Also, Canada.

Or maybe my keyboard is just worn out. It is three years old. Some of the home row keys and the arrows are worn to a shiny blankness. Perhaps it's time to reinvest in my keyboard.

And why not? As a corollary to We Are Typists First, Programmers Second, a quality keyboard is one of the best (and cheapest) investments you can make in your career. So what makes a good programming keyboard? Well, I can point to a few things that make for a very bad one:

1. Thou Shalt Not Mangle The Home Key Cluster

keyboard with mangled page-up and page-down key cluster

2. Thou Shalt Not Use a Non-Standard Arrow Key Cluster

keyboard with non-standard arrow key cluster

3. Thou Shalt Not Remap the Function Keys

keyboard with remapped function keys and f-lock

These areas are sacrosanct for programmers. Unlike the average home or office user, we depend on our function keys, the home key cluster, and the arrow keys. We use the crap out of these keys. Move those around and you might as well cut our fingers off while you're at it.

I think all programmers can agree on these three. Beyond that, it rapidly becomes a matter of personal preference. Do you like your keyboards ...

  • Ergonomic or standard?
  • Clicky or quiet?
  • Low-profile or normal?
  • Minimalistic or extra function keys?
  • With backlights and LEDs or plain?

There are many small subtleties to key position and size that could also heavily influence your choice. Pick whatever keyboard you like, as long as it's of reasonable quality, and you're comfortable typing on it for long periods. That's the important thing. With that in mind, I'll survey a few popular programming keyboard choices.

I mentioned my beloved Microsoft Natural Keyboard 4000, which is pretty much the holy grail of keyboards to me.

MS Natural Ergonomic 4000

Some people don't care for the non-split spacebar, and the way the keys have a fair bit of resistance -- but that's never bothered me. If you're into the whole ergonomic split layout thing, as I obviously am, it's difficult to go wrong with the Natural 4000. That's why I'm replacing my old keyboard with the very same model. If you hate wires, the wireless equivalent is available -- but only with the Microsoft Natural Ergonomic Desktop 7000 bundle.

If you're into classic keyboards, the DAS Keyboard Professional is another popular choice. Here it is next to the classic IBM Model M, the granddaddy of all PC keyboards.

model-m-vs-das-keyboard.jpg

These are both buckling spring keyboards, part of a long line of venerable keyboard designs going back to 1980. Dan waxes poetic:

These mainstream 'boards, all with one or another variant of the simple and quiet rubber dome switch idea, are perfectly OK for people who don't type much. They may drop dead with or without the assistance of a spilled beverage, but that's no big deal; if your computer's essential to your happiness, buy a spare cheap keyboard in case your main cheap keyboard dies, and use your nasty mushy input devices with my blessing.

If you do type a lot, though, you owe it to yourself to get a good keyboard of one kind or another, for the same reason that people who use the mouse a lot shouldn't settle for some ancient crusty serial-port optomechanical artifact.

Old mouses aren't nice to use, but old keyboards can be, because mouse technology's advanced a lot over the last 20 years, but keyswitch technology was quite mature in 1980. Modern keyboard tech advances have mainly had to do with wireless interfaces, snazzy looks, and making cheap crud cheaper.

The Das got a very favorable review at Tech Report. And it also comes in a super-hardcore blank keycaps edition, if you really want to prove to yourself (and your coworkers) that you can actually touch type. It is a bit spendy, though, particularly when excellent Model M clones can be had for fifty bucks less.

If you're more into laptop-style ultra low profile keyboards, you might prefer the Apple Keyboard.

Apple wired keyboard

Haven't tried this one myself, but I've heard good things; the layout seems solid and the quality superb, as you would expect from Apple.

I read recommendations for each of these keyboards almost daily. But of course I'm only touching the tip of the iceberg in this post. There are at least a dozen other popular contenders, along with a seemingly neverending parade of oddities and curiosities. Such as the Space cadet keyboard.

Whatever your choice, give your keyboard the consideration it deserves; it is the one essential tool of our craft.

Posted by Jeff Atwood
295 Comments

Curiously, I don't mind too much about rule 1. Certainly if anything, I've chosen a keyboard with several properties programmers wouldn't like, that being the MS Wireless Entertainment Desktop 8000 keyboard. Chosen largely for its backlight along with light ergonomics and light keys. It has a completely strange Homekey area, the F-keys are touch based and its got a strange Windows orb button rather than key.

But really, once you get a new keyboard and work with it everyday, you adjust to it and your muscle memory resets. Likewise, having one laptop layout and one desktop layout I can deal with also. But more than that and I get confused. :)

Nidonocu on February 2, 2009 8:06 AM

I've become very partial to the Sun UNIX keyboard layout. Getting the Esc key closer and having the Control key bump the Caps Lock key out of the way makes for much easier use as a programmer.

WilyHacker on February 2, 2009 8:08 AM

http://www.npkdesign.com/projects/HomeOffice/Dell/Dell_keyboard_1.jpg

I really like that Dell keyboard. A lot.

Kenny on February 2, 2009 8:08 AM

I love my Apple keyboard. It feels almost as an extension of the fingers.

erlando on February 2, 2009 8:12 AM

I have an old Elonex keyboard from around 1992. It works perfectly; I don't use it anymore because it's DIN connector can't connect to any computer I own, but I did use it for an old linux box up until about two years ago, and it worked perfectly.

I currently use an IBM SK-8820 for my work desktop, and my (IBM) laptop's keyboard - I don't have any working desktops at home, unfortunately.

I also like Microsoft's old 'simple' keyboards the ones that had a few extra small round non-intrusive buttons (back, forward, calculator, my computer and a few others) and that's it; but I think they've been discontinued.

configurator on February 2, 2009 8:15 AM

The DAS is not buckling spring it's Cherry-mx switches.

The reason the Apple slimline is quite good is that it uses scissor switches like many laptops. Switches and scissors are much better than any amount of Microsoft and Logitech rubber-mat mushy nonsense.

[)amien

Damien Guard on February 2, 2009 8:16 AM

I have to disagree with the first point as well. It took only a short time to get used to the new layout and I find I like the new one a lot more than the old one. The layout feels more natural given the behavior of the keys (mainly Home/End, but the larger delete key is nice too).

I suppose if you use the Insert key often it could be annoying, but I almost never do so I didn't even notice its disappearance.

Andy Herrman on February 2, 2009 8:22 AM

I've got a Microsoft Natural Ergonomic Keyboard 4000 as well, and I've blogged about how you can hack at an XML file from the IntelliType Pro driver to change the zoom slider into a scroll slider. In other words, that little thingy in the middle suddenly becomes useful again and you don't need to move your hands off the keyboard to scroll up and down the same way your mouse's scroll wheel would let you.

http://oliiscool.blogspot.com/2006/11/hacking-microsoft-natural-ergonomic.html

HTH,
- Oli

Olivier Dagenais on February 2, 2009 8:24 AM

Yowza. As a model M user, it boggles my mind that someone could think that three years is an acceptable amount of time for a keyboard to last. My keyboard was made during the Reagan administration and it's still going strong.

Allan Crain on February 2, 2009 8:27 AM

Thou shall always provide both right- and left-side Windows keys.

Makes for an easy one-handed Win+L (lock computer). Very few keyboards have this anymore.

I too am a Microsoft Natural Keyboard 4000 follower. I have tasted the kool-aid and it is good.

Craig on February 2, 2009 8:28 AM

I'm using a IBM model M right now! Manufactured January 18, 1988. I have a few more spares at home I've picked up. They are awesome! People are always shocked that there's no Windows key on it! ;)

Tom Winter on February 2, 2009 8:28 AM

In know not of these standard keyboard things of which you speak. We've gone to laptops in our house. Yup, 6 lappers and no two of them have similar keyboard layouts. Arggg.

Also a curious note, the kids won't use a mouse. They prefer the touch pad.

twmcneil on February 2, 2009 8:28 AM

As someone who does all their programming within Eclipse and vi, I never, ever use the function keys.

Donal on February 2, 2009 8:31 AM

Does anybody know a bluetooth ergonomic keyboard?

I know there's the apple wireless keyboard, but it doesn't have the wrist rest pad and is not V-shaped to make typing more natural, like in the Microsoft Natural Keyboard 4000 of the post.

[I don't want to use an usb port and rely on an undisclosed protocol and manufacturer's wireless encryption utilities - just use the features already in my computers]

Cla on February 2, 2009 8:40 AM

I've used Das Keyboard since some time in 2006 or 2007 and I'm not going back. I had to replace it (spilled soda into it, couldn't get the sticky stuff out well enough) and after looking at various ones I ended up getting another Das Keybaord. The G15 was the other closest contender, but I tried it in a store and didn't like the keypress action, it felt as if it took too much effort to press the keys. Another close contender was the Apple keyboard Jeff listed, simply because I really like the keyboard on my Macbook, it's by far the best laptop keyboard I've tried.

To the people who like having Ctrl where Caps is on most PC keyboards today: What fingers do you use to depress it? I can't imagine using my left little finger to press it, nor any other finger on my left hand. I have to press it with left hand and then type letters with right hand to use a Ctrl key at that position.

Niels on February 2, 2009 8:43 AM

I personally use a brand new model M style, USB, very noisy, but very pleasant to use. I bought it online.
At work, I have a Cherry, which is still pleasant but quiet.
I personally have a distaste for the ergonomic keyboards. To me, they are bulky and unpleasant to use.

Another important thing I always require when at work is a US keyboard. I worked in many different European countries, and in each and every case I was offered a local keyboard. I refused to do any coding until I had a US layout.

Stefano Borini on February 2, 2009 8:45 AM

@WilyHacker, Sun keyboard layouts are a whole other topic. Type 4, type 5, and type 5c are all different layouts. I think you're describing the type 4, while I prefer the more PC-like type 5 (but hate type 5c).

Rob Funk on February 2, 2009 8:47 AM

I have yet to find an ergonomic keyboard that does not have some caveat. The Microsoft Natural Keyboard 4000 is the closest, but the F-Lock annoys me and sometimes the drivers choke.

Still, it's worth it to have my wrists comfy all day.

I also have to say that once you get used to the touch pad, it's not bad. Having to use one under pressure a few times on site when you don't have a mouse available will teach you to get the hang of it.

There are some tricks you can use to make those things fast (such as using two fingers), but they will never be quite as fast as a mouse.

Practicality on February 2, 2009 8:47 AM

As others have pointed out, using emacs/vim makes you pretty unaware of such keyboard luxuries. In fact, I learnt vim because I got a laptop and couldn't do anything at all in the editors I had been used to work with.

After learning vim I can go to any keyboard layout and still be proficient.

name is required on February 2, 2009 8:48 AM

I have to say the huge enter keys are evil. I use backslashes all the time, and accidentally hitting enter when I am trying to type a backslash causes all kinds of crazy commands to be entered.

Practicality on February 2, 2009 8:50 AM

http://www.microsoft.com/hardware/mouseandkeyboard/productdetails.aspx?pid=110

MS Wireless 6000, laptop-style, with short-travel keys. I found myself typing much faster, and if you can learn a lighter touch (as you usually do with a laptop) it does wonders to reduce physical stress.

Anthony on February 2, 2009 8:51 AM

Based on the comments on here, the three or four MS Natural keyboards which I have in the loft might be worth something on eBay.

When I find a keyboard that I like I try and buy 2 or 3. Currently also using the MS 4000.

Chris Royle on February 2, 2009 8:53 AM

I think all programmers can agree on these three.

Not me! Well, one of those can be mildly annoying, but no more so than any of the other dozen mutilations that every keyboard does, like making the keys different shapes/sizes so I can't rearrange them into Dvorak positions so they actually mean what they say.

Arrow keys? Function keys? Home key cluster? I've barely touched these things since I started using Emacs 15 years ago. All they do is make my keyboard take up more space on my desk/lap.

I haven't figured out any benefit to a key whose defining attributes are (a) a completely abstract name, like F9, and (b) being further away from where my hands are. The letter keys are under my fingers already, and I can remember alphabetic mnemonics a lot easier than trying to remember an F-number tuple.

Ken on February 2, 2009 8:53 AM

+1 on the Kinesis Ergo Advantage. Having Ctrl/Alt (along with Enter, BackSpace, and Space), at your mighty strong thumbs has to be experienced rather than explained. I have a few posts over the years on how much I dig this keyboard:

http://www.google.com/search?as_q=kinesisas_sitesearch=cwinters.com

Chris Winters on February 2, 2009 8:55 AM

I love my 1996 IBM KB-8923. It's fairly quiet, with wonderful feel, and the perfect layout. (Wide backspace, backslash below it, Enter below that.) (Which reminds me, I was wrong above; my favorite Sun keyboard is type 5c, which has a similar layout.)

I understand and respect the motivation for Logitech's modified home key cluster, since I rarely want the insert key, but my problem with it is that adding another level of height screws up the way I use those keys (three fingers that can each easily feel which of two keys to hit).

I have trouble finding keyboards I really like because the good-quality ones are designed by people who like older-style keyboards than I do, like loud clickies or Esc where tilde should be or no Meta/Win or Compose/AltGr keys.

Rob Funk on February 2, 2009 8:57 AM

I used to love Microsoft Naturals, but I don't consider them particularly ergonomic since I fell in love with Goldtouch keyboards:

http://www.goldtouch.com/p-64-goldtouch-adjustable-keyboard-black.aspx

These have helped lower my RSI symptoms quite a bit more than the Microsoft keyboards did. Also, I love the layout. Now I *really* hate using ordinary boards because of their awkward location of Home, End, Page Up, and Page Down. Having them not on the same hand as the arrow keys is fantastic.

Adam DiCarlo on February 2, 2009 8:58 AM

I hate Microsoft Natural Keyboards with a passion. Maybe in Redmond, Natural means slow down your touch typing while you accidentally bash the empty space in the middle of the keyboard again and again, but not around here it doesn't.

I love IBM Ms. You can smash them with a 14lb lump hammer and they'll survive. Mine even has num/caps/scroll lock LEDs on it!

Ritchie Swann on February 2, 2009 9:03 AM

Hah, I wrote about this some time ago -- especially this trend of removing the 'Insert' key. The worst thing is that when you ask for a keyboard with a normal layout, or not missing the 'Insert' key, you get strange looks.

Personally, I swear by the Targus AKB05AU. Proper laptop keys, in your standard layout.

Peter on February 2, 2009 9:03 AM

I'm a Linux guy, so I grok the shell, and I use WM's with handy keyboard shortcuts (Openbox and XMonad). My mouse usage has decreased a lot over the years.

I found the Logitech Playstation 3 Bluetooth Gaming keyboard about a year ago, and it's been awesome. For what little I use my mouse, it's right there on my keyboard, so I never have to move my hands and break my flow.

I do keep a USB backup keyboard around, in case an update eats my bluetooth config or the batteries run out. But by and large, this keyboard's been perfect. You hardcore keyboard-junkies might want to give it a try.

http://www.amazon.com/PlayStation-3-Logitech-Cordless-Mediaboard-Pro/dp/B000W5RBQE/ref=sr_1_13/177-2177666-1978544?ie=UTF8s=videogamesqid=1233593808sr=8-13

DrFloob on February 2, 2009 9:04 AM

FWIW, my preferences:

* Ergonomic or standard?
* Clicky or quiet?
* Low-profile or normal?
* Minimalistic or extra function keys?
* With backlights and LEDs or plain?

My IBM Rapid Access II Keyboard is in the neighborhood of 8 years old. And as long as it ain't broke I don't fix it. Fits like a glove.

dh on February 2, 2009 9:05 AM

All 3 good and true commandments. I've had to wait YEARS to get a new keyboard at times because MS keeps falling prey to the stupidity that is 'make it smaller so it fits in a keyboard tray'.

Thankfully, they usually come to their senses when most people refuse to buy the damn things mangled like that.

As for the f-lock - My wife is not a power user and she is CONSTANTLY being tripped up by the fact that her fkeys are not fkeys (when the feature first came out, the fkeys were in their 'off' position by default, thankfully that is not the case with the 4000)

And speaking of the 4000 - you can have it when you pry it from my cold, dead hands, or until MS futher pulls its head out of its ass and makes an even better one. One with all the newest extra buttons AROUND the core goodness of the MS Natural Keyboard, preferably with backlit keys (I code in near dark a LOT of the time, sometimes I like to peek...)

You can probably extend your keyboard's life with some judicious surgery. Don't EVER EVER EVER put it in the dishwasher - you will rot the metal traces on the plastic membrains.

I suspect you either have too much crap collected under the keys and neeed to seriously clean house (pop off the keys, get a vacum. Once removed, you can dump 'em in a colinder, wash em, dry em and replace them) . OR if you have grit IN the membrane, you can go that extra mile and decompose the keyboard CAREFULLY, clean and reassemble it.

Depending on how much your time is worth to you, it might just be easier to buy a new one. The 4000 is the second hardest keyboard to clean I have ever found and it has lead to a forced replacement on one keyboard so far, so if you have budget room...

And then you get bright new keys too (mind you, you loose the mirror like finish you get on keys like the space bar)

Xepol on February 2, 2009 9:06 AM

I used to use the same keyboard as you, I then switchted to using a Kinesis Advantage keyboard when my old keyboard died. I made the switch as I wanted something even more ergonomic and comfortable. I also bought the optional three switch foot pedals and I would recommend this set-up to anyone: I have the same set-up at home!

Daniel on February 2, 2009 9:11 AM

+1 for the Das Keyboard.

I've been using one for a few months now and have been very pleased with it. It's quite speedy and comfortable to type on. The amount of force required on the keys is just right for me - not too mushy and not too stiff.

Obviously, the clicking noise could be a problem if you have an office mate or open workspace setup, but if you have private space or like-minded coworkers (mine describe the clatter as epic).

Also worth mentioning is Metadot's *outstanding* customer service, which helps justify luxury priced items in my book. My keyboard showed up with the little raised home row nubbin on the K key instead of the J key. A seemingly small issue, but extremely annoying to any touch typist. Within minutes, I received a response on my RMA request and was given the choice of either receiving a completely new keyboard or receiving just the J and K keys with the correct home row nubbins. I requested the replacement keytops option so I could continue using the keyboard while I waited (and not have to ship anything back) and lo and behold, the new keys arrived in my mailbox within a couple of days. It may seem like a silly, trivial issue, but the point is that it definitely wasn't treated as such.

Tim Lara on February 2, 2009 9:13 AM

Jeff,

I have the Mac aluminum keyboard that came with my iMac. When I first saw it I thought I would hate it. However, after using it I quickly decided how much I liked it.

Now I am seriously considering getting the bluetooth version for the iMac and moving the wired one to me work PC. This really is a great keyboard. And the small key travel and flat style really makes it esay to type on.

I just hope on my PC I can map the Command key to alt and the Alt/Option key to be the windows key.

BOb

PIlotbob on February 2, 2009 9:15 AM

I have the MS Natural 4000 at home and it is my favorite keyboard by far. However a good mention that falls in to the IBM Model M category is the Dell SK-8135:

http://support.dell.com/support/edocs/acc/P76379/setup.htm

Not only can you pick it up on e-bay for around $5 to $10. But it is well designed, compact, the keys are firm, and have a nice feedback, and it has a nice out of the way assortment of extra keys that don't effect the design or feel. Including a couple of extra USB ports on the top.

It is a great keyboard all around, and I usually take one with me on contracts.

Nick Berardi on February 2, 2009 9:16 AM

I've had my Kinesis keyboard for 12 years now. It not only helped my carpal tunnel, but it keeps people from taking over the typing when I'm working with someone. As soon as they go to grab the keyboard, they recoil in confusion. The only thing not working well is my F5 key, which sucks for applications that use it for starting a debug session.

The downside is that it's so unique looking that I have the same isn't that a cool and bizarre looking keyboard conversation with everyone who stops by my office.

BTW, look for the Kinesis in the Men In Black movies.

Wandercoder on February 2, 2009 9:20 AM

I agree with points 2 and 3. However, I find the 'mangled' home key cluster makes more sense - not the one where delete takes up two keys and insert is removed, but the same shape. It's a heck of a lot easier to use Home and End, since you just have to find the left or right edge. Page down is easy - bottom-right edge - and page up is right above it. that's the nice thing - everything important is on a corner.

Claudiu on February 2, 2009 9:23 AM

My keyboard is beat to hell, but I refuse to give it up. Nothing I hate more than when they mess up my non-standard keys' layouts.

Billkamm on February 2, 2009 9:24 AM

I personally own a TVS Pro, bought way back in 1995 and it is still not in mood to quite at all.

Although it has no frills attached and is not as sleek as the MS Natural but the robust mechanical keys still give me a high. I'd suggest to stick to the rough tough tool to dig deep and long....... so long you might actually be bored of seeing the same one ;)


P.S. : This is a similar model to the classic IBM thing.

Mohit Nanda on February 2, 2009 9:24 AM

I've got a Logitech Media Keyboard. Picked it up for $25 when the keyboard of my LX300 suite stopped working. (I now know that one of the battery terminals fell out, but I have no reason to replace it now)

I've been looking at either getting a G15 or some type of ergonomic keyboard.

I've always loved the feel of an ergonomic keyboard, but I've also used a G11 and if the G15 has anywhere near the same key feel, I'd fall in love with it more than I fell in love with the good old buckling springs of the model M.

Robert on February 2, 2009 9:25 AM

Das Keyboard is not buckling spring.

JD on February 2, 2009 9:25 AM

I personally own two of these: http://www.alphagrips.com/features.html
(Though I must admit my speed on them still isn't as fast as on a normal keyboard.)

Stphane on February 2, 2009 9:27 AM

With that ; key broken, it's the perfect time to switch to Python! :D

Jeffrey S on February 2, 2009 9:32 AM

In particular, the semicolon key is now infuriatingly difficult to use


You could start programming Python and keep that old keyboard. BTW is it me or is the captcha code always 'orange' to submit to this blog?

fschwiet on February 2, 2009 9:33 AM

Microsoft's 'engineers' committed a cardinal sin 10 years ago when they created the first Natural keyboard, and every ergonomic keyboard manufuacturer has been aping them ever since. For some reason known only to the two-fingered typists and Bill himself, they chose to put the '6' key on the left-hand side of the split.

Now as any touch typist knows, when you learn touch typing you learn to hit the '6' key with your right index finger. Oh, sure, if you want to learn how to 10-key you can use the keypad, but that still leaves the '^', or you have to think about what you are doing whenever you type digits in the middle of normal typing (as opposed to straight number entry).

Now, I will grant you that the reach to the '6 is a stretch for the right hand, but it isn't much better for the left hand. A reasonable compromise would have been to make it a bar key (like the space bar), so that the choice would be optional. Now we are stuck with a bad design decision for eternity. I'll stick with my flat keyboard, thank you very much.

Other than that, I think that Jeff's 3 rules are spot on.

Zorro on February 2, 2009 9:35 AM

At 120wpm, I can vouch for the Das that I'm typing on right now. It's probably one of the easiest keyboards to type on that I've ever used.

I also own an Avant Stellar. I think the keys are slightly more resistive, and they're shaped differently than on the Das, but it's also a very nice keyboard. If you like the programmable aspect of the Stellar, that's something it has over the Das.

I'm really not quite sure which one I like better--but maybe that's just because I paid twice as much for the Stellar as my housemate paid for this Das, and so I want to like the Stellar... :-)

-Max

Max Kanat-Alexander on February 2, 2009 9:37 AM

Got to agree on keeping the home cluster standard. Was in an internet cafe somewhere in south america where the keyboard had a power on/off key where the DELETE key should be. I accidentally pressed it after ten minutes writing an email and the whole computer shut down, I lost everything of course.

Ray S on February 2, 2009 9:46 AM

BTC laptop-style keyboard - I live a thin wall away from a Tibetan nun who meditates a lot. The BTC is absolutely quiet and has those scissor-like switches with the nice laptop feel. Best keyboard I've used. BTW, function keys should be on the left where God intended, not up top where Bill Gates decided better - specifically, to kill off WordPerfect in the early nineties.

runbei on February 2, 2009 9:48 AM

I've recently got a Macbook (did have a Mac Mini). I really miss the Home Key cluster and number pad. The keys I miss most are 'delete' and '+'. I'm getting used to 'shift =' instead of '+', but the lack of 'delete' requires a change of editing style which is difficult to do.

I've heard that some programmers use the numeric pad exclusively for numbers and the top row on the main keyboard just for the symbols. I've never felt that comfortable with the numeric pad - I think this is because I'm left handed.

I know you can buy USB numeric keypads, but can you buy USB keypads with home key cluster, arrow keys and numeric pad? Such a device would be awesome for programming at a laptop.

Benedict on February 2, 2009 9:52 AM

As a Friday afternoon exercise recently - we tested the typing speed of a bunch of touch typists in the office including myself with wired Apple vs standard HP US 101 keyboards. People were roughly 20% slower on the Apple Keyboards - net typing speed over 5 one minute tests each. Accuracy was poorer. Normal keyboard for these users was 6 on HP vs 5 on Apple - so about even.

We already had anecdotal evidence that folk who were typing-in-anger all day didn't like the Apple keyboards as much - so this seemed to support their claims a little.

It's a big deal since we buy a lot of keyboards. And, yes, trying to suit everyone with one (or even two) keyboard types is a nightmare. The wrong choice has real effects within an organisation (even a small business!) and can also make the lives of support guys a misery.

Our verdict - if you do a lot of typing - the Apple keyboard is more than likely not the best choice for speed / productivity / general happiness sake.

Campbell on February 2, 2009 9:55 AM

I agree with Nick Berardi - that Dell keyboard is underrated, IMHO. I swear by it, personally. Just clicky enough (but not TOO clicky) and I like having the volume control close at hand (as I code to music pretty much all the time). And those 2 USB ports are handy too - a great place to plug in mice or other things with short USB cords.

Mine is very well used - the keys started with a matte finish, but many are now worn and shiny!

Keithius on February 2, 2009 9:56 AM

I've used my trusty MS Natural 1.0 for 15 years now and am very happy with it. Many of the keys are now without decals so you have to be a typist to use it. I came across one in our local geek recycling store a couple years back and now have a spare, should this one ever die.

Several years ago I bought my wife a Logitech ergonomic keyboard, similar to the MS Natural, I thought. The Page Down key is where the Delete key is on the Natural. When I have to use that keyboard it drives me nuts. Logitech used 2 columns of three keys; the first column is Home, Page Up, Page Down. The Natural has 2 rows of three keys; the lower row is, Delete, End, Page Down. With enough use I could get used to a different layout, but why should I have to.

Steve S on February 2, 2009 10:03 AM

My Coder's Weapon Of Choice is the Cherry STREAM XT:
http://www.cherry.de/english/products/home_office_eVolution_STREAM_XT_Corded_MultiMedia_Keyboard.htm

If you ignore the 6 MM buttons on the top ... which come in handy if you like to listen to your ambient tunes while hacking away ... like I do ... the STREAM has a standard layout, keys with superb tactile feeling to them, an extremely sturdy build, a low profile so you put far less strain on your wrists even without any type of cushion ... oh and it's cheap ... like really cheap (17€ here in germany).

Hope you find the right one :)

Sushi on February 2, 2009 10:06 AM

I've got an IBM Model M on my desk. I might clean it one day, it's a bit brown looking now.

The arrow pad must remain in an inverted T shape, it's what tells me where it is. Years of playing Doom and editing text have trained my fingers to find the arrow pad.

It's like how I can find my mouse using nothing more than peripheral vision. Sometimes this goes wrong and I try to control my PC with a mobile phone or cup of tea :)

James on February 2, 2009 10:26 AM

http://store.microsoft.com/microsoft/Sidewinder-X6-Keyboard/product/DA79495D

I'm getting this. I would prefer if it were split but i love that you can put the numpad on the left. It's also back lit. I don't care for it's design but it's not terrible.

Miloš on February 2, 2009 10:28 AM

I'd like to see Das Ergonomic Keyboard. Maybe one day...

Michael Stum on February 2, 2009 10:38 AM

@Ed: Yeah, as a vi user, I don't need any of those fancy schmancy-arrow keys. H,J,K,L were good enough for my father; they're good enough for me!

I used to use an IBM Type-M in college. While I loved the feel of it, the damn things are LOUD. Especially when you are typing at 80WPM... it sounds like a hurricane is ripping the roof off your dorm room. Tends to wake up the roommate.

I'm using a Microsoft/Razer Reclusa right now, and absolutely love it. Very good feel, backlit keys, and ten programmable keys on the left and right sides of the normal keyboard. The right side ones control Itunes / Winamp (pause/play, next track, previous track), the left side ones launch: firefox, thunderbird, and Itunes or Winamp. If they annoy you because you hit them occasionally when playing games, you can just disable them. They keyboard is also fully macro-able, which is very nice for programmers.

Bill on February 2, 2009 10:38 AM

I don't know the exact model off-hand, but up until recently I had been using a fairly heavy duty black IBM keyboard with a Thinkpad style trackpoint for about a decade. I bought it from some eastern European fellow at a computer show for $10, but I remember looking for replacements online and they were all pretty pricey. A few years later, I spotted and picked up another one, which I eventually had to cannibalize.

Being able to quickly do minor mousing without removing my hands from the keyboard was priceless, great for precision stuff in Photoshop, too. Rugged as hell, too. Unfortunately, my current desktop is all USB, and I can't be bothered to pick up a converter.

Matt Dunphy on February 2, 2009 10:41 AM

+1 Microsoft Comfort Curve 2000 ALL. THE. WAY.

It's simply the best of all worlds.

-non mangled layout.
-Slightly warped for ergonomic comfort, but not 'grotesquely' ergonomic or split.
-Profile is modest, weight is light.
-Key profile is the perfect middle ground between the low laptop feel and the high typewriter feel.
-At $20, there's no reason why this keyboard shouldn't be given away at every programmer's convention.
-Love the calculator launch button over the num pad.
-Volume controls are super convenient gravy.

The only reason I held out on this keyboard for such a long time is that I refused to believe that programmer typing zen could be achieved for only $20.

Matias Nino on February 2, 2009 10:55 AM

I use MS Natural 1.0 keyboards exclusively.

I use Korg TR6 keyboards exclusively.

(Did I mention I was a musician?).

Dave on February 2, 2009 10:57 AM

Don't put your 4000 through the dishwasher! There are ribbon cables inside that water will infiltrate, and the conductive material (whatever it is) will dissolve.

I found that out when someone took a shower in our guest bathroom and left the curtain outside the tub. My office desk in the basement is pretty much right underneath the bathroom. Drip drip drip...

Todd on February 2, 2009 11:00 AM

Another vote for the Avant Stellar. It's not quite as good as the old Northgate's that it's derived from but it's still good.

The old Northgates--I'm typing this on one. It's old enough it has the old AT connector! Still works, though.

Loren Pechtel on February 2, 2009 11:00 AM

Love the Canada comment you threw in on your blame list.

I'd suggest to get the apple keyboard, I have one myself that I use with my PC and its simply amazing, I absolutely love that thing. It is also surprising how little space it takes up compared to other keyboards. Though it is a little pricey for a simple keyboard.

Adam on February 2, 2009 11:01 AM

I have a major keyboard concern that I haven't seen listed here. (I did skim through the previous comments, though, so I may have missed something.)

Does anyone else out there have a recommendation for a big and tall keyboard? I've got large hands, and I haven't been able to find a standard keyboard to my liking. And let's not even mention laptop keyboards.

Does anyone else have this problem? Have you found something that works well for you?

Jay Ramos on February 2, 2009 11:02 AM

As a Lisp programmer, I am somewhat surprised my bracket keys haven't gone yet...

I've one of the IBM Model Ms from the early 90s, though; they seem to be basically indestructible.

That Apple keyboard is actually surprisingly nice. I just assumed it would be terrible due to being laptop-like, and the dreadfulness of all Apple's recent conventional keyboards, but it turns out to be pretty good. Has Apple's evil version of the UK layout, though.

Absolutely can't STAND those weird split MS keyboards, or any other sort of deformed keyboard for that matter.

Robert Synnott on February 2, 2009 11:08 AM

Here's my keyboard: http://i42.tinypic.com/w4h8m.jpg (before it was cleaned for the 109th time)

I think #1: Thou shalt not deviate from the standard layout. would be enough.

My keyboard had extra useless keys (shut down, sleep, wake up; I think) which I removed, in addition to those pesky Windows and Menu keys. Unfortunately, being a Turkish-Q keyboard, there's another extra key where the rest of my backspace should be. Removing it wouldn't help much.

Oh, and as it turns out, the Function key I've quite ungracefully removed had a purpose after all: This stupid keyboard doesn't comply with software typematic rate settings. Pressing Fn+F1~F7 seems to be only way to change them...
Come to think of it, I think it's time to change my keyboard.

aib on February 2, 2009 11:11 AM

I really, really like the cheap but excellent Logitech Ultra X keyboard:

http://www.logitech.com/index.cfm/business/products/keyboards/devices/587cl=gb,en

Vidar on February 2, 2009 11:14 AM

Stick with Natural 4000.

Had it and switched to wireless Natural 7000 bundle - what a mistake to make. 7000 is less responsive, slower and receiver can act funny (at least on Vista 64).

Dejan Vesi on February 2, 2009 11:15 AM

I love the Model M but not as much as its Space Saver 84-key variant, sans numpad. I play Nethack using the vi keys to move, so I can't think of why I'd ever need a numpad.

I have the DIN-5 version. I wish it came in USB. I'd never use anything else.

pete on February 2, 2009 11:23 AM

http://www.newegg.com/Product/Product.aspx?Item=N82E16823126043

I use the Natural 4000 at work because I like the split design for when I do tons of typing at once (plus it helps my Emacs pink), but the keys themselves on the Logitech are sooo much nicer to strike. Plus the backlight looks awesome especially in the dark, and it's incredibly thin yet sturdy.

Interestingly, it actually messes with the Home Key Cluster a bit, which worried me when I was trying to decide to buy it, but in my opinion they actually managed to make it better!

Brad on February 2, 2009 11:25 AM

If you want to go really retro, a company called Unicomp http://pckeyboards.stores.yahoo.net/ still makes the IBM Model M http://en.wikipedia.org/wiki/Model_M_keyboard clicky keyboard from the original molds and tools. They are updated with USB interfaces and sell for $70 each. There was a story on NPR about this on Fri., 01/30: http://www.npr.org/templates/story/story.php?storyId=100076874.

Tim on February 2, 2009 11:25 AM

I'm using what I think of as the best combination of ergonomic and good solid keyboard, the M15 Model-M, ergo keyboard.

They're kind of rare now, and have no number pad (no great loss), probably the only clicky ergo keyboard I've seen.

Bloody marvelous.

Foobie on February 2, 2009 11:30 AM

I have arthritis in my hands, so I prefer a keyboard with a good tactile response but still relatively soft and not requiring much force or travel. I also like large-ish keys because at high speed I can be a bit inaccurate.

The IBM Thinkpad keyboards are pretty much perfect for this. I have a Japanese X32 (12 screen) and despite the compact size the keys are big and have a perfect feel to them. They are also a lot sturdier than most laptop keyboards. You really have to try one to believe how good they are - I can type faster and more accurately than on any other 'board.

You can get desktop versions too, with a built in Ultranav (nipple) which IMHO is also far superior to a trackpad. It means you have to spend less time moving your hand to the mouse just because no-one wants to implement a replace-last-misspelt-word-with-first-suggestion keyboard shortcut.

The only thing they lack is multimedia/programmable keys. I make my own USB 8 button keypad just for that. I'll post details on my web site eventually.

The Apple think keyboards are horrible. There is very little travel or resistance to the keys, which makes them feel hard. Your fingers crash against them rather than being cushioned like normal keyboards.

I'm tempted to try the MSNK 4000, but it's a little bit expensive to take a chance on. If they do a Japanese version I'll be able to find a shop with one over there.

For a really cheap but much better than average keyboard try HP or Dell business keyboards. They are surprisingly good for something that comes free with a system.

MoJo on February 2, 2009 11:43 AM

I have never understood why people need noise from the keyboard to know that they are typing. You know, when I'm typing, I'm typing because I want to, so I kind of know already that I'm typing. And never once, I have looked down, and to my surprise found my fingers typing wildly without me already knowing.

What I have understood though, is that some people want the rest of the office space to know that they are typing. They're hammering on the keys while muttering 'These letters want go away! I will type them so hard that they will survive even the longest power failure'.

And for the 'mangled' home-keys: I will never go back to an non-mangled one. The keys are easier to reach, and I never accidentally hit the insert key anymore.

Vegar on February 2, 2009 11:54 AM

At least one programmer disagrees with all three of your keyboard rules. My only rule is control key directly to the left of 'a'. Happy Hacking Keyboard works for me.

Gary Capell on February 2, 2009 12:05 PM

The Model M is not the granddaddy of all PC keyboards.
Granddad had the function keys (F1-F10) in two columns on the left side, where they belong! ;-)

http://www.vintage-computer.com/images/83key.jpg

Ferruccio on February 2, 2009 12:07 PM

I'm quite happy with my model M. According to the sticker on the back, it will be 20 years young in June, and it's still going strong. Completely reliable, although I probably ought to give it a clean at some point...

The only (occasional) downside is the noise: mostly as my study's next to bedroom, and I'm in danger of waking t'other half up late at night or early morning if I'm not careful with it... :-)

Chris J on February 2, 2009 12:23 PM

I like the Home/End key layout on the Microsoft Basic keyboard.

It has Home on the left and End on the right, but it doesn't have those new-fangled function keys, so Insert, Pause/Break, and Scroll Lock still work, as do F1-F12.

They're only about $25 Australian, so they would be cheaper in the US.

http://www.microsoft.com/hardware/systembuilders/ProductDetails.aspx?pid=009

Mikel Ward on February 2, 2009 12:41 PM

I agree with Jeff, the Microsoft Natural is a wonderful keyboard - I ruined one by spilling my drink on it, and immediately bought another one, even though it's quite an expensive keyboard... I'm really addicted to it now.

The only inconvenients :
- my friends sometimes have trouble using it whenever they have to use my computer (which is quite rare anyway)
- philibert is right when he says Thou shall NOT change the function keys spacing. And the function keys spacing IS changed, on the MNK4000 - going from F1 to F6 then F7 to F12 - which is midly disturbing

An excellent keyboard nonetheless

bob ardkor on February 3, 2009 1:16 AM

I went through the same process of evaluating keyboards last summer. I ended up falling in love with the Dell Bluetooth:

http://blog.looplabel.net/2008/07/20/how-important-is-your-keyboard/

The regular Dell server keyboard is the same thing, only this one is wireless and Bluetooth, i.e. very useful for a laptop with built-in Bluetooth device.

Anders Sandvig on February 3, 2009 1:17 AM

My personal keyboard nirvana is the Logitech G15 (old model, with 18 extra keys). If you go for gaming, and not only programming, it's perfect

Filini on February 3, 2009 1:29 AM

I'm actually a big fan of the Dell keyboard you pointed out a while back:

a href=http://www.codinghorror.com/blog/archives/000327.htmlhttp://www.codinghorror.com/blog/archives/000327.html/a">http://www.codinghorror.com/blog/archives/000327.html/a">http://www.codinghorror.com/blog/archives/000327.htmlhttp://www.codinghorror.com/blog/archives/000327.html/a

I had one thrust upon me at work and it's very satisfying to use, has just the right amount of click, and whatnot - it's persuaded me to get one for home, too...

KJW on February 3, 2009 1:43 AM

Same here. Coming from a really heavy, rock solid Marquardt ergonomic keyboard (http://www.tifaq.org/archive/images/marquardt.jpg), which I picked up at some electronics shop for an unbelievable low price in ~1995, I've been using M$ natural keyboards all the way since then. (Still using the PS/2 models at home while my supply lasts)

At work, I'm using a Microsoft Natural Ergo Keyboard 4000 since 3 weeks (still getting used to, keys seem to be sticky and I don't like the soft rubber mat touch too much) and a Microsoft Comfort Curve Keyboard 2000 for on site work using my laptop.

SoftwareArtist on February 3, 2009 1:52 AM

I too have a MS Natural 4000 and while I love the soft wrist supports the resistance of the keyboard results in very tired hands and bodybuilder forearms.

The keyboard on the Dell XPS M1530 laptop is my favorite; ultralight, great key spacing and I can achieve incredible typing speeds. Wish it was be available as a desktop keyboard.

Ergomane on February 3, 2009 2:10 AM

Just have to second what Adam DiCarlo said. I bought a Goldtouch keyboard ages ago (about eight years I think). It has travelled with me from contract to contract, and has been thoroughly abused in that time. It is still working perfectly. Some of the key surfaces are getting a little shiny by now, but none of the decals is in any way worn; the response of the keys is as good as it ever was. It has survived three or four total dismantles for cleaning without a grumble.

Somehow, having the odd location of the home, end, page up/down keys under the left hand doesn't conflict at all with the customary right hand layout - I can still happily use a keyboard with them there as well. But like Jeff says it bugs the hell out of me when within that right hand cluster they are messed about with.

This keyboard has totally sorted the touch of RSI I feel in my left wrist when typing on a normal or a laptop keyboard, and although it was pricey I rate it the best money I have spent in my life.

DavidM on February 3, 2009 2:19 AM

Some interesting ergonomic keyboards for those in the UK:

http://www.ergonomics.co.uk/keyboards.html

Tom A on February 3, 2009 2:32 AM

ok i get why you blame anders.. you do a lot of c# right?

why do you blame kernighan and ritchie? i recall a podcast where you said you don't know C. the general vibe of blog has always suggested to me that you're not a unix user either.. is that wrong?

dude on February 3, 2009 3:18 AM

http://www.newegg.com/Product/Product.aspx?Item=N82E16823126043

The Logitech Illuminated Keyboard offers an interesting home cluster layout (drops insert and makes delete double size), but it appears to have some disturbing matrixing issues, for fast typists!

http://www.youtube.com/watch?v=-8a5p8UuuLE

Jeff Atwood on February 3, 2009 3:28 AM

Well, I can point to a few things that make for a very bad one

I disagree with all of them.

Use Ctrl-some letter instead of the navigation keys (arrows, home, end, page down, oh, and Alt-v for page up) and Ctrl-d for delete. Use something closer to your fingers than the F1-F12 keys for invoking your own functions. And if your editor won't let you, get a *real* editor, one that's designed for typists first, programmers second :P (smug factor mostly in jest. Mostly.)

It *really* boggles my mind how people who design editors don't see the sense in putting the most frequently used commands together in one big cluster. The most frequent are of course self-insert (key 'u' inserts self, that is the character 'u'), and right after that are the various forms of navigation: back and forward by {character, word, line, paragraph, page}, and then deletion and cut/paste (and copy, but not quite as often). It makes sense that you want to use something close to the letter keys for those common commands. Ctrl-letter is the obvious choice (ctrl is easier to reach than alt).

Speaking of keyboards, I can recommend the Kinesis Ergo Elan out of personal experience. It puts a few more keys under your thumbs, which is a big win. Those are: space, enter, backspace, delete, ctrl, alt, home, end, page up, page down. It also splits the non-thumb key blob in two, one for each hand. The columns are vertically aligned (as opposed to a normal keyboard where e is slightly to the left of d etc.), and the keys are placed on a non-planar surface so as to better match the varying lengths of your fingers.

It also adds a second bottom row (corresponding to where ctrl, alt, space, alt, ctrl are on a normal keyboard), and puts the arrow keys and some punctuation there. An interesting feature is that the arrow keys are split in two groups, up/down for the right hand and left/right for the left hand. In my experience, this works fine.

If you're a numerical keypad addict, you may want to consider mousing with your left hand, since the keypad is embedded in the right-hand part of the keyboard. You adjust to left-mousing surprisingly fast. It's also a good idea if you use the Dvorak layout: then you have copy and paste accessible when you have one hand on the mouse.

One weakness I've found is that some games don't let you set up your own key bindings and really benefit from having all the keys accessible with one hand (among those are Starcraft and Warcraft III that I know of). Use another keyboard for those, or suck it up, or hack the game to enable shortcut keys.

Jonas Klker on February 3, 2009 3:31 AM

Of course the real reason for not messing with the arrow keys is Tetris...

Anyway, my big no-no is wide (rather than tall) enter keys. Not only do they mean that I keep hitting # (or US \) instead of enter, but they also break the pattern of AltGr+; = acute accent on next letter, AltGr+' = circumflex, AltGr+# = grave.

James D on February 3, 2009 3:33 AM

I'm getting this. I would prefer if it were split but i love that you can put the numpad on the left. It's also back lit. I don't care for it's design but it's not terrible.

The fact that you can move the numpad is a great feature of the Sidewinder X6 .. hires image here

http://www.microsoft.com/presspass/images/press/2008/08-20SideWinder_lg.jpg

Jeff Atwood on February 3, 2009 3:35 AM

Best keyboard ever; albeit VERY pricey, Maltron Ergonomic 3D: handbuilt with Cherry MX Switches http://www.maltron.com/maltron-kbd-dual.html, used only for a couple of hours but while I save up for one I use the,

2nd best keyboard ever: Kinesis Advantage, same form factor as the Maltron but substantially cheaper http://www.kinesis-ergo.com/advantage.htm, used for 3 years, 50 hours a week at the office without a hiccup

3rd best keyboard ever: Logitech Wave, kills the MS naturals for key feel reliability, and price, used at home, ~20 hours a week for about 9 months, the next best thing to the Kinesis (at 1/4 the price in Oz) - I have 'broken' 3 MS Natural keyboards over the years, each rarely lasting more than 12 months.

Have a Great day!
pete.

petert on February 3, 2009 3:53 AM

This MS Digital Media 3000 keyboard is interesting

http://www.microsoft.com/presspass/images/press/2008/03-11DMK3000_lg.jpg

http://www.newegg.com/Product/Product.aspx?Item=N82E16823109070

Jeff Atwood on February 3, 2009 3:54 AM

touch typing since 1982. two months on happy hacking pro 2 - black with blank keys) seems like final stop in search of The Holy Keyboard. simply recommended.

sts on February 3, 2009 3:59 AM

I used to have the Microsoft Natural Keyboard 4000. I've been looking at both of these model keyboards as a replacement for my Logitech Dinovo Edge. I'm going to be building a media center style pc and will be using the dinovo edge keyboard. I was looking at these two keyboards, Logitech Wave Pro and the Logitech Ultra-thin Illuminated Keyboard.

Rivageek on February 3, 2009 4:02 AM

BTW, in case anyone cares, I guess my next ergonomic keyboard will be this one :-D

http://www.smartfishtechnologies.com/protected/products_keyboard.php

Why? It is ergonomically shaped; it has those useless numpad and home key cluster... well, I guess you can't have it all.

But there is something new about it no keyboard ever had before. RSI scientists found out that it doesn't really matter what keyboard you use, you can get RSI on *EVERY* keyboard, no matter how it is shaped! RSI is caused by repetitive movements and of course you are always doing the same finger moves on your keyboard, regardless of its shape.

Even the best bend, split, best curved, etc. keyboard causes you to permanently have the same hand positions and performing the same finger movements. But what can be done about it? Smartfish Technologies came up with an interesting idea. Why not building a keyboard that dynamically changes? The keyboard can change in angle and it can change in how far the split parts are apart of each other. However, it's not the user that has to make changes here. Tiny motors are build into the keyboard and the driver makes sure the keyboard regularly slightly changes the key positions. It doesn't make big changes over night (your fingers wouldn't find the keys any longer, your typing speed would suck). Instead it slowly makes these changes in very tiny steps while you are typing. That way the movements of your fingers vary every couple of weeks, a much better RSI prevention than anything else according to scientists.

Also the driver records your average typing speed for every new keyboard position. After some time it learns with which layout you seem to get best typing results. It will still slightly modify its parameter over the time, but always around the positions that seems to give you best typing speed.

Mecki on February 3, 2009 4:05 AM

There is no keyboard in existence as high-quality as the Cherry G80-3000. Still in production, but the one I use is a whopping 18 years old. No signs of aging.

What's also important: Even for modern standards, the keys press down without much force. Activation is very predictable and reliable---If I slip and mistype, I already know if the wrong keypress was registered or not, even without looking at the screen.

On my main machine, I won't be having any other keyboard.

Moe on February 3, 2009 4:31 AM

Don't waste your time with the Apple keyboard. It looks great, has a fine layout, but feels absolutely terrible. Brings back memories of the old PCjr chiclet keyboard... :-(

Brian Knoblauch on February 3, 2009 4:35 AM

I'm with Paul Irwin et al above: the Home key cluster pictured is superior, if you can get used to it, which is easy.

1. You don't hit Insert by mistake
3. Delete is easier to hit, as befitting an important key
2. Home/End at left/right make more sense

Jonathan Drain, Dungeons Dragons Blogger on February 3, 2009 4:59 AM

«Back | More comments»

The comments to this entry are closed.