Chord Chart

Since I spend most of my time in a text terminal, I put together a chord chart for the SpiffChorder which fits safely into a standard 80x24 character screen. I made it 78x22 characters in size to allow for a one-character border on all sides.

 +----------+---F-N-CN+   +----------+---F-N-CN+   +----------+------F>CF----+
 | -RMI -C- | a A +   |   | PR-- --- | u U ""  |   | PRMI N-- | numl         |
 | P--I --- | b B \ | |   | PR-- -C- | v V ] } |   | PRMI NC- | kpl          | 
 | --M- -C- | c C 7 & |   | P--- --- | w W 5 % |   | P--- --F | ret  kp ret  |
 | --MI --- | d D / ? |   | P--I -C- | x X &   |   | ---- --F | lshf kp +    |
 | -RMI --- | e E = + |   | -R-- --- | y Y 4 $ |   | PRMI --F | caps kp ins  |
 | P--- -C- | f F 9 ( |   | PR-I --- | z Z ` ~ |   | -R-I --F | tab  kp -    |
 | -R-- -C- | g G 8 * |   | ---- -C- | spc 1 ! |   | --M- --F | bksp kp beg  |
 | -RM- --- | h H 00  |   | PR-- N-- | ; :     |   | -RM- --F | del  kp del  |
 | ---I --- | i I 2 @ |   | --M- N-- | , <     |   | P-MI --F | sclk kp /    |
 | -R-I -C- | j J ()  |   | -RM- N-- | . >     |   | P-M- --F | ptsc kp *    |
 | -R-I --- | k K $   |   | -RMI N-- | ' "     |   | -R-- --F | rght kp rght |
 | ---I -C- | l L 6 ^ |   +----------+-----N---+   | PR-- --F | down kp down |
 | --MI -C- | m M *   |   | -R-- N-- | esc     |   | PRM- --F | pgdn kp pgdn |
 | PRM- -C- | n N [ { |   | PRM- N-- | lal ral |   | ---I --F | left kp left |
 | PRMI -C- | o O 0 ) |   | P--I N-- | ins     |   | --MI --F | up   kp up   |
 | -RM- -C- | p P %   |   | PR-I N-- | lct rct |   | -RMI --F | pgup kp pgup |
 | PR-I -C- | q Q ?   |   | P--- N-- | fnc     |   | PR-I --F | home kp home |
 | --M- --- | r R 3 # |   | --MI -C- | f10     |   | P--I --F | end  kp end  |
 | PRM- --- | s S - _ |   | -RM- -C- | f11     |   | ---- N-F | brk          |
 | PRMI --- | t T 000 |   | PR-- -C- | f12     |   | ---- NCF | rst          |
 +----------+---------+   +----------+---------+   +----------+--------------+

keynav Configuration

I use the keynav utility to emulate a mouse pointer. The default keysym binding it uses is inefficient with the SpiffChorder, so this .keynavrc file will change it to use the cursor movement chords for cutting/moving selection regions, single-finger keypresses for emulated button clicks and two-finger chords for dragging clicks.

clear
daemonize
ctrl+semicolon start
Escape end
Left cut-left
Down cut-down
Up cut-up
Right cut-right
Home move-left
Page_Down move-down
Page_Up move-up
End move-right
space warp,click 1,end
semicolon warp,end
period warp
i warp,click 1,end
r warp,click 2,end
y warp,click 3,end
d warp,drag 1
h warp,drag 2
u warp,drag 3

The Modified NASA Set

The default chordset of the SpiffChorder is referred to as the Modified NASA keybindings in its source code and documentation. This set appears to be based on one developed for Infogrip's BAT Personal Keyboard in the mid-1980s (a joint project with the United States National Aeronautics and Space Administration). The patent for their CHORDIC KEYBOARD SYSTEM was filed with the US Patent Office in 1992, but it has since expired and is currently in the public domain. According to the patent application, the most frequently used primary symbols are mapped into the chords which are the easiest and most efficient to use. (For those who are interested, it goes into much greater detail on the testing methodology and analysis used to determine this correlation.)

The Alpha-Dot Set

Greg Priest-Dorman proposes that Infogrip's chords could be based on the Alpha-dot keyboard used by the US military in the 1970s, but seems to still be looking for confirmation from someone with access to the relevant documentation.


back to The Man-Machine...

CC0 To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to it.