Solaar/lib/solaar/ui/perkey/layouts
Ken Sanislo 189a50e926 perkey layouts: add POUND and ISO_BACKSLASH cells to MAIN_ISO
ISO keyboards have two physical keys that ANSI does not — POUND (#) at
row 3 col 12 between the right-of-quote position and Enter, and
ISO_BACKSLASH (<) at row 4 col 1 between LShift and Z. The firmware
reports them as zones 47 and 97 on G915 ISO models, but MAIN_ISO only
*subtracted* the ANSI backslash at row 2 col 13 without ever adding
those two cells back. They fell through to the unmapped pool and got
dropped by the EXTRAS_ALLOWLIST phantom-zone filter, so PerKey lighting
silently left them undrawable (issue #3239 — German G915).

Add both cells to MAIN_ISO with the UK QWERTY labels (# and \\) as the
default, and override them in the regional layouts: # / < on QWERTZ DE,
* / < on AZERTY FR. UK QWERTY inherits the defaults.

ANSI is unaffected — MAIN_ANSI still omits 47/97 so they keep getting
filtered as phantoms on ANSI keyboards like the G515.
2026-06-01 19:09:11 -04:00
..
__init__.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
_keyboard_base.py perkey layouts: add POUND and ISO_BACKSLASH cells to MAIN_ISO 2026-06-01 19:09:11 -04:00
headset_g522.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
keyboard_ansi.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
keyboard_iso_azerty.py perkey layouts: add POUND and ISO_BACKSLASH cells to MAIN_ISO 2026-06-01 19:09:11 -04:00
keyboard_iso_qwerty.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
keyboard_iso_qwertz.py perkey layouts: add POUND and ISO_BACKSLASH cells to MAIN_ISO 2026-06-01 19:09:11 -04:00
keyboard_jis.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
mouse_g502x.py perkey: label G502 X LEDs by zone id, not letter 2026-05-12 12:51:36 -04:00