

Building a Chording Keyboard: Progress So Far - ics
http://blog.mattgauger.com/blog/2013/08/03/building-a-chording-keyboard-lessons-learned-and-progress-so-far/

======
cjh_
Awesome project thanks for sharing.

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](http://geekhack.org/index.php?topic=43132)
[1] [http://i.imgur.com/zQiYmQC.jpg](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?

~~~
mathiasx
I received a reply on Twitter from Bill Buxton, who worked at Xerox/PARC and
other cool places, pointing me at this chapter out of his book:

[http://www.billbuxton.com/input06.ChordKeyboards.pdf](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.

------
nikatwork
Can't find anything on Google, but I saw a docco at least ten years ago of a
marine biologist who made one of these for taking notes underwater.

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.

~~~
lnanek2
Chording keyboards are very common with wearables. The Twiddler being a common
example: [http://www.handykey.com/](http://www.handykey.com/)

~~~
beambot
Fun fact: the Twiddler was a mainstay of Thad Starner's wearable. (Thad was
the tech lead behind Google Glass.) Thad had pretty impressive WPM on a
Twiddler... 80-90 WPM IIRC.

------
lispython
Chording keyboard may get popular in the future.

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](http://www.youtube.com/watch?v=_V2i_7oX8mw)

------
hughlomas
I have wanted to make an infrared-based chording keyboard. Using an infrared
camera, monitor the velocity of the five brightest points and consider a
fingertip contracting to be keypress. Throw a small infrared LED into the
front of a smartphone and a forward facing infrared camera and voila,
smartphone chording keyboard, without taking up any screenspace.

------
dminor
My friend Zack made one called asetniop:
[http://asetniop.com/](http://asetniop.com/)

Now he's working on something similar for Leap Motion and Google Glass:
[http://dextype.com/](http://dextype.com/)

~~~
mathiasx
I'm really looking forward to getting a Leap Motion device! I think there's a
lot of possibility there for programmers that are interested in building a new
input method.

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.)

------
flarg
I had a Microwriter Agenda for a few years (until it got stuck in a system
loop and sounded a reminder alarm every hour until the battery pack ran out) -
had a great chording keyboard.

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.

[1] [http://en.wikipedia.org/wiki/CyKey](http://en.wikipedia.org/wiki/CyKey)

------
kybernetikos
I was pretty excited about [http://chordite.com/](http://chordite.com/) for a
while, but at the moment it's still a build-your-own proposition and I
struggle to find the time.

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).

------
FreakyT
Chord keyboards are pretty cool, historically. I suspect that the reason for
their demise was the notion of "keyboard shortcuts" (Ctrl key, alt key, etc)
taking over most of their functionality.

------
gtani
Orthogonally, i've always wanted a decent pair of foot pedals just to cover
Shift, Control, Option and Alt or run key macros. It might be possible to
coopt one of the new USB guitar pedals that also control DAW (Logic,
ProTools), shd investigate something like:

[http://www.americanmusical.com/Item--i-TCE-GSYSTEM-
LIST](http://www.americanmusical.com/Item--i-TCE-GSYSTEM-LIST)

~~~
mathiasx
This is in the works. While it won't be three pedals to start, I realized the
simplicity of wiring the Teensy to a digital piano foot pedal (like this:
[http://www.amazon.com/M-Audio-Sustain-Pedal-Action-
Keyboards...](http://www.amazon.com/M-Audio-Sustain-Pedal-Action-
Keyboards/dp/B00063678K/)) to build a relatively cheap, durable foot pedal for
computing. I'll be posting about that sub-project soon on my blog.

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/](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.

~~~
mathiasx
For those interested, I just posted about my foot pedal project:
[http://blog.mattgauger.com/blog/2013/08/06/a-simple-text-
edi...](http://blog.mattgauger.com/blog/2013/08/06/a-simple-text-editor-foot-
pedal/)

------
jff
I built a 7-key chording keyset based on the Spiffchorder. It should be
adaptable to almost any configuration. Mine came out a bit blocky and hard to
use due to crappy buttons.

~~~
mathiasx
I have found the Cherry MX switches to be fairly good and reasonably priced.

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.

------
berntb
I've always wondered about the usability of a chording keyboard with a smart
phone's edge (or an xPad) and four areas under the fingers.

(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?

~~~
ics
You might be interested in this[1] which was posted to HN some time ago. iOS
is a no-go for this sort of thing for now at least, but I'm unfamiliar with
Android. For hardware modules I think the thumbs work very well as a modal
control, but on a small touch screen I don't know how it would work.

[1] [http://asetniop.com/](http://asetniop.com/)

~~~
berntb
Thanks! I missed that.

(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?)

