So, as time goes on, and as my hands hurt more and more, I'm considering keyers more and more seriously. I don't care about portability, wearables, or any of that other "it'll be the wave of the future" **** that's been consistently 10 years out for the last 30+ years, and I don't have any doubts that, should I make something like this, I will end up being the only one to use it. Still. My hands ****ing hurt.
Allowing for 2 handed use means we have rather more chording options than a classic "one handed" keyer, whilst retaining the simplicity of (more or less) one key per finger. With 10 fingers, there are already 55 one and 2 key combinations. I think that's workable, at least for text entry (I'm a coder, so I do need a certain number of symbols, although I mainly code in scheme so pretty much all I need is left and right brackets and standard math symbols). I could get away with 55 keys easily enough.
Looking around, I found ASETNIOP, and it appears its creator is here from time to time as well. Having played with it for a while, my opinion is that it's nearly good. Yeah, that sounds pretty damning, but I mark hard; I kinda like it. Mostly what I don't like about it is that it loads the pinkies, and wastes the two thumbs on <SHIFT> and <SPACE>. It's also not possible to do, as far as I can see, <SHIFT><CTRL> and various other combinations of "meta" keys. That, and the fact that it appears to be entirely closed source. Otherwise, it appears to be going pretty much in the right direction, layout-wise, although having numbers and letters on separate layers would make my life hell (try typing a hex constant like 0xf0f0f0f0 with it and you'll see what I mean
)
What else is out there which bears looking at? Velotype's "inverse" palm keys for shift and "space after" are a fantastic idea, and something along those lines could be incorporated into a non-portable keyer, (at least) increasing the chording possibilities. Hell, at the most basic level, 2 palm switches gives 4 layers with effectively zero cost layer shifts, although I'm not sure I'd have a need for any more than 2 layers in normal usage (shift, basically) - dedicating a switch to largely unused stuff seems wasteful.
Shape-wise, I'm looking at something similar to the "handshoe" mouse, based on a relaxed hand position and with adjustable tenting. I figure it's possible to "load" the thumbs more than the other digits, so I'd add a PSP-style thumbstick for each hand as well as a dedicated key. mouse on one, cursor on the other, probably, with dedicated chords for 4 mouse buttons.
Actual layout has to be based on letter and digraph frequency (and possibly trigraphs), ASETNIOP gets that largely right IMO, although I really don't think the "same fingers as QWERTY" mapping is at all useful, at least for my usage - I can touch type qwerty and didn't use that mnemonic at all when playing with ASETNIOP. I'll probably work my layout out using relaxation techniques, and be very surprised when it's totally unlearnable.
I'm really not sure how to deal with CTRL, OPTION, COMMAND and SHIFT. According to letterfrequency.org, (qwerty) keyboard key frequencies are as follows (I suspect that by <Del> they mean <Backspace>)
<Space> e t <Shift> a o i n s r h <Del> l d c u <Enter>
m f p g w y b , . v k ( ) _ ; " = ' - <Tab> x / 0 $ *
1 j : { } > q [ ] 2 z ! < ? 3 + 5 \ 4 # @ | 6 & 9 8 7 % ^ ~ `
Any ideas, particularly on how to deal with the "meta" keys, would be welcome.