I'm not a huge fan of keys only being sent when one is released, so I was wondering if a chording keyboard could be usable if it used a timeout to decide to emit a keystroke. It would note the time since the most recent key was depressed, and if that was greater than a few tens of milliseconds, it would emit the chord (and then behave like a standard keyboard with regard to the key being held).
I wrote a little simulator to play with this and it seems to work pretty well. Once you've learned to type, it's not hard to press all the keys in a chord at once, so the timeout can be at least as low as 30 ms, which feels a lot like regular typing. Maybe a good deal lower with some practice, or if the timeout started low but increased a little as more keys were pressed (to be responsive for one- and two-key chords but forgiving for three- and four-key chords). My simulator has a framerate issue so 30ms is about as low as I can test at the moment.
If the timeout were smaller than the amount of time it generally takes to press and release a key, then when two chords didn't share a finger it would actually be possible to enter the second chord before releasing the first. Although more dexterity would be required to press all the keys within the timeout, less dexterity would be required to change chords.
As far as I can tell this does require the keyboard to "forget" which keys are down whenever it times out, so a person wanting to take advantage of a low timeout in that way would have to forgo typing sequences of multi-key chords by holding the keys down. Although I suppose it would be possible to forget only after one- and two-key chords, so that larger chords which are more difficult to press could still be repeated by repeating only one finger.
I don't know how it would feel on the Twiddler itself but I think there's a lot of potential.
EDIT: I did a few timings and it seems like 30-60ms is about how quick I can press and release a key (if Pure Data is timing accurately). So the scenario I described above is very reasonable.