Files
2026-08-27 19:10:37 -05:00

137 lines
18 KiB
XML

<svg width="100%" viewBox="0 0 680 330" role="img" xmlns="http://www.w3.org/2000/svg">
<style>
text{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;fill:#1f2328}
.t{font-size:14px;font-weight:400}.ts{font-size:12px;font-weight:400}.th{font-size:14px;font-weight:500}
rect,circle{stroke-width:.6}
.c-teal rect,.c-teal circle{fill:#DFF3F0;stroke:#0F857B}.c-teal text{fill:#0A5750}
.c-purple rect,.c-purple circle{fill:#EDE7FA;stroke:#6D4FC4}.c-purple text{fill:#3A2775}
.c-coral rect,.c-coral circle{fill:#FCEAE4;stroke:#D8613F}.c-coral text{fill:#83321C}
.c-amber rect,.c-amber circle{fill:#FDF1DC;stroke:#C08A21}.c-amber text{fill:#6E4C08}
.c-gray rect,.c-gray circle{fill:#EFEFEF;stroke:#8A8A8A}.c-gray text{fill:#3A3A3A}
@media (prefers-color-scheme:dark){
text{fill:#e6edf3}
.c-teal rect,.c-teal circle{fill:#0C4F49;stroke:#5FC9BF}.c-teal text{fill:#CFF0EC}
.c-purple rect,.c-purple circle{fill:#33246B;stroke:#A992EE}.c-purple text{fill:#E2D9FA}
.c-coral rect,.c-coral circle{fill:#6E2B18;stroke:#F0906F}.c-coral text{fill:#FBDDD2}
.c-amber rect,.c-amber circle{fill:#5C3F06;stroke:#E0AE4A}.c-amber text{fill:#F8E7C4}
.c-gray rect,.c-gray circle{fill:#3A3A3A;stroke:#9A9A9A}.c-gray text{fill:#E0E0E0}
}
</style>
<title>Full 104-key keyboard split across three pieces</title>
<desc>An ANSI 104-key layout colour-coded by which of three boards each key lands on: left half 36 keys, right half 39 keys, numpad piece 26 keys, and four keys not on any piece.</desc>
<text class="th" x="18" y="24">A 104-key layout, divided across the three boards</text>
<g class="c-teal"><rect x="18.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="29.5" y="55.5" text-anchor="middle">Esc</text></g>
<g class="c-teal"><rect x="70.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="81.5" y="55.5" text-anchor="middle">F1</text></g>
<g class="c-teal"><rect x="96.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="107.5" y="55.5" text-anchor="middle">F2</text></g>
<g class="c-teal"><rect x="122.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="133.5" y="55.5" text-anchor="middle">F3</text></g>
<g class="c-teal"><rect x="148.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="159.5" y="55.5" text-anchor="middle">F4</text></g>
<g class="c-teal"><rect x="187.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="198.5" y="55.5" text-anchor="middle">F5</text></g>
<g class="c-teal"><rect x="213.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="224.5" y="55.5" text-anchor="middle">F6</text></g>
<g class="c-purple"><rect x="255.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="266.5" y="55.5" text-anchor="middle">F7</text></g>
<g class="c-purple"><rect x="281.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="292.5" y="55.5" text-anchor="middle">F8</text></g>
<g class="c-purple"><rect x="320.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="331.5" y="55.5" text-anchor="middle">F9</text></g>
<g class="c-purple"><rect x="346.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="357.5" y="55.5" text-anchor="middle">F10</text></g>
<g class="c-purple"><rect x="372.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="383.5" y="55.5" text-anchor="middle">F11</text></g>
<g class="c-purple"><rect x="398.0" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="409.5" y="55.5" text-anchor="middle">F12</text></g>
<g class="c-gray"><rect x="446.5" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="458.0" y="55.5" text-anchor="middle">PrS</text></g>
<g class="c-gray"><rect x="472.5" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="484.0" y="55.5" text-anchor="middle">ScL</text></g>
<g class="c-gray"><rect x="498.5" y="40.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="510.0" y="55.5" text-anchor="middle">Pau</text></g>
<g class="c-teal"><rect x="18.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="29.5" y="94.5" text-anchor="middle">`</text></g>
<g class="c-teal"><rect x="44.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="55.5" y="94.5" text-anchor="middle">1</text></g>
<g class="c-teal"><rect x="70.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="81.5" y="94.5" text-anchor="middle">2</text></g>
<g class="c-teal"><rect x="96.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="107.5" y="94.5" text-anchor="middle">3</text></g>
<g class="c-teal"><rect x="122.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="133.5" y="94.5" text-anchor="middle">4</text></g>
<g class="c-teal"><rect x="148.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="159.5" y="94.5" text-anchor="middle">5</text></g>
<g class="c-teal"><rect x="174.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="185.5" y="94.5" text-anchor="middle">6</text></g>
<g class="c-purple"><rect x="216.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="227.5" y="94.5" text-anchor="middle">7</text></g>
<g class="c-purple"><rect x="242.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="253.5" y="94.5" text-anchor="middle">8</text></g>
<g class="c-purple"><rect x="268.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="279.5" y="94.5" text-anchor="middle">9</text></g>
<g class="c-purple"><rect x="294.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="305.5" y="94.5" text-anchor="middle">0</text></g>
<g class="c-purple"><rect x="320.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="331.5" y="94.5" text-anchor="middle">-</text></g>
<g class="c-purple"><rect x="346.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="357.5" y="94.5" text-anchor="middle">=</text></g>
<g class="c-purple"><rect x="372.0" y="79.0" width="49.0" height="23.0" rx="4"/><text class="ts" x="396.5" y="94.5" text-anchor="middle">Bksp</text></g>
<g class="c-gray"><rect x="446.5" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="458.0" y="94.5" text-anchor="middle">Ins</text></g>
<g class="c-coral"><rect x="472.5" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="484.0" y="94.5" text-anchor="middle">Hom</text></g>
<g class="c-coral"><rect x="498.5" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="510.0" y="94.5" text-anchor="middle">PgU</text></g>
<g class="c-coral"><rect x="531.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="542.5" y="94.5" text-anchor="middle">Num</text></g>
<g class="c-coral"><rect x="557.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="568.5" y="94.5" text-anchor="middle">/</text></g>
<g class="c-coral"><rect x="583.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="594.5" y="94.5" text-anchor="middle">*</text></g>
<g class="c-coral"><rect x="609.0" y="79.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="620.5" y="94.5" text-anchor="middle">-</text></g>
<g class="c-teal"><rect x="18.0" y="105.0" width="36.0" height="23.0" rx="4"/><text class="ts" x="36.0" y="120.5" text-anchor="middle">Tab</text></g>
<g class="c-teal"><rect x="57.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="68.5" y="120.5" text-anchor="middle">Q</text></g>
<g class="c-teal"><rect x="83.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="94.5" y="120.5" text-anchor="middle">W</text></g>
<g class="c-teal"><rect x="109.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="120.5" y="120.5" text-anchor="middle">E</text></g>
<g class="c-teal"><rect x="135.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="146.5" y="120.5" text-anchor="middle">R</text></g>
<g class="c-teal"><rect x="161.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="172.5" y="120.5" text-anchor="middle">T</text></g>
<g class="c-purple"><rect x="203.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="214.5" y="120.5" text-anchor="middle">Y</text></g>
<g class="c-purple"><rect x="229.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="240.5" y="120.5" text-anchor="middle">U</text></g>
<g class="c-purple"><rect x="255.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="266.5" y="120.5" text-anchor="middle">I</text></g>
<g class="c-purple"><rect x="281.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="292.5" y="120.5" text-anchor="middle">O</text></g>
<g class="c-purple"><rect x="307.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="318.5" y="120.5" text-anchor="middle">P</text></g>
<g class="c-purple"><rect x="333.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="344.5" y="120.5" text-anchor="middle">[</text></g>
<g class="c-purple"><rect x="359.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="370.5" y="120.5" text-anchor="middle">]</text></g>
<g class="c-purple"><rect x="385.0" y="105.0" width="36.0" height="23.0" rx="4"/><text class="ts" x="403.0" y="120.5" text-anchor="middle">\</text></g>
<g class="c-coral"><rect x="446.5" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="458.0" y="120.5" text-anchor="middle">Del</text></g>
<g class="c-coral"><rect x="472.5" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="484.0" y="120.5" text-anchor="middle">End</text></g>
<g class="c-coral"><rect x="498.5" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="510.0" y="120.5" text-anchor="middle">PgD</text></g>
<g class="c-coral"><rect x="531.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="542.5" y="120.5" text-anchor="middle">7</text></g>
<g class="c-coral"><rect x="557.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="568.5" y="120.5" text-anchor="middle">8</text></g>
<g class="c-coral"><rect x="583.0" y="105.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="594.5" y="120.5" text-anchor="middle">9</text></g>
<g class="c-coral"><rect x="609.0" y="105.0" width="23.0" height="49.0" rx="4"/><text class="ts" x="620.5" y="133.5" text-anchor="middle">+</text></g>
<g class="c-teal"><rect x="18.0" y="131.0" width="42.5" height="23.0" rx="4"/><text class="ts" x="39.2" y="146.5" text-anchor="middle">Caps</text></g>
<g class="c-teal"><rect x="63.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="75.0" y="146.5" text-anchor="middle">A</text></g>
<g class="c-teal"><rect x="89.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="101.0" y="146.5" text-anchor="middle">S</text></g>
<g class="c-teal"><rect x="115.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="127.0" y="146.5" text-anchor="middle">D</text></g>
<g class="c-teal"><rect x="141.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="153.0" y="146.5" text-anchor="middle">F</text></g>
<g class="c-teal"><rect x="167.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="179.0" y="146.5" text-anchor="middle">G</text></g>
<g class="c-purple"><rect x="209.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="221.0" y="146.5" text-anchor="middle">H</text></g>
<g class="c-purple"><rect x="235.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="247.0" y="146.5" text-anchor="middle">J</text></g>
<g class="c-purple"><rect x="261.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="273.0" y="146.5" text-anchor="middle">K</text></g>
<g class="c-purple"><rect x="287.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="299.0" y="146.5" text-anchor="middle">L</text></g>
<g class="c-purple"><rect x="313.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="325.0" y="146.5" text-anchor="middle">;</text></g>
<g class="c-purple"><rect x="339.5" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="351.0" y="146.5" text-anchor="middle">'</text></g>
<g class="c-purple"><rect x="365.5" y="131.0" width="55.5" height="23.0" rx="4"/><text class="ts" x="393.2" y="146.5" text-anchor="middle">Enter</text></g>
<g class="c-coral"><rect x="531.0" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="542.5" y="146.5" text-anchor="middle">4</text></g>
<g class="c-coral"><rect x="557.0" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="568.5" y="146.5" text-anchor="middle">5</text></g>
<g class="c-coral"><rect x="583.0" y="131.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="594.5" y="146.5" text-anchor="middle">6</text></g>
<g class="c-teal"><rect x="18.0" y="157.0" width="55.5" height="23.0" rx="4"/><text class="ts" x="45.8" y="172.5" text-anchor="middle">Shift</text></g>
<g class="c-teal"><rect x="76.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="88.0" y="172.5" text-anchor="middle">Z</text></g>
<g class="c-teal"><rect x="102.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="114.0" y="172.5" text-anchor="middle">X</text></g>
<g class="c-teal"><rect x="128.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="140.0" y="172.5" text-anchor="middle">C</text></g>
<g class="c-teal"><rect x="154.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="166.0" y="172.5" text-anchor="middle">V</text></g>
<g class="c-teal"><rect x="180.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="192.0" y="172.5" text-anchor="middle">B</text></g>
<g class="c-purple"><rect x="222.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="234.0" y="172.5" text-anchor="middle">N</text></g>
<g class="c-purple"><rect x="248.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="260.0" y="172.5" text-anchor="middle">M</text></g>
<g class="c-purple"><rect x="274.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="286.0" y="172.5" text-anchor="middle">,</text></g>
<g class="c-purple"><rect x="300.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="312.0" y="172.5" text-anchor="middle">.</text></g>
<g class="c-purple"><rect x="326.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="338.0" y="172.5" text-anchor="middle">/</text></g>
<g class="c-purple"><rect x="352.5" y="157.0" width="68.5" height="23.0" rx="4"/><text class="ts" x="386.8" y="172.5" text-anchor="middle">Shift</text></g>
<g class="c-coral"><rect x="472.5" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="484.0" y="172.5" text-anchor="middle"></text></g>
<g class="c-coral"><rect x="531.0" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="542.5" y="172.5" text-anchor="middle">1</text></g>
<g class="c-coral"><rect x="557.0" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="568.5" y="172.5" text-anchor="middle">2</text></g>
<g class="c-coral"><rect x="583.0" y="157.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="594.5" y="172.5" text-anchor="middle">3</text></g>
<g class="c-coral"><rect x="609.0" y="157.0" width="23.0" height="49.0" rx="4"/><text class="ts" x="620.5" y="185.5" text-anchor="middle">Ent</text></g>
<g class="c-teal"><rect x="18.0" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="32.8" y="198.5" text-anchor="middle">Ctrl</text></g>
<g class="c-teal"><rect x="50.5" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="65.2" y="198.5" text-anchor="middle">Win</text></g>
<g class="c-teal"><rect x="83.0" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="97.8" y="198.5" text-anchor="middle">Alt</text></g>
<g class="c-teal"><rect x="115.5" y="183.0" width="62.0" height="23.0" rx="4"/><text class="ts" x="146.5" y="198.5" text-anchor="middle">Spc</text></g>
<g class="c-purple"><rect x="196.5" y="183.0" width="94.5" height="23.0" rx="4"/><text class="ts" x="243.8" y="198.5" text-anchor="middle">Spc</text></g>
<g class="c-purple"><rect x="294.0" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="308.8" y="198.5" text-anchor="middle">Alt</text></g>
<g class="c-purple"><rect x="326.5" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="341.2" y="198.5" text-anchor="middle">Win</text></g>
<g class="c-purple"><rect x="359.0" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="373.8" y="198.5" text-anchor="middle">Mnu</text></g>
<g class="c-purple"><rect x="391.5" y="183.0" width="29.5" height="23.0" rx="4"/><text class="ts" x="406.2" y="198.5" text-anchor="middle">Ctrl</text></g>
<g class="c-coral"><rect x="446.5" y="183.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="458.0" y="198.5" text-anchor="middle"></text></g>
<g class="c-coral"><rect x="472.5" y="183.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="484.0" y="198.5" text-anchor="middle"></text></g>
<g class="c-coral"><rect x="498.5" y="183.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="510.0" y="198.5" text-anchor="middle"></text></g>
<g class="c-coral"><rect x="531.0" y="183.0" width="49.0" height="23.0" rx="4"/><text class="ts" x="555.5" y="198.5" text-anchor="middle">0</text></g>
<g class="c-coral"><rect x="583.0" y="183.0" width="23.0" height="23.0" rx="4"/><text class="ts" x="594.5" y="198.5" text-anchor="middle">.</text></g>
<g class="c-teal"><rect x="18" y="254" width="13" height="13" rx="3"/></g>
<text class="ts" x="37" y="264">Left half &#183; 36 keys</text>
<g class="c-purple"><rect x="170" y="254" width="13" height="13" rx="3"/></g>
<text class="ts" x="189" y="264">Right half &#183; 39 keys</text>
<g class="c-coral"><rect x="322" y="254" width="13" height="13" rx="3"/></g>
<text class="ts" x="341" y="264">Numpad piece &#183; 26 keys</text>
<g class="c-gray"><rect x="474" y="254" width="13" height="13" rx="3"/></g>
<text class="ts" x="493" y="264">No board &#183; layer only</text>
<text class="ts" x="18" y="290">A straight chop gives 36 vs 39 keys &#8212; but mirrored boards need matching counts.<tspan x="18" dy="1.35em">A real split trims to a symmetric core and reaches the rest by layer.</tspan></text>
</svg>