I am left handed and I use almost exclusively the left 2/3 of the space bar as it's easier to press it with my left thumb. Maybe I just taught myself the wrong way but I am competent at typing and this Microsoft's keyboard would be just unusable for me. I wonder how it goes for other left-handed people.
This is so true for me that there is a thumb-sized mark on my spacebar where the finish on the plastic is worn because I always press the key at the exact same place.
I am left handed
This is, of course, true for a lot of people. I think the solution is to do what the microsoft keyboard did, but provide a hardware switch to toggle which side is space.
But it also would be useless for gamers, as the left hand is over WSAD and the right hand having the mouse. Space is mapped to jump in many games (some of which you cannot remap), and you gotta jump sometimes.
Watching myself showed I'm using right hand's thumb almost always (like most people according to that article).
Take a look at tenkeyless keyboards, then. They don't have the numpad, but keep everything else the same as a full-size (104 key) keyboard. For example, the Realforce 87U is a tenkeyless keyboard with Topre keyswitches (same as the HHKB): http://elitekeyboards.com/products.php?sub=topre_keyboards,r...
Or if you want Cherry (rather than Topre) switches, the Filco Majestouch 2 Tenkeyless is a good option: http://www.diatec.co.jp/en/det.php?prod_c=765
Or if you want to save a bit more space by pushing the keys at the far right and on the top row up against the main section of the keyboard, there's the Noppoo Choc Mini: http://www.amazon.com/Noppoo-Mechanical-Gaming-Keyboard-Swit...
The Leopold looks like a worthy alternative to the HHKB, with a very similar vibe, especially as they allow you to swap Ctrl / CapsLock via a dip-switch (I wonder if they sell alternate keycaps with the labels swapped too). It seems to occupy a nice price middle-ground between the HHKB Lite (2) and the HHKB Pro, and has nicer switches than the HHKB Lite (to tell the truth, I don't mind the HHKB Lite's feel, but it's a little on the cheap-n-cheerful end)...
[The only significant difference in layout seems to be the "\" key.]
I was looking into this a few days and it doesn't look like Leopold doesn't sell extra single keycaps or sets. You can browse their site (Korean) to confirm http://leopold.co.kr/
I've read that they're rebranded Filco keyboards. The worst thing about the CM Storm is the key cap font, which is just really ugly. And because they're printed on, my wasd keys are fading after 2 years of use.
This is definitely not true. Filco build quality is unmatched in terms of Cherry switch keyboards, although Ducky is getting close these days. The CM Storm keyboards are of noticeably poorer build quality, although you do save some money in return.
Personally, I would get the Filco, since a keyboard isn't something you have to regularly replace. It's worth spending the money on the best keyboard you can get. Same goes for your desk, chair, headphones, and laptop bag. People were shocked at first when I dropped a lot of money on these things, but I'm still using them 5+ years later, where many others have had to buy new ones (especially bags and headphones).
That's why I just switched to using the mouse with my left hand, even though I am right handed.
[1] http://elitekeyboards.com/products.php?sub=leopold,compact&p...
I found a minor but noticeable benefit many years ago switching to the Kinesis Advantage. I've recently switched to the Truly Ergonomic keyboard; I've yet to decide if it's better or worse overall than the Kinesis.
If I have pain or numbness (either of which can last for days), just having my hands rotated to use a flat keyboard for a few minutes could be difficult.
Generally, though, if I get pain in my left hand/arm, it's from excessive typing; in my right, excessive back-and-forth to the pointing device (I use a trackball at home if I do any gaming, pad at work, just so it's not the same device all the time). I have never really been able to use a mouse.
Definitely has a bit of a learning curve, though, for a few weeks I had trouble remembering which keys were where.
https://www.trulyergonomic.com/store/index.php
I'd like to try each of them, but at about $300 each, it gets expensive fast. Have you used the foot pedals on the Kinesis? Are they useful in practice?
As for the pedals, I use them for shift/control, which avoids having to do multiple-key chords. These days I have almost no RSI problems, so I could probably get by without them, but it made a significant difference when it was worse.
As for cost: if you're a programmer, your hands are your life. Investing in proper tools (keyboards, adjustable keyboard trays, chairs) is worth much more than that, IMHO.
1. The TEK feels better in terms of physical key presses. Both use the same Cherry MX Brown switches, but because the Kinesis is a big hollow piece of flimsy plastic and the TEK a very solid brick, the overall effect is noticeably nicer to my fingers at least.
2. The function keys are much better on the TEK.
3. The arrow keys and brackets are better positioned by miles on the TEK. You can remap the keys of course, but the Kinesis only has one column to the right of the 'P' key, it's nearly impossible to find a good place to put them, and I just left them where they are. Similarly, the tilde/backquote key is also on that horrible bottom row on the Kinesis. And those arrow keys...putting left and right on the left hand and up and down on the right hand is one of those things that probably seemed like a good idea on paper, but after maybe seven years using the keyboard, those arrows were every single bit as completely unusable as they were the first day I sat down with it.
4. In contrast, the thumb well ends up being a better place for things like the enter and backspace keys than a single column in the middle, so score one for the Kinesis there.
5. The 209 International TEK has plenty of modifier keys. You get control on each hand, meta on each hand, and a blank key on each hand you can choose how to map. Plus you get a menu key in the middle column, and the space bar is split, so you can remap whichever side you don't use for space for something else. On the Kinesis, the thumb wells only have two modifier keys per side, so if you want symmetric layouts, you're stuck without a command or control key on the Mac, or super/hyper/windows on Windows or Linux. You can remap Caps Lock for that purpose of course, but there's no place on the right hand to put an equivalent key. If you use Emacs on a Mac, you know how badly you need Control, Command, and Option keys, and not having that ability on my Kinesis was one of the biggest reasons I wanted to try the TEK.
6. Remapping keys on the TEK is ridiculously difficult. You have to do the remapping on their web site in a (fairly nice, actually) little Javascript GUI. That part works well enough, but then to apply the changes, you have to download and flash new a new firmware image, which can only be done in Windows. Not in a virtual machine, but with the keyboard plugged into the back of a real USB port on a real Windows computer. I don't own a Windows machine, so any time I want to try out a new remapping, I have to haul my keyboard to work and reboot my Linux box there into Windows. On the Kinesis, you remap on the fly by pressing keys right on the keyboard.
7. I've bought two of both models now, and both are sort of a mixed bag. I can't stress enough how cheaply the Kinesis is made. Every once in a while, I have to take apart the flimsy plastic case and glue the USB hub back down (and yes, it's just glued right to the plastic shell). The TEK is built like a brick, but one of the two has taken a full month of use so far, and it's still not completely "broken in". That's the term that Truly Ergonomic use to refer to the property of your keyboard registering the keys you press. Out of the box, about 15-20 keys either didn't work at all, or else pressing them once would insert anywhere from zero to five or six of whatever letter you pressed. They tell you that you might need to press each key a few hundred times to "break them in". In my case, maybe 25,000 times is more like it. If I didn't live in Iceland, I would have demanded a replacement, but since shipping is such an enormous hassle, I decided to see if it got better, and it mostly has. My first TEK worked perfectly, but this second one still has maybe a 2-3% error rate, either duplicating or ignoring keypresses. Which is way better than the 57% error rate I measured on the 'B' key during the first few days I had it (and several others were nearly as bad).
8. The Kinesis has a USB hub. It snaps away from the case and dangles loose inside the hollow shell occasionally, but you can take the thing apart with a handful of screws and glue it back down at least. The TEK doesn't have USB ports. Not a huge deal I know, but it means that I need a separate USB hub with the TEK, and with the Kinesis, I could do without one.
Summing everything together, #4 is a really big point in favor of the Kinesis. You can get used to either one, but you really have to reach to hit that middle column on the TEK, whereas the Kinesis puts all those keys right under your thumbs. The remapping solution for the TEK is frankly embarrassing, but once you settle on a layout, it's not something you need to do very often. In contrast, the TEK feels better and on the whole, has a layout that is better designed for programmers I think, with the brackets and some other non-special keys in more standard locations. And for me, the modifier key situation is at least as big of an advantage for the TEK as the thumb well is for the Kinesis.
I honestly can't say for sure yet which I prefer. I'm sticking with the TEK for now, and I think, if push comes to shove, that the modifier keys are going to be the clincher, but both are really good keyboards.
Was your keyboard sitting on the edge of the table closest to you or did you place it further away from you to have space on a table for your forearms?
I'm using much less expensive "Microsoft Natural Ergonomic Keyboard 4000 v1.0" for many years and it works good for me.
I use a Kinesis split keyboard now, and it's pretty good, but ESC / F1 are in the wrong place and I had to remap them.
(MS has been serially fucking up the Natural keyboards for nearly a decade now. The 4000 series started the decline, and I can't use the damned things at all now).
A recent poll I posted on HN suggests that I'm in the minority on this one, but I actually don't remap caps lock myself. And I like to think I'm a pretty capable writer, touch typing with a decent WPM.
Consider the following bit of assembly:
.set MBOOT_PAGE_ALIGN, 1<<0
.set MBOOT_MEM_INFO, 1<<1
.set MBOOT_HEADER_MAGIC, 0x1BADB002
.set MBOOT_HEADER_FLAGS, MBOOT_PAGE_ALIGN | MBOOT_MEM_INFO
.set MBOOT_CHECKSUM, -(MBOOT_HEADER_MAGIC + MBOOT_HEADER_FLAGS)
(These are multiboot header definitions used by a kernel to get GRUB to load it, for the curious.)I'm sure there are plenty of programmers who just use the shift key if they were to write code similar to the above, but I simply prefer the caps lock key myself. Habit, perhaps.
That is (↓ meaning shift down and ↑ shift up):
↓mboot-page-align↑
The alternative would seem to be less effcient: <Caps>mboot↓-↑page↓-↑align<Caps>This results in, if optimized instead of tripping over my own fingers the entire time: ↓mboot↑↓-p↑↓age↑↓-↑↓align↑
My old iBook capslock key broke in half I hit it so often. I think my pinkies might break in half if I hit the shift keys at that rate!
In Emacs I would end up typing '↑mb↓ M-/ M-/ M-/' (where Meta is the Option key on my keyboard). Because of the way Emacs completes, I might also do '↑mb↓ M-/ M-BS M-BS ↑P↓ M-/'. Either way that's easier to me that typing it out with caps lock or holding the shift key. The only time I can't complete is when I'm defining something for the first time and I'll get over it in that case since it's very rare.
Yes, but you'd agree it's no panacea, surely. - The main code editors I use all have slightly different completion mechanisms. Using a consistent non-IDE editor, while certainly possible, I find much more clunky than making do. I do use the completion of my primary IDE significantly however. - C++ completion is wonky in general due to the poor language grammar - I don't find defining things particularly rare. Every variable (local, member, or otherwise), every function, every class, every macro... - My muscle memory isn't built around the preprocessor, but around much more multi-context languages (such as C++) where entry as terse as yours will generally break regularly.
My mental state is brittle. Mis-completing identifiers breaks my flow and concentration, whereas typing is almost completely subconcious at this point having practiced it so regularly everywhere from this forum to my first clashes with 16-bit DOS programming. This means I could be seen as wasteful from a pure keystroke perspective on just about every front.
Even in the simple act of googling, I start entering my next, more refined search query while still scanning the results of my previous query. Dynamic search results broke this workflow (prompting me to disable Javascript) as my new text would cause the links I tried to click on to disappear because of the additional text entry, causing the results to refresh. I didn't even realize I was doing it until that change.
My use of completion is similar: Type until I scan the refined identifier to select as an early-bail. The closest I get to your completion style is some blind initial 3-5 character tokens + explicit use of completion keywords in some fairly limited contexts where I have a sufficiently low (1-4%?) failure rate. This translates to C-style free functions in C or C++, and C# members of things (classnames generally get typed out and then Ctrl+.ed for "using ...;" statement generation.) My macro names as a rule are too heavily namespace prefixed to blind-complete in that fashion, with the exception of some locally scoped 1-letter #define s which are #undef ed later in the same scope which need no completion.
While I've experimented with acronym-style completion methods rather than start-of-word-only, I find acronyming to require too much conscious thought, and disambiguation gives me outright struggle. If I'm in a context where the completion simply won't work (say that I haven't imported it yet like I thought I did), I have to go back and retype the entire thing.
You sound like you're using and IDE of some sort. I find their completion to be extremely useful when I can't remember exactly what function I want to call, but less useful when I know it and just want to get it typed out.
I use Emacs so I don't even have the nice semantic completion that IDEs offer (Emacs has some of that with its "cedet", but I can never figure out how to get it to work properly). But Emacs's completion heuristics are good enough for almost everything I do. When you hit the complete key in Emacs (M-/) it first looks backwards through the file you're in looking for the word. Then it looks forward. Then it looks in the other files you have open.
That looking backwards first thing is the key to why it works so well. And that's because most of the time you're referencing variable or macros that are nearby in your code, and almost always just up a few lines. It makes it correct a very high percentage of the time, so much so that I rarely completely type a variable name twice.
Alternatively, Sublime Text supports multi-select. Ctrl-F, mboot[^\s]*\b and alt-enter to select all matches. Then use the command palette to convert to uppercase. Or ~ if you are using Vintage. But this isn't as good as autocomplete.
Anyway I have remapped caps and I miss it occasionally when typing constants. Usually I just hold down Shift, or use ~.
As others have pointed out, once you hit a couple of underscores you're not gaining much with the caps lock (if anything), and your editor should be helping you out, here.
At the same time, I'm really not a fan of all caps and underscores, so I probably don't even use constants as much as I should.
Compaq called them Erase-Ease. I have one and it says 1997 on the back.
To account for left/right preference, you can use a key combination (something like ctrl-alt-shift-escape) to cycle between space-space, backspace-space, space-backspace configurations!
Edit: more links: http://www.thefreelibrary.com/NMB+introduces+Erase-Ease+back...
And a comical example of someone stumbling upon the configuration key combo: https://groups.google.com/forum/#!topic/alt.sys.pc-clone.com...
One area where keyboard designers aren't innovating enough is the spacebar. The left 2/3 of the space bar is rarely used by most touch typists and hogs very accessible real estate. I like how Microsoft split the spacebar on their new keyboard [2] and replaced the left half with backspace, the most commonly typed (but normally most hard to reach) key.
I'm disappointed to see thinkpad/lenovo make these mistakes given their reputation for quality laptop keyboards. I personally use an x230 [3], which has a similar chiclet keyboard as the x1 carbon in the article without the transgressions.
[1] https://github.com/alols/xcape
[2] http://techland.time.com/2012/09/20/new-microsoft-keyboard-s...
[3] http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x230/