Writing the 0x0621 onboard cluster effect re-fills every LED uniformly, which the headset firmware treats as dropping the host per-zone buffer. HeadsetLEDControl.write already re-asserted the per-zone layer on re-claim, but HeadsetOnboardEffect.write did not — so changing the LEDs Primary color clobbered individually-painted zones with the flat base color and never restored them. Extract the re-assert logic into _headset_reassert_zone_layer (repaint every zone to LEDs Primary, then overlay the explicit per-zone overrides) and call it from both write paths. The helper is a no-op unless the onboard effect is Static, since a non-Static animation owns the LEDs and masks per-zone anyway. |
||
|---|---|---|
| .. | ||
| hid_parser | ||
| hidapi | ||
| keysyms | ||
| logitech_receiver | ||
| solaar | ||