Solaar/lib/solaar/ui
Ken Sanislo ce88a22fbd perkey: add PRO X RAPID media top row layout
The PRO X RAPID (reported as "PRO X RAPID", USB 046D:C35B) wires five
dedicated media keys above the F-row with board-specific 0x8081 zone ids
(150 Bright, 155 Prev, 152 Play, 154 Next, 153 Mute) that the canonical
extras map (153-158) doesn't cover: 150/152/154 were dropped as phantoms
and never surfaced in the painter. Ids and positions are hardware-probed
(ported from the OpenRGB key-map for this model).

Add keyboard_pro_x_rapid.with_media_top_row(), which pushes any regional
TKL base down one row and prepends the media row as explicit bound cells.
No EXTRAS_ALLOWLIST change is needed - the media keys paint directly,
while the base's extra_zones keeps filtering the phantom zones this board
shares with the G515 (47, 97, 99-103, 254). Registered per region ahead
of the generic family matchers so country-code routing (ANSI/ISO/AZERTY/
JIS) still selects the main block; only the media top row differs. The
logo has no addressable LED on this model, so no logo zone is mapped.

Labels are words rather than media glyphs: the media/emoji codepoints
aren't in DejaVu (the baseline Linux font) and tofu on minimal installs,
unlike the nav-arrow glyphs which the base font covers.
2026-07-31 16:34:42 -04:00
..
about Revert "po: Update list of translators in credits (#3211)" 2026-05-22 11:19:25 -04:00
perkey perkey: add PRO X RAPID media top row layout 2026-07-31 16:34:42 -04:00
__init__.py ui: better handling of missing devices 2026-03-13 13:41:59 -04:00
action.py device: Support per-slot unpair on Lightspeed receivers (CLI + GUI) (#3183) 2026-04-17 09:34:58 -04:00
common.py Introduce error types 2025-01-02 08:29:32 -05:00
config_panel.py ui: don't use old settings when reusing sboxes 2026-06-09 19:35:00 -04:00
desktop_notifications.py tests: fix ui desktop notifications test 2025-01-02 15:04:41 -05:00
diversion_rules.py Add per-key RGB color painter and replace MAP_CHOICE color validator 2026-05-10 17:52:55 -04:00
icons.py Add support for battery-0N0 icon naming scheme 2026-04-20 21:52:00 -04:00
pair_window.py solaar/ui: Remove outdated logger enabled checks 2025-01-02 09:26:31 -05:00
rule_actions.py rules: fix debug messages for MouseClick rule 2025-11-02 21:01:33 +09:00
rule_base.py Enforce rules on RuleComponentUI subclasses 2025-01-01 10:46:04 -05:00
rule_conditions.py fix: center labels and remove buggy entry resizing logic 2025-09-30 10:42:25 -04:00
tray.py solaar/ui: Remove outdated logger enabled checks 2025-01-02 09:26:31 -05:00
window.py centurion: support PRO X 2 LIGHTSPEED headphones Centurion features (#3150) 2026-04-14 11:43:23 -04:00