Commit c23afd272eed

Vincent Demeester <vincent@sbr.pm>
2026-02-19 10:15:53
fix(keyboards): add missing moonlander combos
Added 6 missing combo definitions for the moonlander keymap drawing: ", ~, %, `, *, and +.
1 parent c95cf58
Changed files (2)
keyboards/generate-keymaps.sh
@@ -169,6 +169,14 @@ combos:
   - { p: [23, 24], k: "<" }
   - { p: [24, 25], k: ">" }
 
+  # Additional character combos
+  - { p: [22, 36], k: '"' }
+  - { p: [19, 33], k: "~" }
+  - { p: [33, 47], k: "%" }
+  - { p: [36, 48], k: '`' }
+  - { p: [26, 40], k: "*" }
+  - { p: [40, 52], k: "+" }
+
   # Leader key combo (available on all layers)
   - { p: [31, 32], k: LEADER }
 EOF
keyboards/moonlander.svg
@@ -81,12 +81,16 @@
  
  
   viewBox="0 0 24 24"
-  fill="currentColor"
-  class="icon icon-tabler icons-tabler-filled icon-tabler-player-track-next"
+  fill="none"
+  stroke="currentColor"
+  stroke-width="2"
+  stroke-linecap="round"
+  stroke-linejoin="round"
+  class="icon icon-tabler icons-tabler-outline icon-tabler-player-track-next"
 >
   <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
-  <path d="M2 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" />
-  <path d="M13 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" />
+  <path d="M3 5v14l8 -7l-8 -7" />
+  <path d="M14 5v14l8 -7l-8 -7" />
 </svg>
 </svg>
 <svg id="tabler:player-track-prev">
@@ -95,12 +99,16 @@
  
  
   viewBox="0 0 24 24"
-  fill="currentColor"
-  class="icon icon-tabler icons-tabler-filled icon-tabler-player-track-prev"
+  fill="none"
+  stroke="currentColor"
+  stroke-width="2"
+  stroke-linecap="round"
+  stroke-linejoin="round"
+  class="icon icon-tabler icons-tabler-outline icon-tabler-player-track-prev"
 >
   <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
-  <path d="M20.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" />
-  <path d="M9.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" />
+  <path d="M21 5v14l-8 -7l8 -7" />
+  <path d="M10 5v14l-8 -7l8 -7" />
 </svg>
 </svg>
 </defs>/* end glyphs */
@@ -716,6 +724,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-19">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-24">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-25">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -1067,6 +1099,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -1422,6 +1478,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-19">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-24">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-25">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -1583,7 +1663,9 @@ path.combo {
 </g>
 <g transform="translate(84, 217)" class="key keypos-43">
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
-<text x="0" y="0" class="key tap">~</text>
+<text x="0" y="0" class="key tap">
+<tspan x="0" dy="-0.6em">FR</tspan><tspan x="0" dy="1.2em">TILD</tspan>
+</text>
 </g>
 <g transform="translate(140, 203)" class="key keypos-44">
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
@@ -1761,6 +1843,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -2119,6 +2225,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -2480,6 +2610,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -2543,9 +2697,9 @@ path.combo {
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key trans"/>
 <text x="0" y="0" class="key trans tap">▽</text>
 </g>
-<g transform="translate(196, 84)" class="key trans keypos-17">
-<rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key trans"/>
-<text x="0" y="0" class="key trans tap">▽</text>
+<g transform="translate(196, 84)" class="key keypos-17">
+<rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
+<use href="#scroll-up" xlink:href="#scroll-up" x="-7" y="-7" height="14" width="13.998173515981735" class="key tap glyph scroll-up"/>
 </g>
 <g transform="translate(252, 91)" class="key trans keypos-18">
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key trans"/>
@@ -2591,13 +2745,13 @@ path.combo {
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key trans"/>
 <text x="0" y="0" class="key trans tap">▽</text>
 </g>
-<g transform="translate(84, 161)" class="key keypos-29">
-<rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
-<use href="#scroll-left" xlink:href="#scroll-left" x="-7" y="-7" height="14" width="13.998173515981735" class="key tap glyph scroll-left"/>
+<g transform="translate(84, 161)" class="key trans keypos-29">
+<rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key trans"/>
+<text x="0" y="0" class="key trans tap">▽</text>
 </g>
 <g transform="translate(140, 147)" class="key keypos-30">
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
-<use href="#scroll-up" xlink:href="#scroll-up" x="-7" y="-7" height="14" width="13.998173515981735" class="key tap glyph scroll-up"/>
+<use href="#scroll-left" xlink:href="#scroll-left" x="-7" y="-7" height="14" width="13.998173515981735" class="key tap glyph scroll-left"/>
 </g>
 <g transform="translate(196, 140)" class="key keypos-31">
 <rect rx="6" ry="6" x="-25" y="-25" width="50" height="50" class="key"/>
@@ -2838,6 +2992,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>
@@ -3214,6 +3392,30 @@ path.combo {
 <text x="784" y="88" class="combo tap">&gt;</text>
 </g>
 <g class="combo combopos-18">
+<rect rx="6" ry="6" x="628" y="110" width="32" height="32" class="combo"/>
+<text x="644" y="126" class="combo tap">&quot;</text>
+</g>
+<g class="combo combopos-19">
+<rect rx="6" ry="6" x="292" y="110" width="32" height="32" class="combo"/>
+<text x="308" y="126" class="combo tap">~</text>
+</g>
+<g class="combo combopos-20">
+<rect rx="6" ry="6" x="292" y="166" width="32" height="32" class="combo"/>
+<text x="308" y="182" class="combo tap">%</text>
+</g>
+<g class="combo combopos-21">
+<rect rx="6" ry="6" x="628" y="166" width="32" height="32" class="combo"/>
+<text x="644" y="182" class="combo tap">`</text>
+</g>
+<g class="combo combopos-22">
+<rect rx="6" ry="6" x="852" y="117" width="32" height="32" class="combo"/>
+<text x="868" y="133" class="combo tap">*</text>
+</g>
+<g class="combo combopos-23">
+<rect rx="6" ry="6" x="852" y="173" width="32" height="32" class="combo"/>
+<text x="868" y="189" class="combo tap">+</text>
+</g>
+<g class="combo combopos-24">
 <rect rx="6" ry="6" x="208" y="128" width="32" height="32" class="combo"/>
 <text x="224" y="144" class="combo tap">LEADER</text>
 </g>