I saw asetniop last week, so I dug an old concept for a chorded 10 finger input method out and implemented it in Elm. Switch your system layout to US and try to type something using the chart.
The next phase will be me learning the layout, so I can see if this approach is even fast enough. :-)
Update: the layout will remain as it is right now - at least on the basic layer. The input method changed: you now don't have to leave all keys to register a chord. Instead you have a 60 milliseconds time frame to press a chord. To speed this up, change hands or leave all keys. 60 milliseconds seem rather short to precisely hit a chord, but it should be enough after some training. Try it out! The big bonus with this system is that —if two consecutive characters are on the same hand— you can switch from one chord to another without leaving all keys. Also, special characters got added.
Finally a keyboard for emacs users! But yeah, this is a nice demo. I managed to type 'www.facebook.com' in around 30 seconds. I would be curious to see if it can approach faster typing speeds after some learning and familiarisation. My gut feeling is that it won't because having to take all your fingers off the keys between letters. It might be faster if a chord is registered after a group of keys have been pressed but before they have been released. Still, an interesting idea.
You are right; the way it works now has a low speed limit. Even when in ~70% the cases you can switch hands and don't need to wait releasing all your fingers. When using your suggestion, the implementation has a hard time figuring out, if you wanted to press AS, or press A and then AS. Keyboard inputs are sequential and not simultaneous. But I'm playing around with some timers right now; if a press comes in you have a time window of some milliseconds before the chord is registered. This has a nice effect on bi- and trigrams; in English you often have to type "th". Making this a roll from your index to middle finger, things should speed up. So e.g. J would become 't' and K 'h', then you can press J, wait some milliseconds and press K.
More utilization for the thumbs! Asetniop uses only the spacebar for the thumbs - the most functional the digits. You have improved the usefulness by an order of magnitude by simply increasing the number of buttons for the thumb. It approaches what the Ergodox keyboard did to the standard QWERTY layout. I like this. Next question would be how to implement 4 way navigation for games and such. Please please please do not do what the Vim editor did. HJKL for 4 way navigation is a horrible idea IJKL is much more sensible.
Any idea on which keys to use instead for navigation? My first idea was to split HJKL onto both hands. So the index fingers handle Up/Down and the middle fingers Left/Right. This would be a bit more comfortable than HJKL because there isn't the strength imbalance on the same axis between the index and small finger … but maybe this isn't the problem at all. I'm open for suggestions!