Greetings, all. I thought I'd share my latest keyboard layout experiment: a pseudo-columnar ergonomic revision of the Dvorak layout, which I call "AOEYK."
My goal is to rearrange the keys to allow the hands to rest at a more natural angle on a standard keyboard. (I'm using a laptop, though, so it may not be entirely valid.) This is achevied by rotating the pinky, ring, and middle fingers to the second row while keeping the index fingers on the third. On a QWERTY keyboard, Q W E F and J I O P are the home keys. This twists the wrists less and vaguely provides a more columnar layout than the standard position. However, it also changes the distance to each key, so a layout change to accommodate that finger repoitioning was in order.
Starting with Dvorak, I made common-sense adjusments for the home keys--and then just went to town. I swapped alt and shift, which works with the thumbs now at either end of the shift bar. Control is above alt, and enter is adjacent to the pinky. With some refinement based on Patrick Gillespie's great Keyboard Layout Analyzer,
http://patorjk.com/keyboard-layout-analyzer/, and a few regressions to better work with a true columnar keyboard (like the ErgoDox), I am ready to call it: the AOEYK layout is superior to both Dvorak and Colemak.
Using the first four chapters of Great Expectations as sample text in the Analyzer, AOEYK scores 65.59 while Colemak and Dvorak make do with 63.78 and 62.80, respectfully. Plus, AOEYK makes a standard keyboard act like an ergonomic.
It is important to note that the AOEYK layout sacrifices the number row, so while the numbers are still there it may not work well for programmers.
Implementing the layout (for Windows) required Microsoft's Keyboard Layout Creator and a scancode change in regedit.exe.
KLC file:
http://sdrv.ms/15APlQeBelow are my scancode values; the regedit process is explained at the Experts-Exchange site here:
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/A_2155-Keyboard-Remapping-CAPSLOCK-to-Ctrl-and-Beyond.html00,00,00,00 header
00,00,00,00 header flags
0b,00,00,00 number of entries - "0b" is hex for "11"
1d,00,3a,00 map left control to the caps lock key
3a,00,1d,00 map caps lock to the left control key
38,00,2a,00 map left alt to the left shift key
2a,00,38,00 map left shift to the left alt key
38,e0,36,00 map right alt to the right shift key
36,00,38,e0 map right shift to the right alt key
1c,00,1a,00 map enter to the left bracket key
1a,00,2b,00 map left bracket to the pipe key
2b,00,1d,e0 map the pipe key to the right control key
1d,e0,1c,00 map right control to the enter key
00,00,00,00 null terminator
Looking at the layout in KLC, the brackets are reversed. We swap the keys because the regedit values take effect before the keyboard layout does.
The first three pairs of changes are easy: caps lock and left control are swapped, as are the left and right alt and shift keys.
The last set of changes is a bit difficult because changing the scancodes in regedit changes the input that the keyboard layout sees.
With the above changes (lines beginning "1c", "1a", "2b", and "1d"), the keyboard layout reads:
"enter" where "left bracket" used to be,
"left bracket" where "pipe" used to be,
"pipe" where "right control" used to be, and
"right control" where "enter" used to be.
Since Keyboard Layout Creator won't allow you to move the command keys, this places "enter" and "right control" where they should be in the AOEYK layout, but messes about with "pipe" and "left bracket" in the exchange.
So inputs for the Keyboard Layout Creator change as such:
when the "pipe" key is changed, really the "right control" key is changed, and
where the "left bracket" key is changed, really the "pipe" key is changed.
...which is why the brackets appear backwards in the Keyboard Layout Creator view.
Now, I get to use this creation of mine and see how I like it in practice.