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 pathLabelCellVirtualKeyDesignatorRead as
left.fingers.index.button_1Li1(3, 1)(3, 1)i1SW4Left Hand › Index Finger › Button 1
left.fingers.index.button_2Li2(2, 1)(2, 1)i2SW9Left Hand › Index Finger › Button 2
left.fingers.index.button_3Li3(1, 1)(1, 1)i3SW15Left Hand › Index Finger › Button 3
left.fingers.index.button_4Li4(0, 1)(0, 1)i4SW21Left Hand › Index Finger › Button 4
left.fingers.index.button_5Li5(2, 0)(2, 0)i5SW5Left Hand › Index Finger › Button 5
left.fingers.index.button_6Li6(1, 0)(1, 0)i6SW10Left Hand › Index Finger › Button 6
left.fingers.index.button_7Li7(0, 0)(0, 0)i7SW16Left Hand › Index Finger › Button 7
left.fingers.middle.button_0Lm0(3, 0)(3, 0)m0SW1Left Hand › Middle Finger › Button 0
left.fingers.middle.button_1Lm1(3, 2)(3, 2)m1SW3Left Hand › Middle Finger › Button 1
left.fingers.middle.button_2Lm2(2, 2)(2, 2)m2SW8Left Hand › Middle Finger › Button 2
left.fingers.middle.button_3Lm3(1, 2)(1, 2)m3SW14Left Hand › Middle Finger › Button 3
left.fingers.middle.button_4Lm4(0, 2)(0, 2)m4SW20Left Hand › Middle Finger › Button 4
left.fingers.pinky.button_1Lp1(2, 4)(2, 4)p1SW6Left Hand › Pinky Finger › Button 1
left.fingers.pinky.button_2Lp2(1, 4)(1, 4)p2SW12Left Hand › Pinky Finger › Button 2
left.fingers.pinky.button_3Lp3(0, 4)(0, 4)p3SW18Left Hand › Pinky Finger › Button 3
left.fingers.pinky.button_4Lp4(1, 5)(1, 5)p4SW11Left Hand › Pinky Finger › Button 4
left.fingers.pinky.button_5Lp5(0, 5)(0, 5)p5SW17Left Hand › Pinky Finger › Button 5
left.fingers.ring.button_1Lr1(3, 3)(3, 3)r1SW2Left Hand › Ring Finger › Button 1
left.fingers.ring.button_2Lr2(2, 3)(2, 3)r2SW7Left Hand › Ring Finger › Button 2
left.fingers.ring.button_3Lr3(1, 3)(1, 3)r3SW13Left Hand › Ring Finger › Button 3
left.fingers.ring.button_4Lr4(0, 3)(0, 3)r4SW19Left Hand › Ring Finger › Button 4

Left Hand › Thumb — Left thumb module, 11 keys (left-T11, feature tk)

11 keys.

Canonical pathLabelCellVirtualKeyDesignatorRead as
left.thumb.center.button_1Lt33(0, 1)(4, 1)c3SW10Left Hand › Center thumb row › Button 1
left.thumb.inner.button_1Lt21(0, 0)(4, 0)a2SW9Left Hand › Inner thumb row › Button 1
left.thumb.inner.button_2Lt22(1, 0)(4, 3)b2SW7Left Hand › Inner thumb row › Button 2
left.thumb.inner.button_3Lt23(2, 1)(5, 1)c2SW5Left Hand › Inner thumb row › Button 3
left.thumb.inner.button_4Lt24(1, 2)(4, 5)d2SW8Left Hand › Inner thumb row › Button 4
left.thumb.inner.button_5Lt25(0, 2)(4, 2)e2SW11Left Hand › Inner thumb row › Button 5
left.thumb.outer.button_1Lt11(2, 0)(5, 0)a1SW4Left Hand › Outer thumb row › Button 1
left.thumb.outer.button_2Lt12(3, 0)(5, 3)b1SW2Left Hand › Outer thumb row › Button 2
left.thumb.outer.button_3Lt13(3, 1)(5, 4)c1SW1Left Hand › Outer thumb row › Button 3
left.thumb.outer.button_4Lt14(3, 2)(5, 5)d1SW3Left Hand › Outer thumb row › Button 4
left.thumb.outer.button_5Lt15(2, 2)(5, 2)e1SW6Left 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 pathLabelCellVirtualKeyDesignatorRead as
right.fingers.index.button_1Ri1(3, 1)(9, 1)i1SW2Right Hand › Index Finger › Button 1
right.fingers.index.button_2Ri2(2, 1)(8, 1)i2SW6Right Hand › Index Finger › Button 2
right.fingers.index.button_3Ri3(1, 1)(7, 1)i3SW11Right Hand › Index Finger › Button 3
right.fingers.index.button_4Ri4(0, 1)(6, 1)i4SW17Right Hand › Index Finger › Button 4
right.fingers.index.button_5Ri5(2, 0)(8, 0)i5SW5Right Hand › Index Finger › Button 5
right.fingers.index.button_6Ri6(1, 0)(7, 0)i6SW10Right Hand › Index Finger › Button 6
right.fingers.index.button_7Ri7(0, 0)(6, 0)i7SW16Right Hand › Index Finger › Button 7
right.fingers.middle.button_1Rm1(3, 2)(9, 2)m1SW3Right Hand › Middle Finger › Button 1
right.fingers.middle.button_2Rm2(2, 2)(8, 2)m2SW7Right Hand › Middle Finger › Button 2
right.fingers.middle.button_3Rm3(1, 2)(7, 2)m3SW12Right Hand › Middle Finger › Button 3
right.fingers.middle.button_4Rm4(0, 2)(6, 2)m4SW18Right Hand › Middle Finger › Button 4
right.fingers.pinky.button_1Rp1(2, 4)(8, 4)p1SW9Right Hand › Pinky Finger › Button 1
right.fingers.pinky.button_2Rp2(1, 4)(7, 4)p2SW14Right Hand › Pinky Finger › Button 2
right.fingers.pinky.button_3Rp3(0, 4)(6, 4)p3SW20Right Hand › Pinky Finger › Button 3
right.fingers.pinky.button_4Rp4(1, 5)(7, 5)p4SW15Right Hand › Pinky Finger › Button 4
right.fingers.pinky.button_5Rp5(0, 5)(6, 5)p5SW21Right Hand › Pinky Finger › Button 5
right.fingers.ring.button_1Rr1(3, 3)(9, 3)r1SW4Right Hand › Ring Finger › Button 1
right.fingers.ring.button_2Rr2(2, 3)(8, 3)r2SW8Right Hand › Ring Finger › Button 2
right.fingers.ring.button_3Rr3(1, 3)(7, 3)r3SW13Right Hand › Ring Finger › Button 3
right.fingers.ring.button_4Rr4(0, 3)(6, 3)r4SW19Right Hand › Ring Finger › Button 4
right.fingers.wheel.clickRwc(3, 0)(9, 0)m0SW1 (EVQWGD001)Right Hand › Wheel › Click

Right Hand › Thumb — Right thumb module, 11 keys (right-T11, feature tk)

11 keys.

Canonical pathLabelCellVirtualKeyDesignatorRead as
right.thumb.center.button_1Rt33(0, 1)(10, 1)c3SW10Right Hand › Center thumb row › Button 1
right.thumb.inner.button_1Rt21(0, 0)(10, 0)a2SW11Right Hand › Inner thumb row › Button 1
right.thumb.inner.button_2Rt22(1, 0)(10, 3)b2SW8Right Hand › Inner thumb row › Button 2
right.thumb.inner.button_3Rt23(2, 1)(11, 1)c2SW5Right Hand › Inner thumb row › Button 3
right.thumb.inner.button_4Rt24(1, 2)(10, 5)d2SW7Right Hand › Inner thumb row › Button 4
right.thumb.inner.button_5Rt25(0, 2)(10, 2)e2SW9Right Hand › Inner thumb row › Button 5
right.thumb.outer.button_1Rt11(2, 0)(11, 0)a1SW6Right Hand › Outer thumb row › Button 1
right.thumb.outer.button_2Rt12(3, 0)(11, 3)b1SW3Right Hand › Outer thumb row › Button 2
right.thumb.outer.button_3Rt13(3, 1)(11, 4)c1SW1Right Hand › Outer thumb row › Button 3
right.thumb.outer.button_4Rt14(3, 2)(11, 5)d1SW2Right Hand › Outer thumb row › Button 4
right.thumb.outer.button_5Rt15(2, 2)(11, 2)e1SW4Right Hand › Outer thumb row › Button 5

Controls that are not keys, and indicators

Canonical pathKindDetailRead as
left.bottom.pointer.xaxisaction = MouseMotionLeft Hand › Pointer › X
left.bottom.pointer.yaxisaction = MouseMotionLeft Hand › Pointer › Y
left.thumb.led_1indicatordesignator = LED1, firmware_index = 0Left Hand › Led 1
left.thumb.led_2indicatordesignator = LED2, firmware_index = 1Left Hand › Led 2
right.fingers.wheel.rotateencodersignals = ['FINGER_SCROLL_ENCODER_A', 'FINGER_SCROLL_ENCODER_B'], action = ScrollIncrementRight Hand › Wheel › Rotate
right.bottom.pointer.xaxisaction = MouseMotionRight Hand › Pointer › X
right.bottom.pointer.yaxisaction = MouseMotionRight Hand › Pointer › Y
right.thumb.led_1indicatordesignator = LED1, firmware_index = 0Right Hand › Led 1
right.thumb.led_2indicatordesignator = LED2, firmware_index = 1Right Hand › Led 2

64 switch inputs, 9 other nodes; matrix cells with no switch are not listed (they exist, and stay unbound).

Provenance

  • LYNXware.toml sha256 45d91fe043f923fe…
  • firmware/input-engine/vial.json sha256 2db6163644c879bc…
  • electronics/boards/left-finger-module-21-keys/designators.json sha256 0a6f732dc35ed93c…
  • electronics/boards/left-thumb-module-11-keys/designators.json sha256 e69ef0377ef0cc2b…
  • electronics/boards/right-finger-module-20-keys-scroll-wheel/designators.json sha256 ea5d3bdb582fd088…
  • electronics/boards/right-thumb-module-11-keys/designators.json sha256 701a9a96ae4b2ee9…
  • command: python3 tools/assembly/keys_md.py