Keys — generated from the Assembly
Every key once, with each layer's name for it. The canonical path is the identity;
the label is its compact form (Vial legends, keymap comments, log lines); the
cell is the electrical (row, col) the cat puts on the wire; the virtual cell is
where Vial and RMK bind it (input_engine_rules::key_index::physical_to_virtual); the key
is the board-local name (the KiCad Key field); the designator is the switch on the
redrawn board when one exists. Left and right are mirrors: the same path tail is the same
cell on both sides. Regenerate with python3 tools/assembly/keys_md.py.
Left Hand › Fingers — Left finger module, 21 keys (left-F21, feature fk)
21 keys.
| Canonical path | Label | Cell | Virtual | Key | Designator | Read as |
|---|---|---|---|---|---|---|
left.fingers.index.button_1 | Li1 | (3, 1) | (3, 1) | i1 | SW4 | Left Hand › Index Finger › Button 1 |
left.fingers.index.button_2 | Li2 | (2, 1) | (2, 1) | i2 | SW9 | Left Hand › Index Finger › Button 2 |
left.fingers.index.button_3 | Li3 | (1, 1) | (1, 1) | i3 | SW15 | Left Hand › Index Finger › Button 3 |
left.fingers.index.button_4 | Li4 | (0, 1) | (0, 1) | i4 | SW21 | Left Hand › Index Finger › Button 4 |
left.fingers.index.button_5 | Li5 | (2, 0) | (2, 0) | i5 | SW5 | Left Hand › Index Finger › Button 5 |
left.fingers.index.button_6 | Li6 | (1, 0) | (1, 0) | i6 | SW10 | Left Hand › Index Finger › Button 6 |
left.fingers.index.button_7 | Li7 | (0, 0) | (0, 0) | i7 | SW16 | Left Hand › Index Finger › Button 7 |
left.fingers.middle.button_0 | Lm0 | (3, 0) | (3, 0) | m0 | SW1 | Left Hand › Middle Finger › Button 0 |
left.fingers.middle.button_1 | Lm1 | (3, 2) | (3, 2) | m1 | SW3 | Left Hand › Middle Finger › Button 1 |
left.fingers.middle.button_2 | Lm2 | (2, 2) | (2, 2) | m2 | SW8 | Left Hand › Middle Finger › Button 2 |
left.fingers.middle.button_3 | Lm3 | (1, 2) | (1, 2) | m3 | SW14 | Left Hand › Middle Finger › Button 3 |
left.fingers.middle.button_4 | Lm4 | (0, 2) | (0, 2) | m4 | SW20 | Left Hand › Middle Finger › Button 4 |
left.fingers.pinky.button_1 | Lp1 | (2, 4) | (2, 4) | p1 | SW6 | Left Hand › Pinky Finger › Button 1 |
left.fingers.pinky.button_2 | Lp2 | (1, 4) | (1, 4) | p2 | SW12 | Left Hand › Pinky Finger › Button 2 |
left.fingers.pinky.button_3 | Lp3 | (0, 4) | (0, 4) | p3 | SW18 | Left Hand › Pinky Finger › Button 3 |
left.fingers.pinky.button_4 | Lp4 | (1, 5) | (1, 5) | p4 | SW11 | Left Hand › Pinky Finger › Button 4 |
left.fingers.pinky.button_5 | Lp5 | (0, 5) | (0, 5) | p5 | SW17 | Left Hand › Pinky Finger › Button 5 |
left.fingers.ring.button_1 | Lr1 | (3, 3) | (3, 3) | r1 | SW2 | Left Hand › Ring Finger › Button 1 |
left.fingers.ring.button_2 | Lr2 | (2, 3) | (2, 3) | r2 | SW7 | Left Hand › Ring Finger › Button 2 |
left.fingers.ring.button_3 | Lr3 | (1, 3) | (1, 3) | r3 | SW13 | Left Hand › Ring Finger › Button 3 |
left.fingers.ring.button_4 | Lr4 | (0, 3) | (0, 3) | r4 | SW19 | Left Hand › Ring Finger › Button 4 |
Left Hand › Thumb — Left thumb module, 11 keys (left-T11, feature tk)
11 keys.
| Canonical path | Label | Cell | Virtual | Key | Designator | Read as |
|---|---|---|---|---|---|---|
left.thumb.center.button_1 | Lt33 | (0, 1) | (4, 1) | c3 | SW10 | Left Hand › Center thumb row › Button 1 |
left.thumb.inner.button_1 | Lt21 | (0, 0) | (4, 0) | a2 | SW9 | Left Hand › Inner thumb row › Button 1 |
left.thumb.inner.button_2 | Lt22 | (1, 0) | (4, 3) | b2 | SW7 | Left Hand › Inner thumb row › Button 2 |
left.thumb.inner.button_3 | Lt23 | (2, 1) | (5, 1) | c2 | SW5 | Left Hand › Inner thumb row › Button 3 |
left.thumb.inner.button_4 | Lt24 | (1, 2) | (4, 5) | d2 | SW8 | Left Hand › Inner thumb row › Button 4 |
left.thumb.inner.button_5 | Lt25 | (0, 2) | (4, 2) | e2 | SW11 | Left Hand › Inner thumb row › Button 5 |
left.thumb.outer.button_1 | Lt11 | (2, 0) | (5, 0) | a1 | SW4 | Left Hand › Outer thumb row › Button 1 |
left.thumb.outer.button_2 | Lt12 | (3, 0) | (5, 3) | b1 | SW2 | Left Hand › Outer thumb row › Button 2 |
left.thumb.outer.button_3 | Lt13 | (3, 1) | (5, 4) | c1 | SW1 | Left Hand › Outer thumb row › Button 3 |
left.thumb.outer.button_4 | Lt14 | (3, 2) | (5, 5) | d1 | SW3 | Left Hand › Outer thumb row › Button 4 |
left.thumb.outer.button_5 | Lt15 | (2, 2) | (5, 2) | e1 | SW6 | Left Hand › Outer thumb row › Button 5 |
Right Hand › Fingers — Right finger module, 20 keys + scroll wheel (right-F20W, feature fkw)
20 keys + 1 wheel click = 21 switch inputs.
| Canonical path | Label | Cell | Virtual | Key | Designator | Read as |
|---|---|---|---|---|---|---|
right.fingers.index.button_1 | Ri1 | (3, 1) | (9, 1) | i1 | SW2 | Right Hand › Index Finger › Button 1 |
right.fingers.index.button_2 | Ri2 | (2, 1) | (8, 1) | i2 | SW6 | Right Hand › Index Finger › Button 2 |
right.fingers.index.button_3 | Ri3 | (1, 1) | (7, 1) | i3 | SW11 | Right Hand › Index Finger › Button 3 |
right.fingers.index.button_4 | Ri4 | (0, 1) | (6, 1) | i4 | SW17 | Right Hand › Index Finger › Button 4 |
right.fingers.index.button_5 | Ri5 | (2, 0) | (8, 0) | i5 | SW5 | Right Hand › Index Finger › Button 5 |
right.fingers.index.button_6 | Ri6 | (1, 0) | (7, 0) | i6 | SW10 | Right Hand › Index Finger › Button 6 |
right.fingers.index.button_7 | Ri7 | (0, 0) | (6, 0) | i7 | SW16 | Right Hand › Index Finger › Button 7 |
right.fingers.middle.button_1 | Rm1 | (3, 2) | (9, 2) | m1 | SW3 | Right Hand › Middle Finger › Button 1 |
right.fingers.middle.button_2 | Rm2 | (2, 2) | (8, 2) | m2 | SW7 | Right Hand › Middle Finger › Button 2 |
right.fingers.middle.button_3 | Rm3 | (1, 2) | (7, 2) | m3 | SW12 | Right Hand › Middle Finger › Button 3 |
right.fingers.middle.button_4 | Rm4 | (0, 2) | (6, 2) | m4 | SW18 | Right Hand › Middle Finger › Button 4 |
right.fingers.pinky.button_1 | Rp1 | (2, 4) | (8, 4) | p1 | SW9 | Right Hand › Pinky Finger › Button 1 |
right.fingers.pinky.button_2 | Rp2 | (1, 4) | (7, 4) | p2 | SW14 | Right Hand › Pinky Finger › Button 2 |
right.fingers.pinky.button_3 | Rp3 | (0, 4) | (6, 4) | p3 | SW20 | Right Hand › Pinky Finger › Button 3 |
right.fingers.pinky.button_4 | Rp4 | (1, 5) | (7, 5) | p4 | SW15 | Right Hand › Pinky Finger › Button 4 |
right.fingers.pinky.button_5 | Rp5 | (0, 5) | (6, 5) | p5 | SW21 | Right Hand › Pinky Finger › Button 5 |
right.fingers.ring.button_1 | Rr1 | (3, 3) | (9, 3) | r1 | SW4 | Right Hand › Ring Finger › Button 1 |
right.fingers.ring.button_2 | Rr2 | (2, 3) | (8, 3) | r2 | SW8 | Right Hand › Ring Finger › Button 2 |
right.fingers.ring.button_3 | Rr3 | (1, 3) | (7, 3) | r3 | SW13 | Right Hand › Ring Finger › Button 3 |
right.fingers.ring.button_4 | Rr4 | (0, 3) | (6, 3) | r4 | SW19 | Right Hand › Ring Finger › Button 4 |
right.fingers.wheel.click | Rwc | (3, 0) | (9, 0) | m0 | SW1 (EVQWGD001) | Right Hand › Wheel › Click |
Right Hand › Thumb — Right thumb module, 11 keys (right-T11, feature tk)
11 keys.
| Canonical path | Label | Cell | Virtual | Key | Designator | Read as |
|---|---|---|---|---|---|---|
right.thumb.center.button_1 | Rt33 | (0, 1) | (10, 1) | c3 | SW10 | Right Hand › Center thumb row › Button 1 |
right.thumb.inner.button_1 | Rt21 | (0, 0) | (10, 0) | a2 | SW11 | Right Hand › Inner thumb row › Button 1 |
right.thumb.inner.button_2 | Rt22 | (1, 0) | (10, 3) | b2 | SW8 | Right Hand › Inner thumb row › Button 2 |
right.thumb.inner.button_3 | Rt23 | (2, 1) | (11, 1) | c2 | SW5 | Right Hand › Inner thumb row › Button 3 |
right.thumb.inner.button_4 | Rt24 | (1, 2) | (10, 5) | d2 | SW7 | Right Hand › Inner thumb row › Button 4 |
right.thumb.inner.button_5 | Rt25 | (0, 2) | (10, 2) | e2 | SW9 | Right Hand › Inner thumb row › Button 5 |
right.thumb.outer.button_1 | Rt11 | (2, 0) | (11, 0) | a1 | SW6 | Right Hand › Outer thumb row › Button 1 |
right.thumb.outer.button_2 | Rt12 | (3, 0) | (11, 3) | b1 | SW3 | Right Hand › Outer thumb row › Button 2 |
right.thumb.outer.button_3 | Rt13 | (3, 1) | (11, 4) | c1 | SW1 | Right Hand › Outer thumb row › Button 3 |
right.thumb.outer.button_4 | Rt14 | (3, 2) | (11, 5) | d1 | SW2 | Right Hand › Outer thumb row › Button 4 |
right.thumb.outer.button_5 | Rt15 | (2, 2) | (11, 2) | e1 | SW4 | Right Hand › Outer thumb row › Button 5 |
Controls that are not keys, and indicators
| Canonical path | Kind | Detail | Read as |
|---|---|---|---|
left.bottom.pointer.x | axis | action = MouseMotion | Left Hand › Pointer › X |
left.bottom.pointer.y | axis | action = MouseMotion | Left Hand › Pointer › Y |
left.thumb.led_1 | indicator | designator = LED1, firmware_index = 0 | Left Hand › Led 1 |
left.thumb.led_2 | indicator | designator = LED2, firmware_index = 1 | Left Hand › Led 2 |
right.fingers.wheel.rotate | encoder | signals = ['FINGER_SCROLL_ENCODER_A', 'FINGER_SCROLL_ENCODER_B'], action = ScrollIncrement | Right Hand › Wheel › Rotate |
right.bottom.pointer.x | axis | action = MouseMotion | Right Hand › Pointer › X |
right.bottom.pointer.y | axis | action = MouseMotion | Right Hand › Pointer › Y |
right.thumb.led_1 | indicator | designator = LED1, firmware_index = 0 | Right Hand › Led 1 |
right.thumb.led_2 | indicator | designator = LED2, firmware_index = 1 | Right Hand › Led 2 |
64 switch inputs, 9 other nodes; matrix cells with no switch are not listed (they exist, and stay unbound).
Provenance
LYNXware.tomlsha25645d91fe043f923fe…firmware/input-engine/vial.jsonsha2562db6163644c879bc…electronics/boards/left-finger-module-21-keys/designators.jsonsha2560a6f732dc35ed93c…electronics/boards/left-thumb-module-11-keys/designators.jsonsha256e69ef0377ef0cc2b…electronics/boards/right-finger-module-20-keys-scroll-wheel/designators.jsonsha256ea5d3bdb582fd088…electronics/boards/right-thumb-module-11-keys/designators.jsonsha256701a9a96ae4b2ee9…- command:
python3 tools/assembly/keys_md.py