When a device sends WIRELESS_DEVICE_STATUS with config_needed=1, the host should re-push settings and acknowledge via ConfigChange SetComplete. The existing code relied on the push flag in changed(), but operator precedence caused push=True to be ignored for devices that have the WIRELESS_DEVICE_STATUS feature — the exact devices that send this notification. Handle the reconfiguration entirely in the notification handler: explicitly push settings and ack, rather than trying to overload the changed() condition. Also replace hardcoded cookie 0x11 with proper GetCookie/SetComplete protocol: read the device's current configuration cookie and echo it back, per the ConfigChange (0x0020) specification. |
||
|---|---|---|
| .. | ||
| hid_parser | ||
| hidapi | ||
| keysyms | ||
| logitech_receiver | ||
| solaar | ||