Solaar/lib/logitech_receiver
Ken Sanislo 936991e0b4 HeadsetOnboardEffect: add 0x0621 onboard RGB effect control
RGB headsets (e.g. G522) expose HEADSET_RGB_ONBOARD_EFFECTS (0x0621) —
a firmware-played RGB effect on the headset's primary lighting cluster,
chosen from six effect types: Fixed, Color Cycle, Color Wave,
Breathing, Dual Color, Custom.

Add an effect-switching HETERO setting modeled on the keyboard zone
effects: a six-way effect picker plus the per-effect parameter widgets
(colours, intensity, period, saturation, direction), with fields_map
showing only the fields the selected effect uses. The rw_class reads
getRGBClusterEffect and writes setRGBClusterEffect; the data class
encodes each effect's distinct parameter layout.

build() reads getRGBClusterInfo to learn the cluster's supported-effect
set and offers only those in the picker; an unparseable reply falls
back to offering all six (the firmware rejects any it doesn't support).
intensity is a 0-100 percent; saturation is a raw 0-255 byte, matching
the keyboard RGB effects. Like the signature/boot effects this runs
autonomously on the firmware and is not gated on host LED control.

Cluster 0 only — no multi-cluster headset has been seen and the
getInfo multi-cluster descriptor stride is unconfirmed.
2026-05-21 10:13:00 -04: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 G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -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 G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
device_quirks.py Add RGB lighting persistence and software LED power management for G515 2026-05-13 19:03:44 -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 device: Handle composite IntFlag.name on Python < 3.11 (#3187) 2026-04-16 11:38:25 -04:00
hidpp20.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
hidpp20_constants.py Drop 0x0623 probe — feature is unmapped and not in G HUB 2026-05-21 10:13:00 -04:00
i18n.py Unify imports in logitech package 2024-05-23 16:42:18 -04:00
listener.py G522 LIGHTSPEED headphones support 2026-05-21 10:13: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 device: Support per-slot unpair on Lightspeed receivers (CLI + GUI) (#3183) 2026-04-17 09:34:58 -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 HeadsetOnboardEffect: add 0x0621 onboard RGB effect control 2026-05-21 10:13:00 -04:00
settings_validator.py Add RGB lighting persistence and software LED power management for G515 2026-05-13 19:03:44 -04:00
special_keys.py device: add special keys from Logitech 2025-10-16 20:57:15 -04:00