For the past year and a bit, I have been designing and builging my own
keyboard. The current
iteration, the proto3, is my daily driver, and I like it enough that I
bring it with me when I travel. It supports several input modes, that
are in different states of completion:
- QWERTY: This is the closest layout to a traditional desktop
keyboard. The next post will summarize how I fit a fairly
standard QWERTY keyboard into just 42 keys, while still being able
to type nearly everything I could on a regular keyboard.
- Steno: This is a strict chord keyboard (multiple keys are
pressed together and released) built around 23 keys (plus two
extra in my design). On the proto3, this uses the top two rows,
and the thumb keys. The lower finger row is treated entirely as
the number bar, except that it isn’t in the right place, and ends
up not being particularly useful. Instead, I use what are
affectioniately known as “thumber” keys–the keys to the outside
of the traditional vowel keys. My theory, Phoenix, does not
require the number bar, so this works out. I have started
incorporating number shifts into my shortcuts I use for
programming language constructs.
- Local Steno: Intended as the same use as the above steno mode,
but instead of sending the raw strokes over a special protocol on
an CDC/ACM USB endpoint, the dictionary lookups and translations
are done locally on the keyboard. This is incomplete. The
dictionary lookup is implemented, but I need to work through all
of the rules for stitching text together, while supporting an undo
stroke.
- Taipo: The last layout, and the subject of this post.
Taipo, is a slightly chorded
keyboard. When I first looked at Taipo, it just looked like another
variant of something like Artsey, but with use of two thumb keys
making for less state, and no holding down of keys.