Solaar/lib
Ken Sanislo 56bce3fc1b G522 mic-mute fix + cluster-info decode + 0x0623 probe
Three findings from G HUB pcap analysis (~/ghub/g522/*.pcapng):

1. Mic-mute on G522 actually works — we had the wrong fnids. The
   firmware uses fn 0x10 (function 1) for state-change events / reads
   and fn 0x20 (function 2) for SetState; the standard fn 0x10 SetState
   path returns 0x0A NOT_SUPPORTED. Replace the previous "suppress
   entirely on G522" quirk with a per-PID rw_options override that
   uses the right fnids. Other headsets keep the standard pattern.

2. setRGBClusterEffect (0x0621 fn 0x30) takes effect_id 0x0000 paired
   with RGB bytes to mean "Static color" — *not* "Off / Disabled" as
   our cluster-info parse had guessed. Add a structured decoder for
   getRGBClusterInfo (fn 0x10) that emits a human-readable summary
   alongside the raw hex, with effect_id 0x0000 labelled "Static".
   Records turn out to be 4 bytes each (effect_id LE u16, slot_idx
   LE u16) — most other HID++ fields are BE but this one is LE per
   the captured factory-default bytes.

3. Sub-feature 0x0623 is present on G522 but unmapped (it appeared
   as `unknown:0623` in the feature-table dump). Add a placeholder
   SupportedFeature entry and probe the first 8 functions read-side
   so the next bring-up captures whatever responds.
2026-05-10 15:39:17 -07:00
..
hid_parser Fix duplicate class field typo in HID parser data 2026-05-05 14:43:03 -04:00
hidapi Add G522 LIGHTSPEED headset support (Centurion 0x50 transport variant) 2026-05-10 15:39:16 -07:00
keysyms keysymdef: Rename key symbols 2024-10-11 07:42:38 -04:00
logitech_receiver G522 mic-mute fix + cluster-info decode + 0x0623 probe 2026-05-10 15:39:17 -07:00
solaar Fix G522 0x50 Centurion init failure and protocol version crash 2026-05-10 15:39:17 -07:00