diff --git a/lib/logitech_receiver/device.py b/lib/logitech_receiver/device.py index e400c17e..8c0fdde8 100644 --- a/lib/logitech_receiver/device.py +++ b/lib/logitech_receiver/device.py @@ -315,8 +315,8 @@ class Device: hw_info = _hidpp20.get_hardware_info_centurion(self) if hw_info: model_id, hw_revision, product_id = hw_info - # modelId is the stable per-model disambiguator (G522 0x33, G325 - # 0x45). productId is shared across the headset family and varies + # modelId is the stable per-model disambiguator (G522 0x32, G325 + # 0x44). productId is shared across the headset family and varies # by firmware (G522 0x0508 -> 0x0509), so it must NOT key modelId. self._modelId = f"{model_id:02X}" self._tid_map = {"usbid": f"{product_id:04X}"} diff --git a/lib/logitech_receiver/device_quirks.py b/lib/logitech_receiver/device_quirks.py index 30cb2018..e2c09009 100644 --- a/lib/logitech_receiver/device_quirks.py +++ b/lib/logitech_receiver/device_quirks.py @@ -3,7 +3,7 @@ Keyed by ``device.modelId``. For normal HID++ devices that is the string Logitech composes by concatenating every transport PID (btid + btleid + wpid + usbid) — one entry covers the model on any transport. For Centurion -headsets it is the firmware-stable model byte (G522 ``"33"``, G325 ``"45"``); +headsets it is the firmware-stable model byte (G522 ``"32"``, G325 ``"44"``); see ``device._get_ids_centurion``. Two postures, by feature class: @@ -56,12 +56,13 @@ RGB_EFFECTS_NVCONFIG_ALLOWED: dict[str, dict[int, set[str]]] = { # fields the firmware is KNOWN to honor. An unlisted effect_id or model # suppresses that signature-effect setting entirely. HEADSET_SIGNATURE_EFFECTS_ALLOWED: dict[str, dict[int, set[str]]] = { - # G522 LIGHTSPEED (Centurion model byte 0x33). Verified against user + # G522 LIGHTSPEED (Centurion model byte 0x32, from DeviceInfo func 0; + # confirmed against multiple diagnostic logs). Verified against user # reports: startup honors only the primary color (secondary unused, speed # has no effect); shutdown honors both colors (speed has no effect). The # passive slot (effect_id 2) is omitted — its behavior is not understood, # so the whole passive setting is suppressed. - "33": { + "32": { 0: {"color1"}, 1: {"color1", "color2"}, },