Why I Wrote TouchCursor
What’s wrong with the ordinary cursor keys? Why would anyone go to the trouble of writing a program like TouchCursor?
I had been getting increasingly irritated by the effect that using the cursor keys was having on my typing. I touch type, after a fashion, so I don’t look at the keyboard while I type. I can hop across to the cursor keys with no difficulty, but I’d sometimes end up mis-aligned after coming back and would start typing garbage (Requiring another diversion to the backspace key and another re-alignment). Even without any typos, it slowed me down.
I’d been dimly aware of the Wordstar “diamond” of cursor keys for a long time. Also, games like Quake typically use the A, S, D and W keys to control movement. If only I could use this sort of layout when editing text!
The last straw was being given a laptop. I wanted to use it, but with its tiny and badly positioned cursor keys, I found it unusable for programming.
A Google search for solutions came up empty, and I didn’t find out that vi could have helped me until later, which is probably a good thing: It would have led me to accept a separate navigation mode in a single editor instead of TouchCursor’s non-modal solution that works in anything.
So TouchCursor was born. There were various deviations from my inspirations: I chose to default to a right-handed layout, to make things similar to the conventional cursor keys. I couldn’t use Ctrl to shift to “cursor mode” like Wordstar, because applications use that in combination with letter keys for many existing functions, and Ctrl would be needed in combination with cursor keys anyway. I tried a mode switch (like vi) and discarded it because I couldn’t keep track of which mode I was in. After considerable experimentation with space bar trickery, I found a solution that feels completely solid. The result is easy to use, doesn’t conflict with existing hotkeys and doesn’t require any re-learning of left hand actions (that is, Shift, Ctrl, and Alt combinations). For me, it’s absolutely indispensable.
