* Figuring out a way of updating SendKeys so it's compatible with Python 3.
* Revising Plover so that it's compatible with SendKeys as it is (might be tricky because pyserial requires Python 2.3 or later; plus my heart bucks against the idea of regressing backwards into the unsupported Pythonic past.)
* Finding an alternative to SendKeys -- possibly using the script found in the last comment of this?
On the hardware side of things, I just ordered a Sidewinder X4, which I mentioned in an earlier post. If it's really true that multiple keys of the keyboard will be recognized as chords, maybe I can train my fingers to ignore the slight misalignment between rows and learn how to play the qwerty keyboard like a steno machine. That is:
QWER TY UIOP[
ASDF GH JKL;'
would map to
STPH ** FPLTD
SKWR ** RBGSZ
I tried a little bit experimentally on my laptop's keyboard, just mashing keys into a Vim window ("just mashing keys into a Vim window" came out as "mapfdsxkejrlscn;wxoianfmpdimn", but I think some of the letters weren't recognized, since my Lenovo's keyboard doesn't have any anti-ghosting abilities), and it feels weird, but I think it might be possible with practice. The main barrier I'm worried about is that of determining spaces between strokes. Steno machines register keypresses once all of the keys have been lifted; qwerty keyboards register keypresses as soon as each one is pushed down. Will it be possible to put in some sort of software hack that registers each stroke as finished every time the keyboard realizes that none of its keys are being pressed?