The bluez-dbus connect watcher (used to surface BT disconnect / reconnect events to the UI without restarting Solaar) was only installed in the non-Centurion device path of _start(). The Centurion-direct fallback — used for wired headsets and, prospectively, for BT-paired Centurion headsets where there's no LIGHTSPEED dongle — skipped it. Factor the post-create_device wiring (configuration.attach_to + bluez watch installation) into a shared _post_attach_device() helper that both paths call. No behaviour change for wired headsets (they aren't Bluetooth, so the watch installation is a no-op for them). For BT-paired headsets that come through the centurion-direct fallback, this makes reconnect events propagate the same way as for any other BT-paired Logitech HID++ device. Also broadens the docstring on create_centurion_receiver to mention BT-paired Centurion headsets as a valid "direct device" case alongside wired headsets. First commit on the centurion-bluetooth branch — see ~/.claude/plans/can-we-make-a-graceful-dongarra.md for the full plan. Hardware verification still required to confirm Path A (existing hidraw pipeline works for BT Centurion) before any further changes. |
||
|---|---|---|
| .. | ||
| hid_parser | ||
| hidapi | ||
| keysyms | ||
| logitech_receiver | ||
| solaar | ||