Building a Chording Keyboard: Progress So Far
blog.mattgauger.com
blog.mattgauger.com
A few months ago I started on a project to make a 'grip' style chording keyboard [0] also based on the teensy, sadly the project has stalled for a bit (graduated and got a full-time).
I have the keys wired [1] but haven't figure out a nice way to mount them yet, and the firmware isn't finished.
[0] http://geekhack.org/index.php?topic=43132 [1] http://i.imgur.com/zQiYmQC.jpg
EDIT: I always found it a bit sad that I was unable to find much documentation on how Engelbart's original chording keyboard worked, does anyone know of a source where I can read how the keys are chorded?
http://www.billbuxton.com/input06.ChordKeyboards.pdf
The section "The NLS System: Engelbart and English" contains the most detailed explanation of Engelbart's chording keyboard that I've found, and the rest of the chapter is an interesting read.
It had four waterproof buttons, and by pressing various combos he could type one-handed underwater while holding scientific instruments or a camera.
I thought at the time it would be awesome for wearable computers.
Wearable Computing researchers usually use a chording keyboard for typing. You could see how this work with Emacs in real life by Thad Starner (a technical lead on Google's Project Glass) http://www.youtube.com/watch?v=_V2i_7oX8mw
Now he's working on something similar for Leap Motion and Google Glass: http://dextype.com/
My thinking is that a Leap Motion could be used with a standing desk (my current preferred desk setup), in combination with existing keyboard and mouse, to replace key combos to the OS like switching windows/tabs, window management (maximize, minimize, expand to left half of screen, etc.) as well as macros for common commands we type all day (`git push` or running the tests, for example.)
Recently purchased a CyKey [1] (a follow-on by the designer of the Microwriter Keyboard) and it works well (but I think my hands are too small for it).
In both cases I've fond that eventually my hand learns the key strokes and I never forget them, but symbols, brackets etc. are hard to do.
I'd really like a non-dominant-hand, bluetooth, chordal keyboard that can replace the mouse and enables decent typing speed suitable for development (i.e. reasonably easy to type { } [ ] , . @ : / \ *, and supports shortcuts).
...do a search for "emacs foot pedals" and you'll find many results. Years ago when I got my first Mac I had visions of buying all these cool MIDI devices and trying to control it with those. As an 11-year-old without internet access I hit a dead end pretty quick, but there are certainly others with the idea.[1]
[1] http://stackoverflow.com/questions/5928061/using-a-piano-key...
http://www.kinesis-ergo.com/fs-savant-elite.htm http://www.kinesis-ergo.com/fs-elite-single-compatibility.ht...
One thought, since the Teensy can detect button press and button release events, is to code a vim mode where holding the pedal puts you in insert mode and releasing the pedal hits ESC to leave insert mode. We'll see how that works out in practice.
For 3 pedals, you could go with a DIY guitar pedal solution of project boxes and 3 momentary stomp switches (http://www.mammothelectronics.com/ is a good supplier of these parts) but I am unsure about the ergonomics of using one of these pedals constantly. (Guitarists simply stomp them on and off from a standing position. They're generally not pressing and holding the switches for 8 hours from a chair. So it might just cause foot/ankle problems due to the height of the front of the enclosure. More experimentation is needed on my part in this area.) Such a pedal would be way cheaper than the commercial versions from Kinesis and other manufacturers, however, and should be far more configurable / useful on Linux & Mac.
I did some research to see if anyone had open sourced a design for a 3D printer to print a Spiffchorder, but I didn't find anything. Maybe that's the next step? 3D printing these iteratively, to see what fits and what needs to change, seems like a huge win for developing a wearable chording keyboard that is comfortable and durable.
(Four buttons is quite few combinations. You probably need the thumb too, with two-three alternative buttons for it.)
It would be easy to have a learning mode which give feedback about possible combinations, since it is on a screen.
My only (hobby) programming for mobile has been on iOS, where the system keyboard isn't easily replaced. There seems to be things like this in the Android store? Anyone know why this didn't work well enough to be popular?
(They should have "Desktop version" and "iPad version" bigger on the page you linked. I browsed a bit before finding those. Can you buy hardware somewhere?)