Commit 644af04
committed
fix: forward non-matching HID++ reports during command exchanges
_request() reads all incoming HID++ reports while waiting for a specific
response, but previously discarded non-matching ones (e.g. diverted
button state reports). This caused the held-state tracker for extra
CIDs like 0x00C4 (SmartShift button) to get out of sync -- a button
release during a set_smart_shift write would be swallowed, leaving
held=True and requiring an extra press to re-sync.
Forward non-matching reports to _on_report() so button DOWN/UP tracking
stays correct during command exchanges. Also reset extra_diverts held
states on disconnect so reconnects start clean.1 parent 7a1cd26 commit 644af04
1 file changed
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
738 | 738 | | |
739 | 739 | | |
740 | 740 | | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
741 | 744 | | |
742 | 745 | | |
743 | 746 | | |
| |||
1474 | 1477 | | |
1475 | 1478 | | |
1476 | 1479 | | |
| 1480 | + | |
| 1481 | + | |
1477 | 1482 | | |
1478 | 1483 | | |
1479 | 1484 | | |
| |||
0 commit comments