jacobolus: Agreed that the important thing is the space between the hands, not the space between the fingers on each hand.
To answer your question about what's suboptimal about the Kinesis. The problem is this: I have a workflow I'm used to that involves holding down OPTION or OPTION-SHIFT with my left hand, and using the arrow keys with my right hand to cruise through paragraphs at lightspeed while I'm editing prose, occasionally hitting OPTION-BACKSPACE to delete an entire word.
I know I can replicate this functionality with Emacs key bindings, but it's such a fundamental part of my workflow that I'm hesitant to let go of it.
SHIFT and OPTION with the left hand, arrow keys and BACKSPACE with the right hand. I haven't been able to find a way to do this quickly on the Kinesis: http://geekhack.org/index.php?topic=55585.0
Any thoughts?
I’m in the process of making my own prototype ergonomic keyboard, and I still haven’t gotten the build finished, much less written the firmware yet, but my plan for basic navigation is:
* Something like the equivalent of thumb modifier key + (qwerty) ijkl for navigation arrows, and nearby keys for option+arrows, cmd+arrows, pgup/pgdn, etc.
* thumb modifier + qwerty f key (or some key on the left hand) + ijkl &c. for "shifted" navigation, for changing the selection
* thumb modifier + qwerty g key + ijkl &c. for scrolling by 1 pixel or 10 pixels or a screenful, etc. at a time (not exactly sure what USB HIG packets to send for this; it's going to take some research and experimentation).
* thumb modifier + qwerty d key (or similar) + ijkl &c. for shortcuts to do prev/next tab, prev/next window, prev/next application, etc.
* different thumb modifier + ijkl &c. for backward delete, forward delete, delete a word, delete a line, etc.
* different thumb modifier + (qwerty) uiojklm,. etc. for a numpad and common mathematical operators.
Eventually I'd like to add a trackball or jog wheel or scroll wheel or similar which can be used to repeat a pair of commands repeatedly by spinning it one way or the other (e.g. movement, scrolling, deleting, undo/redo, etc.)
Anyhow, I don't know how easy it is to get access to the Kinesis controller / substitute your own programmable controller in, and then add various fancy features. But it seems like it should be at least *possible* to do some nifty stuff, with some effort and creativity. I bet you could make it work better for your own personal workflow than anything any other person/company can come up with. [But might not be worth the trouble for you to spend so much time on customizing stuff.

]