I'm hoping the split spacebar that Microsoft introduced[1] starts catching on with mechanical keyboard makers. The left side of the spacebar currently wastes valuable real estate. Putting another backspace key would move the most typed key into easy reach instead of forcing the right pinky to leap on every error.<p>On the topic of keyboard ergonomics, I also believe that all keyboards should be tenkeyless. It's another case of prioritizing an infrequent action (typing on the numpad) over a frequent action (moving the right hand to the mouse). Users who need a numpad can always get a standalone usb unit.<p>[1] <a href="http://reviews.cnet.com/keyboards/microsoft-sculpt-comfort-keyboard/4505-3134_7-35454626.html" rel="nofollow">http://reviews.cnet.com/keyboards/microsoft-sculpt-comfort-k...</a>
I spend an abnormal amount of time research keyboards and never understood the US HHKB layout because of the diamond arrow keys. A better alternative in my opinion is the KBC Poker: <a href="http://deskthority.net/news-reviews-f4/kbc-poker-sixty-s-take-t125.html" rel="nofollow">http://deskthority.net/news-reviews-f4/kbc-poker-sixty-s-tak...</a><p>I'd say a far better layout than HHKB is the KBC Poker.<p>By holding the Fn key, it changes WASD into the arrow keys; a much more familiar layout to anyone who has ever played a game on a computer. There's also a hotkey to switch right shift, right alt, right menu, and right ctrl into up/left/down/right respectively. This again, I think makes perfect sense for the few situations you might want to be able to single press arrow keys. It also supports this sort of toggle for switching escape and tilde, which is very friendly for anyone who hits escape more often than tilde (probably almost everyone.) It also has things like volume control media keys via the Fn key that I don't believe any HHKB has.<p>Direct link to its layout: <a href="http://i.imgur.com/lGsld.gif" rel="nofollow">http://i.imgur.com/lGsld.gif</a>
Direct link to its layout w/ FN pressed: <a href="http://i.imgur.com/3fvcV.gif" rel="nofollow">http://i.imgur.com/3fvcV.gif</a>
I have the happy hacking keyboard professional 2. It's fantastic. The reason the [fn] key is positioned off, and it's hard to get at the arrow keys, is because the HHKB was specifically designed to make it hard to use the arrow keys, as they are a curse. (stay on Home Row). There are alternatives, hjkl for vim and or CONTROL-... for emacs dudes and dudettes.
There's at least one shortcut that uses control, option, shift, and command, ⌃⌥⇧⌘., which saves a sysdiagnose report to /var/tmp/.<p>The reason why key combinations like ⌥← don't work with Unicode Hex Input is probably because they aren't assigned to control characters. I got ⌥← to work after adding this to keymap 3 in the Unicode Hex Input.keylayout that comes with Ukelele:<p><pre><code> <key code="123" output="&#x001c;"/>
</code></pre>
You could also use DefaultKeyBinding.dict for inserting Greek characters, but it wouldn't work in Xcode or shell views. (See <a href="http://www.hcs.harvard.edu/~jrus/site/KeyBindings/Greek%20Bindings.dict" rel="nofollow">http://www.hcs.harvard.edu/~jrus/site/KeyBindings/Greek%20Bi...</a>) Another option would be to add keymaps to a keylayout file:<p><pre><code> <keyMapSelect mapIndex="8">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="9">
<modifier keys="caps anyShift"/>
</keyMapSelect>
...
<keyMap index="8">
<key code="0" output="α"/>
<key code="1" output="σ"/>
</code></pre>
To assign another key to a holdable caps lock, check "Pass-Through CapsLock LED status" and add something like this to private.xml:<p><pre><code> <autogen>
--KeyToKey--
KeyCode::N,
Option::KEYTOKEY_BEFORE_KEYDOWN,
KeyCode::CAPSLOCK,
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::CAPSLOCK
</autogen>
</code></pre>
I thought something like this might also work:<p><pre><code> <autogen>
--KeyToKey--
KeyCode::A,
ModifierFlag::OPTION_R,
KeyCode::A,
Option::KEYTOKEY_BEFORE_KEYDOWN,
KeyCode::VK_CHANGE_INPUTMODE_RUSSIAN,
KeyCode::VK_WAIT_10MS,
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::VK_WAIT_10MS,
KeyCode::VK_CHANGE_INPUTMODE_FINNISH
</autogen>
</code></pre>
Unicode Hex Input or Greek is not included in inputsourcedef.xml though.
I'm almost ashamed of how excited I was while reading this. Default layouts of keyboards are incredibly ineffective for programming, and I find customization of layouts to be very important.<p>The best thing I ever did was adopting something I found on some dvorak layouts; using AltGr to make any special symbols. Now, AltGr+qwerasdfzxcv makes ()[]^${};/&! for me, which covers 90% of the special characters I write. Not leaving the alphabetical keys for any of these does wonders; It's the little things, really.<p>I'll also try to implement the shift-key training through xmodmap. I'll post the results if I manage!
My favorite keyboard is, hands down, the Microsoft Natural.<p>However, I'm often tempted to try a 122 key IBM:<p><a href="http://pckeyboard.com/page/PC122/UB40B5A" rel="nofollow">http://pckeyboard.com/page/PC122/UB40B5A</a><p>Is anyone here using a 122-key?<p>Another one that tempts me is the Sun Type 7 (the 6 is USB too, but is too 90's):<p><a href="http://www.oracle.com/us/products/servers-storage/desktop-workstations/030752.htm" rel="nofollow">http://www.oracle.com/us/products/servers-storage/desktop-wo...</a>
I'm not sure I would like the caps lock doing double duty as both control and escape, since it seems like it would be easy to accidentally use it wrong. I always remap the caps lock to control, but long ago I trained myself to use control-] in place of escape so I never have to reach for that dreaded key when using vi, and I can also use emacs happily.
It is a shame most of the really good keyboards require so much power that it precludes Bluetooth or mobile usage. I'd love to have a HHKB if it worked wirelessly with both my laptop and tablet.<p><a href="http://beastwith.in/2012/05/17/usiung-power-hungry-tactile-keyboard-ipad/" rel="nofollow">http://beastwith.in/2012/05/17/usiung-power-hungry-tactile-k...</a>
Oddly enough the ctrl key in the home row is a Unix thing (I think it's a Sun invention, but I don't recall). On the original space cadet keyboard (and all the Symbolics keyboards), Rub Out is located where modern day Caps Lock is found (see: <a href="http://en.wikipedia.org/wiki/Space-cadet_keyboard" rel="nofollow">http://en.wikipedia.org/wiki/Space-cadet_keyboard</a>). Ctrl is still located on the bottom row.<p>Has anyone tried remapping a delete key to where the Caps Lock key is found? Is there anyone with a real space cadet keyboard or symbolics keyboard that can comment on using it with vim or emacs?
I really wish I could take part in all this keyboard fun. Unfortunately, there's a 20 degree upward curve in the middle of my right forearm (due to an old injury). This limits my options to the Kinesis Freestyle [1] and maybe the Goldtouch. The Freestyle is okay, but I miss the switches of more substantial keyboards.<p>Can anyone recommend a more hacker-friendly split-in-two keyboard along the lines of those discussed in the article?<p>[1] <a href="http://www.kinesis-ergo.com/freestyle.htm" rel="nofollow">http://www.kinesis-ergo.com/freestyle.htm</a>
This is an excellent compilation of info and tricks and I look forward to using some of it myself on the software side.<p>On the hardware side, I don't think I've ever seen anything surpassing <a href="http://mykeyboard.co.uk/microswitch/" rel="nofollow">http://mykeyboard.co.uk/microswitch/</a> in sheer dedication to the goal of a truly efficient and comfortable/safe keyboard. I wish I had the space, money and time to attempt something similar (also not a laptop as a primary machine, but that's another matter entirely)
The Japanese layout version of the HHKB looks really nice: <a href="http://www.pfu.co.jp/hhkeyboard/lineup/pdkb420w.html" rel="nofollow">http://www.pfu.co.jp/hhkeyboard/lineup/pdkb420w.html</a>
Not sure where you can buy one though.<p>Edit:
Looking at it again, some of the programming related symbol keys are in slightly strange positions and would require some relearning. Plus the right shift is tiny.
Does anyone know how to setup a keyboard to pass absolutely all keys to a VM?<p>I like OSX for power management and driver compatability, but I sorely miss having a tiling window manager. I would like total pass through of keystrokes to a VM. Dropping out of the VM could be accomplished by running a program on the host machine via ssh from the VM.
Inspired by the space cadet: <a href="http://people.xiph.org/~greg/xmodmap.txt" rel="nofollow">http://people.xiph.org/~greg/xmodmap.txt</a><p>Capslock is left control; left control is greek (gets the two sets of alternative characters listed in the file). task button is compose.
Great post. Consider the following changes to the Greek mapping to be consistent with Greek keyboards and the "greek" input mode in Emacs:<p><pre><code> q Q: ; :
w W: ς Σ
y Y: υ Υ
u U: θ Θ
j J: ξ Ξ
x X: χ Χ
c C: ψ Ψ
v V: ω Ω</code></pre>