Solaar/lib/solaar
Ken Sanislo e91cbff361 Fix G522 0x50 Centurion init failure and protocol version crash
Three interrelated fixes for G522 LIGHTSPEED headset support:

1. Deferred init for silent 0x50 dongles: When the probe fails and
   feature discovery returns nothing (dongle silently drops all frames
   with device_addr=0x00), return a "pending" CenturionReceiver instead
   of falling through to the broken create_device direct-device path.
   The listener thread starts reading; when the first unsolicited frame
   arrives, _unwrap_centurion_frame learns device_addr, the notification
   handler detects the pending state, and re-runs feature discovery with
   the correct address — finding the bridge and creating the child device.

2. Centurion protocol version floor: The G522 dongle reports protocol
   1.1 (major=1, minor=1), which routes all protocol < 2.0 gates into
   HID++ 1.0 code paths (battery register reads, etc.) that crash with
   INVALID_SUB_ID_COMMAND. Centurion devices always use HID++ 2.0
   features, so the protocol property now returns 2.0 as a floor for
   any device with centurion=True.

3. CI segfault fix: Mock probe_centurion_device_addr in the two
   Centurion device tests so fake handles never reach the real hidapi
   C extension on macOS.
2026-05-10 15:39:17 -07:00
..
cli Add per-key RGB color painter and replace MAP_CHOICE color validator 2026-05-10 17:52:55 -04:00
ui Add regional keyboard layouts (ISO_QWERTY, QWERTZ, AZERTY, JIS) and fix copyright 2026-05-10 17:52:55 -04:00
__init__.py Fix warnings from automatic code inspections 2024-10-11 07:42:38 -04:00
configuration.py config: tolerate devices with no unitId 2026-02-05 10:50:49 -05:00
custom_logger.py Introduce custom logger 2025-01-02 07:56:46 -05:00
dbus.py solaar: Remove outdated logger enabled checks 2025-01-02 09:26:31 -05:00
gtk.py docs: update help messages for CLI commands 2025-12-21 18:03:53 -05:00
i18n.py Unsupported locale: Fall back to English (#2891) 2025-09-08 09:44:45 -04:00
listener.py Fix G522 0x50 Centurion init failure and protocol version crash 2026-05-10 15:39:17 -07:00
tasks.py solaar: Remove outdated logger enabled checks 2025-01-02 09:26:31 -05:00
version release 1.1.19 2026-01-08 12:32:44 -05:00