Halves are a straight 104 split: 36 left, 39 right
Labelled layouts for both halves, and the overview redrawn from the real shapes rather than a placeholder ergo core. The 36/39 asymmetry means the two halves are separate board designs, not one file mirrored - README and BOM updated to match. 100 of the 104 positions now have a physical key; only Insert, PrtSc, ScrLk and Pause need a layer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1e335b7ba2
commit
bf6388a061
@@ -11,7 +11,8 @@ Status: **design**. No boards ordered, no firmware written.
|
|||||||
|
|
||||||
| Board | Qty | Keys | Carries |
|
| Board | Qty | Keys | Carries |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| `hardware/half` | 2 (mirrored) | TBD — layout not designed | MCU, matrix, USB-C, SBU split link |
|
| `hardware/half-left` | 1 | **36** | MCU, matrix, USB-C, SBU split link |
|
||||||
|
| `hardware/half-right` | 1 | **39** | MCU, matrix, USB-C, SBU split link |
|
||||||
| `hardware/numpad` | 1 | 25 (16 numpad + 9 nav) | MCU, matrix, 1 encoder, **CH334R hub**, 3 downstream ports |
|
| `hardware/numpad` | 1 | 25 (16 numpad + 9 nav) | MCU, matrix, 1 encoder, **CH334R hub**, 3 downstream ports |
|
||||||
|
|
||||||
**Numpad layout is settled** — see `docs/numpad-layout.svg`, and
|
**Numpad layout is settled** — see `docs/numpad-layout.svg`, and
|
||||||
@@ -145,11 +146,19 @@ socket pads off. FR4 plate is just another JLC board.
|
|||||||
Use [perigoso/keyswitch-kicad-library](https://github.com/perigoso/keyswitch-kicad-library)
|
Use [perigoso/keyswitch-kicad-library](https://github.com/perigoso/keyswitch-kicad-library)
|
||||||
for footprints — don't draw them.
|
for footprints — don't draw them.
|
||||||
|
|
||||||
### Mirrored board files, not a reversible PCB
|
### The halves are two different boards
|
||||||
|
|
||||||
The socket footprint isn't mirror-symmetric, so a reversible board needs two
|
Splitting a full 104 at the 6/T/G/B boundary gives **36 keys left, 39 right** —
|
||||||
socket footprints per key with one populated. Two mirrored layouts sharing one
|
the right side inherits Backspace, Enter, both brackets, the backslash and an
|
||||||
schematic and one BOM is simpler and keeps everything that mattered.
|
extra bottom-row key. They are therefore *not* mirrors, and the earlier plan of
|
||||||
|
one layout flipped for both halves does not survive.
|
||||||
|
|
||||||
|
Two separate designs: two schematics, two layouts, two fab setups, different
|
||||||
|
diode and socket counts. A reversible PCB was never on the table anyway — the
|
||||||
|
hotswap socket footprint isn't mirror-symmetric, so it would have needed two
|
||||||
|
socket footprints per key with one populated.
|
||||||
|
|
||||||
|
See `docs/half-left.svg` and `docs/half-right.svg`.
|
||||||
|
|
||||||
### RGB: numpad underglow only
|
### RGB: numpad underglow only
|
||||||
|
|
||||||
|
|||||||
+8
-6
@@ -16,11 +16,12 @@ ALL,MCU,R1-R2,2,22R 0402,FRC0402F22R0TS,C2929994,0402,Extended,0.0007,"USB D+/D-
|
|||||||
ALL,MCU,R3-R4,2,5.1k 0402,JLC basic library,-,0402,Basic,0.002,"USB-C CC1/CC2 pull-DOWN (Rd - device side)"
|
ALL,MCU,R3-R4,2,5.1k 0402,JLC basic library,-,0402,Basic,0.002,"USB-C CC1/CC2 pull-DOWN (Rd - device side)"
|
||||||
ALL,MCU,R5,1,1.5k 0402,JLC basic library,-,0402,Basic,0.002,"*** SWAP-DEPENDENT *** D+ pull-up. POPULATE for STM32F103. DNF for CH32L103 (internal 1.5k via RB_UC_DEV_PU_EN)"
|
ALL,MCU,R5,1,1.5k 0402,JLC basic library,-,0402,Basic,0.002,"*** SWAP-DEPENDENT *** D+ pull-up. POPULATE for STM32F103. DNF for CH32L103 (internal 1.5k via RB_UC_DEV_PU_EN)"
|
||||||
ALL,MCU,R6-R7,2,10k 0402,FRC0402F1002TS,C25744,0402,Basic,0.003,"BOOT0 pulldown, BOOT1/PB2 pulldown"
|
ALL,MCU,R6-R7,2,10k 0402,FRC0402F1002TS,C25744,0402,Basic,0.003,"BOOT0 pulldown, BOOT1/PB2 pulldown"
|
||||||
HALF,Matrix,D1-Dn,1,1N4148W,1N4148W,C81598,SOD-123,Basic,0.011,"One per key. Qty per your layout"
|
HALF-L,Matrix,D1-D36,36,1N4148W,1N4148W,C81598,SOD-123,Basic,0.011,"Left half: 36 keys"
|
||||||
HALF,Split,R14,1,100R 0402,JLC basic library,-,0402,Basic,0.002,"Series on the SBU net between connector and MCU USART pin"
|
HALF-R,Matrix,D1-D39,39,1N4148W,1N4148W,C81598,SOD-123,Basic,0.011,"Right half: 39 keys"
|
||||||
HALF,Split,D-ESD,1,ESD 5V bidirectional,PESD5V0S1BA,C2827694,SOD-323,Extended,0.036,"On the SBU net - user-exposed signal going to a GPIO"
|
HALF-L/R,Split,R14,1,100R 0402,JLC basic library,-,0402,Basic,0.002,"Series on the SBU net between connector and MCU USART pin"
|
||||||
HALF,Split,J3,1,3-pin header DNF,JST SH,-,-,Consigned,0.02,"*** DNF INSURANCE *** VCC/GND/DATA fallback if SBU proves flaky (bad cables). 3 pads cost nothing"
|
HALF-L/R,Split,D-ESD,1,ESD 5V bidirectional,PESD5V0S1BA,C2827694,SOD-323,Extended,0.036,"On the SBU net - user-exposed signal going to a GPIO"
|
||||||
HALF,Split,-,-,SBU1+SBU2 TIE,-,-,-,-,0.00,"Tie A8 and B8 together on the board. SBU is CROSSED in the cable, so this makes it orientation-proof and doubles the conductor"
|
HALF-L/R,Split,J3,1,3-pin header DNF,JST SH,-,-,Consigned,0.02,"*** DNF INSURANCE *** VCC/GND/DATA fallback if SBU proves flaky (bad cables). 3 pads cost nothing"
|
||||||
|
HALF-L/R,Split,-,-,SBU1+SBU2 TIE,-,-,-,-,0.00,"Tie A8 and B8 together on the board. SBU is CROSSED in the cable, so this makes it orientation-proof and doubles the conductor"
|
||||||
NUMPAD,DNF,J1/U3/R3/R4/R5,0,DO NOT POPULATE,-,-,-,-,0.00,"*** From the ALL block: numpad MCU has NO connector of its own. Its D+/D- route internally to hub downstream port 1. No connector = no ESD part and no CC resistors needed. Saves ~$0.19"
|
NUMPAD,DNF,J1/U3/R3/R4/R5,0,DO NOT POPULATE,-,-,-,-,0.00,"*** From the ALL block: numpad MCU has NO connector of its own. Its D+/D- route internally to hub downstream port 1. No connector = no ESD part and no CC resistors needed. Saves ~$0.19"
|
||||||
NUMPAD,Matrix,D1-D25,25,1N4148W,1N4148W,C81598,SOD-123,Basic,0.011,"25 keys: 16 numpad (no Num key) + 9 nav"
|
NUMPAD,Matrix,D1-D25,25,1N4148W,1N4148W,C81598,SOD-123,Basic,0.011,"25 keys: 16 numpad (no Num key) + 9 nav"
|
||||||
NUMPAD,Encoder,ENC1,1,EC11 detented,EC11L1525G01,C2991196,THT,Extended,1.27,"VOLUME - detented, which is what a stock EC11 already is. Occupies a 2u cell so a full-size knob fits. THT: hand-solder or JLC THT surcharge"
|
NUMPAD,Encoder,ENC1,1,EC11 detented,EC11L1525G01,C2991196,THT,Extended,1.27,"VOLUME - detented, which is what a stock EC11 already is. Occupies a 2u cell so a full-size knob fits. THT: hand-solder or JLC THT surcharge"
|
||||||
@@ -35,7 +36,8 @@ NUMPAD,Hub,U8-U10,3,Ideal diode / OCP,CH213K,C5456874,SOT-23-3,Extended,0.073,"V
|
|||||||
NUMPAD,Hub,R8-R13,6,56k 0402,FRC0402F5602TS,C2906875,0402,Extended,0.0018,"Rp pull-UPS on CC1/CC2 of each downstream port - host side. NOT 5.1k"
|
NUMPAD,Hub,R8-R13,6,56k 0402,FRC0402F5602TS,C2906875,0402,Extended,0.0018,"Rp pull-UPS on CC1/CC2 of each downstream port - host side. NOT 5.1k"
|
||||||
NUMPAD,SBU,-,-,SBU PASS-THROUGH,-,-,-,-,0.00,"*** Passive trace *** Tie SBU1+SBU2 on J5 (left half) and on J6 (right half), then connect the two nets together. Carries QMK split_common UART between the halves. Numpad MCU does NOT touch this net"
|
NUMPAD,SBU,-,-,SBU PASS-THROUGH,-,-,-,-,0.00,"*** Passive trace *** Tie SBU1+SBU2 on J5 (left half) and on J6 (right half), then connect the two nets together. Carries QMK split_common UART between the halves. Numpad MCU does NOT touch this net"
|
||||||
NUMPAD,SBU,D-ESD2,2,ESD 5V bidirectional,PESD5V0S1BA,C2827694,SOD-323,Extended,0.036,"One per half-port SBU net"
|
NUMPAD,SBU,D-ESD2,2,ESD 5V bidirectional,PESD5V0S1BA,C2827694,SOD-323,Extended,0.036,"One per half-port SBU net"
|
||||||
HALF,Switches,SW-,1,MX hotswap socket,CPG151101S11,C41430893,SMD 14.5x5.9mm,Extended,0.037,"One per key. BOTTOM SIDE. Alt: C49352235 (CPG151101S11-2)"
|
HALF-L,Switches,SW-,36,MX hotswap socket,CPG151101S11,C41430893,SMD 14.5x5.9mm,Extended,0.037,"BOTTOM SIDE. Alt: C49352235"
|
||||||
|
HALF-R,Switches,SW-,39,MX hotswap socket,CPG151101S11,C41430893,SMD 14.5x5.9mm,Extended,0.037,"BOTTOM SIDE. Alt: C49352235"
|
||||||
NUMPAD,Switches,SW-,25,MX hotswap socket,CPG151101S11,C41430893,SMD 14.5x5.9mm,Extended,0.037,"One per key. BOTTOM SIDE"
|
NUMPAD,Switches,SW-,25,MX hotswap socket,CPG151101S11,C41430893,SMD 14.5x5.9mm,Extended,0.037,"One per key. BOTTOM SIDE"
|
||||||
NOTE,Assembly,-,-,SINGLE-SIDED,-,-,-,-,-,"Put ALL SMD on the BOTTOM: sockets, MCU, passives, diodes, and any reverse-mount SK6812MINI-E. Top face bare except switch holes. Keeps JLC to one assembly pass"
|
NOTE,Assembly,-,-,SINGLE-SIDED,-,-,-,-,-,"Put ALL SMD on the BOTTOM: sockets, MCU, passives, diodes, and any reverse-mount SK6812MINI-E. Top face bare except switch holes. Keeps JLC to one assembly pass"
|
||||||
NOTE,Mechanical,-,-,PLATE REQUIRED,-,-,-,-,-,"Hotswap needs a switch plate or socket pads tear off during switch insertion. FR4 plate = just another JLC board"
|
NOTE,Mechanical,-,-,PLATE REQUIRED,-,-,-,-,-,"Hotswap needs a switch plate or socket pads tear off during switch insertion. FR4 plate = just another JLC board"
|
||||||
|
|||||||
|
@@ -0,0 +1,42 @@
|
|||||||
|
<svg width="100%" viewBox="0 0 680 614" role="img" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<title>Left half — 36 keys</title><desc>The left side of a 104 layout, split at the 6 / T / G / B boundary.</desc>
|
||||||
|
<text class="th" x="18" y="24">Left half — 36 keys</text>
|
||||||
|
<text class="ts" x="18" y="44">The left side of a 104 layout, split at the 6 / T / G / B boundary.</text>
|
||||||
|
<g class="c-teal"><rect x="51" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="82" y="112" text-anchor="middle">Esc</text></g>
|
||||||
|
<g class="c-teal"><rect x="187" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="218" y="112" text-anchor="middle">F1</text></g>
|
||||||
|
<g class="c-teal"><rect x="255" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="286" y="112" text-anchor="middle">F2</text></g>
|
||||||
|
<g class="c-teal"><rect x="323" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="354" y="112" text-anchor="middle">F3</text></g>
|
||||||
|
<g class="c-teal"><rect x="391" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="422" y="112" text-anchor="middle">F4</text></g>
|
||||||
|
<g class="c-teal"><rect x="493" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="524" y="112" text-anchor="middle">F5</text></g>
|
||||||
|
<g class="c-teal"><rect x="561" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="592" y="112" text-anchor="middle">F6</text></g>
|
||||||
|
<g class="c-teal"><rect x="51" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="82" y="214" text-anchor="middle">`</text></g>
|
||||||
|
<g class="c-teal"><rect x="119" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="150" y="214" text-anchor="middle">1</text></g>
|
||||||
|
<g class="c-teal"><rect x="187" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="218" y="214" text-anchor="middle">2</text></g>
|
||||||
|
<g class="c-teal"><rect x="255" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="286" y="214" text-anchor="middle">3</text></g>
|
||||||
|
<g class="c-teal"><rect x="323" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="354" y="214" text-anchor="middle">4</text></g>
|
||||||
|
<g class="c-teal"><rect x="391" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="422" y="214" text-anchor="middle">5</text></g>
|
||||||
|
<g class="c-teal"><rect x="459" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="490" y="214" text-anchor="middle">6</text></g>
|
||||||
|
<g class="c-teal"><rect x="51" y="246" width="97" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="100" y="282" text-anchor="middle">Tab</text></g>
|
||||||
|
<g class="c-teal"><rect x="153" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="184" y="282" text-anchor="middle">Q</text></g>
|
||||||
|
<g class="c-teal"><rect x="221" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="252" y="282" text-anchor="middle">W</text></g>
|
||||||
|
<g class="c-teal"><rect x="289" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="320" y="282" text-anchor="middle">E</text></g>
|
||||||
|
<g class="c-teal"><rect x="357" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="388" y="282" text-anchor="middle">R</text></g>
|
||||||
|
<g class="c-teal"><rect x="425" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="456" y="282" text-anchor="middle">T</text></g>
|
||||||
|
<g class="c-teal"><rect x="51" y="314" width="114" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="108" y="350" text-anchor="middle">Caps</text></g>
|
||||||
|
<g class="c-teal"><rect x="170" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="202" y="350" text-anchor="middle">A</text></g>
|
||||||
|
<g class="c-teal"><rect x="238" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="270" y="350" text-anchor="middle">S</text></g>
|
||||||
|
<g class="c-teal"><rect x="306" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="338" y="350" text-anchor="middle">D</text></g>
|
||||||
|
<g class="c-teal"><rect x="374" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="406" y="350" text-anchor="middle">F</text></g>
|
||||||
|
<g class="c-teal"><rect x="442" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="474" y="350" text-anchor="middle">G</text></g>
|
||||||
|
<g class="c-teal"><rect x="51" y="382" width="148" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="125" y="418" text-anchor="middle">Shift</text></g>
|
||||||
|
<g class="c-teal"><rect x="204" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="236" y="418" text-anchor="middle">Z</text></g>
|
||||||
|
<g class="c-teal"><rect x="272" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="304" y="418" text-anchor="middle">X</text></g>
|
||||||
|
<g class="c-teal"><rect x="340" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="372" y="418" text-anchor="middle">C</text></g>
|
||||||
|
<g class="c-teal"><rect x="408" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="440" y="418" text-anchor="middle">V</text></g>
|
||||||
|
<g class="c-teal"><rect x="476" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="508" y="418" text-anchor="middle">B</text></g>
|
||||||
|
<g class="c-teal"><rect x="51" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="91" y="486" text-anchor="middle">Ctrl</text></g>
|
||||||
|
<g class="c-teal"><rect x="136" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="176" y="486" text-anchor="middle">Win</text></g>
|
||||||
|
<g class="c-teal"><rect x="221" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="261" y="486" text-anchor="middle">Alt</text></g>
|
||||||
|
<g class="c-teal"><rect x="306" y="450" width="165" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="388" y="486" text-anchor="middle">Space</text></g>
|
||||||
|
<text class="ts" x="18" y="558">Widest row is the function row at 8.5u — about 162 mm. Thumb key is a 2.5u space.</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.0 KiB |
@@ -0,0 +1,45 @@
|
|||||||
|
<svg width="100%" viewBox="0 0 680 614" role="img" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<title>Right half — 39 keys</title><desc>The right side of the same 104. PrtSc, ScrLk, Pause and Insert are not on any board.</desc>
|
||||||
|
<text class="th" x="18" y="24">Right half — 39 keys</text>
|
||||||
|
<text class="ts" x="18" y="44">The right side of the same 104. PrtSc, ScrLk, Pause and Insert are not on any board.</text>
|
||||||
|
<g class="c-purple"><rect x="196" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="227" y="112" text-anchor="middle">F7</text></g>
|
||||||
|
<g class="c-purple"><rect x="264" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="295" y="112" text-anchor="middle">F8</text></g>
|
||||||
|
<g class="c-purple"><rect x="366" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="397" y="112" text-anchor="middle">F9</text></g>
|
||||||
|
<g class="c-purple"><rect x="434" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="465" y="112" text-anchor="middle">F10</text></g>
|
||||||
|
<g class="c-purple"><rect x="502" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="533" y="112" text-anchor="middle">F11</text></g>
|
||||||
|
<g class="c-purple"><rect x="570" y="76" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="601" y="112" text-anchor="middle">F12</text></g>
|
||||||
|
<g class="c-purple"><rect x="94" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="125" y="214" text-anchor="middle">7</text></g>
|
||||||
|
<g class="c-purple"><rect x="162" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="193" y="214" text-anchor="middle">8</text></g>
|
||||||
|
<g class="c-purple"><rect x="230" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="261" y="214" text-anchor="middle">9</text></g>
|
||||||
|
<g class="c-purple"><rect x="298" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="329" y="214" text-anchor="middle">0</text></g>
|
||||||
|
<g class="c-purple"><rect x="366" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="397" y="214" text-anchor="middle">-</text></g>
|
||||||
|
<g class="c-purple"><rect x="434" y="178" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="465" y="214" text-anchor="middle">=</text></g>
|
||||||
|
<g class="c-purple"><rect x="502" y="178" width="131" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="567" y="214" text-anchor="middle">Bksp</text></g>
|
||||||
|
<g class="c-purple"><rect x="60" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="91" y="282" text-anchor="middle">Y</text></g>
|
||||||
|
<g class="c-purple"><rect x="128" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="159" y="282" text-anchor="middle">U</text></g>
|
||||||
|
<g class="c-purple"><rect x="196" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="227" y="282" text-anchor="middle">I</text></g>
|
||||||
|
<g class="c-purple"><rect x="264" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="295" y="282" text-anchor="middle">O</text></g>
|
||||||
|
<g class="c-purple"><rect x="332" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="363" y="282" text-anchor="middle">P</text></g>
|
||||||
|
<g class="c-purple"><rect x="400" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="431" y="282" text-anchor="middle">[</text></g>
|
||||||
|
<g class="c-purple"><rect x="468" y="246" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="499" y="282" text-anchor="middle">]</text></g>
|
||||||
|
<g class="c-purple"><rect x="536" y="246" width="97" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="584" y="282" text-anchor="middle">\</text></g>
|
||||||
|
<g class="c-purple"><rect x="76" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="108" y="350" text-anchor="middle">H</text></g>
|
||||||
|
<g class="c-purple"><rect x="144" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="176" y="350" text-anchor="middle">J</text></g>
|
||||||
|
<g class="c-purple"><rect x="212" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="244" y="350" text-anchor="middle">K</text></g>
|
||||||
|
<g class="c-purple"><rect x="280" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="312" y="350" text-anchor="middle">L</text></g>
|
||||||
|
<g class="c-purple"><rect x="348" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="380" y="350" text-anchor="middle">;</text></g>
|
||||||
|
<g class="c-purple"><rect x="416" y="314" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="448" y="350" text-anchor="middle">'</text></g>
|
||||||
|
<g class="c-purple"><rect x="484" y="314" width="148" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="558" y="350" text-anchor="middle">Enter</text></g>
|
||||||
|
<g class="c-purple"><rect x="110" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="142" y="418" text-anchor="middle">N</text></g>
|
||||||
|
<g class="c-purple"><rect x="178" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="210" y="418" text-anchor="middle">M</text></g>
|
||||||
|
<g class="c-purple"><rect x="246" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="278" y="418" text-anchor="middle">,</text></g>
|
||||||
|
<g class="c-purple"><rect x="314" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="346" y="418" text-anchor="middle">.</text></g>
|
||||||
|
<g class="c-purple"><rect x="382" y="382" width="63" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="414" y="418" text-anchor="middle">/</text></g>
|
||||||
|
<g class="c-purple"><rect x="450" y="382" width="182" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="542" y="418" text-anchor="middle">Shift</text></g>
|
||||||
|
<g class="c-purple"><rect x="42" y="450" width="250" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="168" y="486" text-anchor="middle">Space</text></g>
|
||||||
|
<g class="c-purple"><rect x="298" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="338" y="486" text-anchor="middle">Alt</text></g>
|
||||||
|
<g class="c-purple"><rect x="382" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="422" y="486" text-anchor="middle">Win</text></g>
|
||||||
|
<g class="c-purple"><rect x="468" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="508" y="486" text-anchor="middle">Menu</text></g>
|
||||||
|
<g class="c-purple"><rect x="552" y="450" width="80" height="63" rx="4" stroke-width="0.5"/><text class="ts" x="592" y="486" text-anchor="middle">Ctrl</text></g>
|
||||||
|
<text class="ts" x="18" y="558">8.75u wide — about 167 mm. Three more keys than the left, so the two boards are not mirrors.</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.6 KiB |
+112
-91
@@ -1,94 +1,115 @@
|
|||||||
<svg width="100%" viewBox="0 0 680 330" role="img" xmlns="http://www.w3.org/2000/svg">
|
<svg width="100%" viewBox="0 0 680 330" role="img" xmlns="http://www.w3.org/2000/svg">
|
||||||
<title>All three boards to scale</title>
|
<title>All three boards to scale, split from a 104</title>
|
||||||
<desc>Left half, right half and numpad drawn at the same key spacing. The halves show a placeholder column-staggered core; the numpad shows its settled six by five layout with the two-unit zero key, tall plus and enter keys, and the two-unit encoder cell.</desc>
|
<desc>Left half thirty-six keys, right half thirty-nine, numpad twenty-five, all drawn at the same key spacing.</desc>
|
||||||
<text class="th" x="18" y="24">All three boards, same scale</text>
|
<text class="th" x="18" y="24">All three boards, same scale</text>
|
||||||
<text class="ts" x="18" y="44">One cable to the PC. Both halves plug into the numpad; the split link rides the spare SBU pins.</text>
|
<text class="ts" x="18" y="44">100 of a 104 layout’s keys have a physical home. Only Insert, PrtSc, ScrLk and Pause need a layer.</text>
|
||||||
<g class="c-teal"><rect x="66" y="97" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="66" y="123" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="70" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="66" y="149" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="95" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="66" y="175" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="120" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="92" y="97" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="145" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="92" y="123" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="182" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="92" y="149" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="208" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="92" y="175" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="118" y="92" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="45" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="118" y="118" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="70" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="118" y="144" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="95" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="118" y="170" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="120" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="144" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="145" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="144" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="170" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="144" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="146" width="34" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="144" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="58" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="170" y="91" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="82" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="170" y="117" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="108" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="170" y="143" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="132" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="170" y="169" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="158" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="196" y="95" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="172" width="41" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="196" y="121" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="64" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="196" y="147" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="89" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="196" y="173" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="114" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="144" y="206" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="139" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="170" y="209" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="164" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-teal"><rect x="196" y="214" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="196" width="53" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="262" y="95" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="76" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="262" y="121" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="101" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="262" y="147" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="126" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="262" y="173" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="151" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="288" y="91" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="176" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="288" y="117" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="20" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="288" y="143" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="51" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="288" y="169" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="82" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="314" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-teal"><rect x="114" y="222" width="60" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="314" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="315" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="314" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="340" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="314" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="377" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="340" y="92" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="402" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="340" y="118" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="427" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="340" y="144" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="452" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="340" y="170" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="277" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="366" y="97" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="302" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="366" y="123" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="327" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="366" y="149" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="352" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="366" y="175" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="377" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="392" y="97" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="402" y="122" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="392" y="123" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="427" y="122" width="47" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="392" y="149" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="265" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="392" y="175" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="290" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="262" y="214" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="315" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="288" y="209" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="340" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-purple"><rect x="314" y="206" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="365" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="458" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="390" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="458" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="415" y="146" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="458" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="440" y="146" width="34" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="458" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="271" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="458" y="192" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="296" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="484" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="321" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="484" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="346" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="484" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="371" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="484" y="192" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="396" y="172" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="510" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="421" y="172" width="53" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="510" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="284" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="510" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="308" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="510" y="192" width="49" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="334" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="536" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="358" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="536" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="384" y="196" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="536" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="408" y="196" width="66" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="536" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="258" y="222" width="91" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="562" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="352" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="562" y="114" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="384" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="562" y="140" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="415" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="562" y="166" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-purple"><rect x="446" y="222" width="28" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="562" y="192" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="503" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="588" y="88" width="23" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="503" y="109" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="588" y="114" width="23" height="49" rx="3" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="503" y="134" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-coral"><rect x="588" y="166" width="23" height="49" rx="3" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="503" y="159" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-gray"><rect x="484" y="88" width="49" height="23" rx="3" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="503" y="184" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<g class="c-gray"><circle cx="508" cy="101" r="10" stroke-width="0.5"/></g>
|
<g class="c-coral"><rect x="528" y="109" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="th" x="144" y="278" text-anchor="middle">Left half</text>
|
<g class="c-coral"><rect x="528" y="134" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="ts" x="144" y="296" text-anchor="middle">layout TBD</text>
|
<g class="c-coral"><rect x="528" y="159" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="th" x="340" y="278" text-anchor="middle">Right half</text>
|
<g class="c-coral"><rect x="528" y="184" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="ts" x="340" y="296" text-anchor="middle">mirror of left</text>
|
<g class="c-coral"><rect x="553" y="109" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="th" x="536" y="278" text-anchor="middle">Numpad</text>
|
<g class="c-coral"><rect x="553" y="134" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="ts" x="536" y="296" text-anchor="middle">25 keys + knob</text>
|
<g class="c-coral"><rect x="553" y="159" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
<text class="ts" x="18" y="322">Half layouts are a placeholder 6×4 plus three thumbs — shown for scale only. That is the one decision still open.</text>
|
<g class="c-coral"><rect x="578" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="578" y="109" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="578" y="134" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="578" y="159" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="603" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="603" y="109" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="603" y="134" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="603" y="159" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="603" y="184" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="553" y="184" width="47" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="628" y="84" width="22" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="628" y="109" width="22" height="47" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-coral"><rect x="628" y="159" width="22" height="47" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-gray"><rect x="528" y="84" width="47" height="22" rx="3" stroke-width="0.5"/></g>
|
||||||
|
<g class="c-gray"><circle cx="552" cy="96" r="9" stroke-width="0.5"/></g>
|
||||||
|
<text class="th" x="126" y="280" text-anchor="middle">Left half</text>
|
||||||
|
<text class="ts" x="126" y="298" text-anchor="middle">36 keys</text>
|
||||||
|
<text class="th" x="368" y="280" text-anchor="middle">Right half</text>
|
||||||
|
<text class="ts" x="368" y="298" text-anchor="middle">39 keys</text>
|
||||||
|
<text class="th" x="578" y="280" text-anchor="middle">Numpad</text>
|
||||||
|
<text class="ts" x="578" y="298" text-anchor="middle">25 + knob</text>
|
||||||
|
<text class="ts" x="18" y="322">The halves are not mirrors — 36 vs 39 keys means two separate board designs, not one file flipped.</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user