Solaar/lib/logitech_receiver
Ken Sanislo 3b76be9abb Leave lighting alone on connect when LED control is off
Connect-time apply pushed persisted zone effects and the LED-control
release write even when the user had LED control switched off — with
the G560 (0x8070) accepting zone writes without a SW-control claim,
Solaar repainted lighting it didn't own on every startup, stomping the
device's onboard effect or any other controller (e.g. OpenRGB).

Off now doubles as "leave the lighting alone": LEDControl.apply skips
the wire entirely unless the persisted value is an explicit claim, and
zone-effect applies follow their control gate (led_control for 0x8070,
rgb_control for 0x8071 — the same gate PerKeyLighting already
enforces).  When the gate is on, the claim itself repaints the saved
zone effects, matching the RGBControl claim flow.
2026-07-16 23:07:58 -07:00
..
__init__.py Refactor: Distinguish module from package 2024-09-15 09:18:51 -04:00
advanced_para_eq.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
base.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
base_usb.py device: Support per-slot unpair on Lightspeed receivers (CLI + GUI) (#3183) 2026-04-17 09:34:58 -04:00
centurion.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
centurion_constants.py centurion: support PRO X 2 LIGHTSPEED headphones Centurion features (#3150) 2026-04-14 11:43:23 -04:00
common.py ui: Show offline status for receiver-paired device batteries (#3217) 2026-05-13 17:32:03 -04:00
descriptors.py device: add descriptor for K380 2026-07-04 16:10:52 -04:00
desktop_notifications.py testing: upgrade desktop notifications tests to take notifications availability into account 2025-01-02 10:47:53 -05:00
device.py debug: add warning statements to determine reason for feature request failure 2026-06-09 19:35:00 -04:00
device_quirks.py headset RGB: fix G522 allowlist key — model byte is 0x32, not 0x33 2026-05-21 10:13:00 -04:00
diversion.py rules: remove use of XTest and use uinput in all cases 2026-03-08 20:58:43 -04:00
exceptions.py Use double quotes for module level docstrings 2024-06-02 09:54:21 -04:00
headset_rgb.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
hidpp10.py cli: Fix crash when showing notification flags. (#3070) 2025-12-12 04:54:10 -05:00
hidpp10_constants.py Add support for the G560 Gaming Speaker and speaker devices generally 2026-07-16 23:06:34 -07:00
hidpp20.py Add support for the G560 Gaming Speaker and speaker devices generally 2026-07-16 23:06:34 -07:00
hidpp20_constants.py Add G560 audio features: bass level, working equalizer, jack detection 2026-07-16 23:07:01 -07:00
i18n.py Unify imports in logitech package 2024-05-23 16:42:18 -04:00
listener.py debug: add warning statements to determine reason for feature request failure 2026-06-09 19:35:00 -04:00
logivoice.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
notifications.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
onboard_eq.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
receiver.py debug: add warning statements to determine reason for feature request failure 2026-06-09 19:35:00 -04:00
rgb_effects_probe.py Drop 0x0623 probe — feature is unmapped and not in G HUB 2026-05-21 10:13:00 -04:00
rgb_power.py rgb_control: honor the off state — don't auto-claim, init, or shutdown LEDs 2026-05-15 10:45:27 -04:00
settings.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
settings_new.py settings: add setting for HAPTIC feature 2025-11-12 14:50:46 -05:00
settings_templates.py Leave lighting alone on connect when LED control is off 2026-07-16 23:07:58 -07:00
settings_validator.py Add support for the G560 Gaming Speaker and speaker devices generally 2026-07-16 23:06:34 -07:00
special_keys.py device: add special keys from Logitech 2025-10-16 20:57:15 -04:00