Solaar/lib/solaar/ui/perkey
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
..
layouts perkey layouts: add POUND and ISO_BACKSLASH cells to MAIN_ISO 2026-06-01 19:09:11 -04:00
__init__.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
_icons.py PerKey icons: read theme fg from style-updated, not Settings notify 2026-05-12 12:51:36 -04:00
binding.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
canvas.py perkey/canvas: allow rect/gradient anchors in grid gaps 2026-05-14 12:26:33 -04:00
control.py Add RGB lighting persistence and software LED power management for G515 2026-05-13 19:03:44 -04:00
dialog.py PerKey dialog: one window per device, keyed by firmware unit-id 2026-05-12 12:51:36 -04:00
editor.py PerKey dialog: one window per device, keyed by firmware unit-id 2026-05-12 12:51:36 -04:00
layout.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
palette.py PerKey gradient swatch: align gradient endpoints to visible corners 2026-05-12 12:51:36 -04:00
protocol.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
tools.py Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00