The Mechanical Keyboard Guide
overclock.net
overclock.net
I picked up a Filco Cherry MX Brown switch keyboard a few years ago and it's still going great: http://www.keyboardco.com/keyboard_details.asp?PRODUCT=646
It's the right balance between tactile feedback and just a little less noise than the blue switches.
I actually need another for my workplace (the one I already have is at home), and this time around I'm going for the ninja variant when they get it back in stock: http://www.keyboardco.com/keyboard_details.asp?PRODUCT=932
We could do a lot worse than giving to every such child, instead of practice in Microsoft Word, a decent (possibly primarily one-handed) chord keyboard on which they learn to touchtype.
What we need is a middleman, maybe MLM, who will do keyboard "tupperware parties" or maybe a stealth middleman under the cover of business RSI prevention consulting. In the old days I could go to compusa and try keyboards, err... and looks like best buy is failing too now... so if you want to actually try a keyboard you're pretty much limited to walmart and the apple store and they've only got one POS to try.
Its interesting how a pretty core part of the clothing retailing business model is built around try before buy, but keyboards don't allow that. If I have 14 business shirts I'll try on the 15th before buying it to "make sure" even though if I totally screw up I still only have to wear it 1/15th of the time even if it doesn't fit perfectly. Yet the keyboard that I have to use every day for hours, eh, just order the cheapest, online, sight unseen, who cares if the employee's hands rot and fall off we'll just hire another...
* How many readers on Hackernews use a Model M keyboard?
* Who uses a keyboard that is better than a Model M (if such a thing exists)?
I would love to see laptop makers innovate more on tactile keyboard feedback.
Of course it does: you just need a proper bag like the guy in the Falling Down movie.
Aside from a pleasant feel and sound, the keyboard's compact size makes it an ideal travel companion. It also has a control key where a caps lock key is found traditionally.
The HHK uses a Topre switch which is a hybrid between a rubber dome and a spring. http://deskthority.net/wiki/Topre_switch
* https://en.wikipedia.org/wiki/Happy_Hacking_Keyboard
* http://elitekeyboards.com/products.php?sub=pfu_keyboards,hhk...
* http://geekhack.org/ -- quite informative about various keyboards and key mods.
[edit: formatting, and more HHK details]
They are expensive keyboards, but when you spend your entire working day and then some on a keyboard, there's no reason not to splash out a little. It has lasted me a couple years already and it's still perfect. Considering buying a Type-S for home to see how that is in comparison to the standard model.
Oh, and that beautiful sound: http://www.youtube.com/watch?v=fWPH7FAUfUY :)
After switching over to a Macbook as my main computer last year, I found it difficult to cope: my Model M didn't have the Mac keys, and Apple keyboards aggravate an RSI I have.
I managed to find a Model M with Apple keys (including media keys) made by Unicomp [0], and it is -- by far -- the best keyboard I've ever seen or used.
Personally there is a keyboard which I find better than a Model M, a Cherry MX5000 (http://www.geek.com/chips/cherry-mx-5000-auction-1491235). Yes, it goes for ridiculous prices when you can find one, but it's a unique keyboard in that it combines three characteristics, it's a space saver keyboard (if you leave out the numpad), it's got an excellent and highly adjustable ergonomic layout, and it's mechanical (brown MX switches). The feel of the keys isn't as good as a model M, but on the whole I enjoyed using it more.
That being said, while I have an MX5000, it's stored away and I just end up using the keyboard on my Thinkpad (the new Lenovo island style keyboards are slowly growing on me).
It's fun talking about keyboards because they invoke a near fetishistic fixation with people who spend their days using one, but in the end it's just a personal choice.
* Cherry switches. These come in several varieties. Many manufacturers use these, Filco is probably the best. Be careful, many gaming keyboard use the Cherry "black" and "red" switches which are non-tactile and not very nice to type on (though gamers apparently like them).
* ALPS-type switches. Common in old keyboards but rare today. Mattias uses these.
* Topre's switches. Also by the Happy Hacking keyboards. Topre has some keyboards with variable key weighting, which is reportedly very nice if you've learned traditional touch typing.
I use a plain cheap Cherry G80-3000 keyboard with "Clear" switches. Build quality is less than a Model M, but I love the key feel.
You quickly learn the difference between a PS/2 to USB CONVERTER which converts PS/2 to USB signals for about $25 and a PS/2 to USB ADAPTER which allows a modern keyboard which can "speak" either USB or PS/2 to physically plug into a PS/2 and costs $1.50. A genuine original model M requires a converter not an adapter.
Another genuine model M aspect not often discussed is you can pop the keycaps off the key with a bent paperclip and engrave emacs annotations on them and/or sharpie letter them and then 15 years later you'll still have to look at emacs keymappings even if you're a mostly VIM guy now. Its kinda like getting a tattoo although there's no convenient laser removal, so don't do it unless you're really sure. Every couple years I pop all my keycaps and put them in a tupperware with some dish soap and give them a shakey bath and they come out clean and the keyboard looks brand new.
For people who've never used/heard a model M, don't freak out about the noise. Its probably 20 dB down from office banter "my ball team is better than your ball team" or whatever. I mean if you're packed in so close than keyboard noise is a big deal, you're probably packed in so tight that there's a hundred other tightly packed issues so one more is no big deal. When your boss won't let you use a model M from home because its "too big" because you've gotta fit seven programmers into a 6x6 cube, the real problem isn't the size of the keyboard. Its not like a jackhammer. Your typical laserprinter is louder and more obnoxious.
Thank you so much for this information. I've actually got an old M model with a DIN plug. It's got coffee stains, cigarette burns (a different era from when you could smoke in the office!) and general grime all over.
I later used it with a DIN to PS/2 cable. It's currently in a box in the spare room with all the other junk, but I might see about getting a PS/2 to USB converter. It's a lovely keyboard, the best I've ever used.
Picture of the IBM M model here: http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Mod...
I'm largely dissatisfied with the world of keyboards; I wish there were a better way to interact with my computer, and until such a time, that people would stop just getting by with whatever garbage the OEM decides to least common denominator them with.
The big problem for me is that there's no way to create new modifier keys (I spend all my time in Emacs, and having a Hyper and Super would be really nice), but that's more a HID problem than a Kinesis one. A minor irritation is that the USB hub doesn't output sufficient amperage to be useful for anything. An even more minor irritation is that sometimes the keyboard will get confused and apply a modifier lock function, but because of some weird quirk will lock Meta rather than Shift, and my windows will go berzerk. It's a trivial state to escape from (I just hit Meta and Caps), and it doesn't happen often enough to rise to the level of I MUST FIX THIS NOW.
What sort of keyboard should I look for for code typing?
Mechanical keyboards can be fun if you enjoy their feel, or if as a gamer, you're needing to be able to hit a key 5+ times per second and have it pick up each and every one. But honestly, for coding, you can get it done on just about anything, as speed isn't the necessity, planning is.
While I agree in principle with planning, I often find that it's easier for me to write and refactor a bunch of times rather than try and get it perfect first time. So being able to type faster would give me slightly less friction per refactor.
You would be able to do those things faster- but when I say that the difference would be minimal, I don't know how to stress it enough. Professional Starcraft players frequently will tell you that until you're operating at above 150 actions per minute MINIMUM, you're not gonna get a damn thing out of a mechanical keyboard that you couldn't from some normal trashy piece.
But, there's nothing wrong with splurging and getting yourself something nice if you just want the satisfaction. Admittedly, there is something just nice about using one. I think they totally end up justifying their cost for myself personally, in the same way that driving a nice car just makes you feel a little better. It isn't that it drives that much better(it does, just not by a huge margin), it isn't that the seats feel more comfortable(same), and it isn't that it looks nicer(often I think they don't). There's just something satisfying about hitting that level of luxury.
But that doesn't make it entirely wise economically, or a requisite, whatsoever. It's just nice. And that's okay.
If you want nice tools that's fine. I've got nothing against it, and I plan on buying many more mechanical keyboards in my life. But a keyboard doesn't change how you code, it doesn't change the real speed of your coding. It might change your satisfaction level during the day if you get caught up in that, but frankly, if you're typing so much that you need the extra precision of a mechanical keyboard to save time, you need to do something about your boilerplate code.
Here's my question - could you please share your experience with a mechanical keyboard to conclude on your statement "For coding, you're gonna be fine with literally any keyboard, including some $20 logitech piece". I am genuinely interested to know.
In my opinion, what you wrote in reply to jiggy2011 is b.s. Mechanical keyboards are good for gaming and equally good for coding (or for that matter even data entry/processing jobs). The reason is they are way more responsive and quicker than a membrane one that usually is on a laptop. It (imho) also helps in your wrist pain and is easy on fingers (as in you don't have to go pressing a key all the way down). If you have hands on a blue-cherry mechanical keyboard, try for a month and then try typing on a laptop keyboard.
@jiggy2011 - i have many keyboards of varied styles. my personal favorite is the CM QuickFire Rapid(tenkeyless and cheaper compared to others). If you are looking for the best in the class (go Filco - made in japan and flawless). Don't fall for the hyped keyboards - daskeyboard,razer,steelcase etc. They are good, but not up there in quality. Specially daskeyboard used to be good when they started out - i would not pick on any daskeyboard built after 2008. They used to make keyboards sourced from Taiwan(better quality), but now source it from an OEM from China. good luck!
Lets be honest here. Programming is not some intensive exercise. Nor should you be getting carpal tunnel as a programmer- if you are, you need to dial back the boilerplate.
I don't enjoy laptop keyboards if only because they force my palms to be raised- I have large hands, so for me it's natural to rest the bottom of my palms on the desk or even on the side of the desk, whereas on a laptop it's at an equal height to the keys- which is annoying as hell. I also dislike the shape of too many laptop keyboards, if only because they seem to prioritize style over feel and key differentiation(lookin' at you, Apple).
But this isn't intense stuff. If you're gaming, or doing high-speed data entry, or even if you're a prolific writer, you may have a real claim. But as a programmer, claiming that you need a mechanical keyboard is nonsense. They're nice, and if you want nice tools, that's okay, and I encourage you to invest. But they're not required, and they're never going to make you a better programmer.
MX Blue switches on an incredibly plain, dull matt plastic chassis that ages incredibly well.
They are one of the cheapest none-gaming mechanical keyboard (and the actual chassis is only fair to good) but the action is superb, completely ruined me for anything else.
http://www.cherry.de/pictures/produkt/gal_2000_G8x-3000_2_US...
I also really like the no-nonsense aesthetics.
The marketing for code writers is usually focused on ... well they're pretty much off the marketing radar.
The marketing for english text writers is focused with laser like intensity on apple hardware. Turing completeness is not allowed in marketing, rather the outlook of how can you do desktop publishing without a mac laptop, there's special assembly language opcodes in the CPU that make macs the only way to do creative stuff. Also there's a fixation on location based marketing like you can only write english text worth reading in a coffee house on a laptop so an external keyboard is a no go.
It might be worth checking out Topre Realforce keyboards as well: they're more rare but many people swear by them.
Take a look at the key layout and imagine yourself using it and see if it makes sense for you.
which holds gems like this:
https://news.ycombinator.com/item?id=2415265
and their wiki, which sorts this knowledge a little bit more accessible:
I switched to the standard Apple keyboard instead. I can't type as fast on it, but it's tolerable at least.
I have just started using a mechanical keyboard a year ago or so. I had already used a few but very little and did not pay attention to the issue they were mechanical until a pro-gamer said he was playing better with mechanical keyboards than normal keyboards.
My Keyboard is one black keyswitches from SteelSeries.
I discovered the key to fantastic typing under those conditions was not the mechanics of the keyboard--it was the layout of the letters.
After working at it full-time for a year or so, I started suffering wrist pain so bad I had to use voice recognition software (which sucked). I switched to the Dvorak layout and by the time I was proficient, the pain had disappeared, and I could type about 10 WPM faster. The pain never came back
It took about six months to remap my brain and muscle memory. Nowadays, it's sometimes a pain if I have to temporarily use another computer and I don't have access to the settings that change the layout. If I see that situation coming, I just bring my own keyboard to work. The only time it became a bigger problem was in a job where IT required a doctor's note before even allowing me to connect another keyboard to the computer or change the setting. I solved that problem by getting another job.
I use a keyboard that can be switched between Dvorak and normal, mainly for the convenience of non-Dvorak users who need to use my computer from time to time (This one: http://www.typematrix.com/), but I find the mechanics or type of keyboard (for example ergonomic or not) fades into insignificance compared to the difference between Dvorak and QWERTY.
Still, a nicely built keyboard can really improve the typing experience. My laptop is a Lenovo, and I love the feel of the keyboard on it.
I don't care what the keycaps say, because I totally touchtype. I bought the cheapest keyboard available for my Raspberry Pi, and the cheap feel is kind of annoying, but the difference between that one and the Lenovo is like between 70% and 90%, despite the quality difference, and most of that is based on having to get used to a different layout of the non-letter keys like delete and control, and not the quality of the mechanism.
I've been coding a lot these days and the work happens much more in the brain and less on the keyboard than in translation. That being the case, I think the appeal of a very high-quality keyboard for programming is probably more a matter of taste than practicality. It's like owning a Ferrari. You will never push it near its limit, but its really fun to drive.
Another consideration: programming makes very heavy use of symbols compared to text writing, and I think a true programmer's keyboard would be one that puts those symbols in easy reach.
So my keyboard recommendations to hackers would be: Find a keyboard with a layout that supports your programming efforts. Next consider what feels good and appeals to your taste. Finally, if you write a lot of text in other contexts besides coding, and if you have some time to suck at typing for six months before getting much better at it, try Dvorak. It will speed up those really long HN posts.
Makes a racket _if you hammer away_
Wish the cord was a bit shorter (might be 6 feet), other than that, love it, tiny little gem.
I suggest that you take a look at http://www.trulyergonomic.com