Solaar/lib/hidapi
Ken Sanislo 693741f216 Add Centurion transport and PRO X 2 LIGHTSPEED headset support
Adds support for the Logitech PRO X 2 LIGHTSPEED Gaming Headset (PID 0x0AF7)
which uses the Centurion transport protocol (report ID 0x51 on USB usage page
0xFFA0) instead of standard HID++ report IDs.

Changes:
- HID enumeration: detect Centurion devices via report descriptor parsing
  (usage page 0xFFA0, report ID 0x51, 63-byte frames)
- Centurion transport: wrap/unwrap HID++ 2.0 frames in Centurion framing
  for write, read, and ping operations
- Feature discovery: enumerate features individually on Centurion devices
  (different response format: [remaining_count, feat_hi, feat_lo])
- Device descriptor for PRO X 2 LIGHTSPEED Gaming Headset
- New feature enum entries for Centurion-era headset features (0x06xx)
- CenturionRawRW class for write-only headset settings controlled via
  raw Centurion commands reverse-engineered from HeadsetControl
- HeadsetSidetone setting (0-100 range, persisted locally)

Known limitations:
- Only sidetone control is implemented; other features need RE work
- Settings are write-only (no read-back from device)
- Headset features (0x06xx) not discoverable via IRoot; registered manually
2026-04-12 14:51:54 -07:00
..
__init__.py hidapi: Explicitly load hidapi/udev implementation 2024-10-11 07:42:38 -04:00
common.py Add Centurion transport and PRO X 2 LIGHTSPEED headset support 2026-04-12 14:51:54 -07:00
hidapi_impl.py Skip Logitech webcams to prevent them from locking up during HID++ checks on Macs 2026-02-28 10:50:36 -05:00
hidconsole.py tools: improve flags for hidconsole 2025-12-19 10:55:50 -05:00
udev_impl.py Add Centurion transport and PRO X 2 LIGHTSPEED headset support 2026-04-12 14:51:54 -07:00