Repository navigation
v0.1.17
Three mice confirmed this release, none of them here.
Pulsar X2 Wireless (Areson) could not be read at all over hidraw
Both the dongle (25a7:fa7c) and the cable (25a7:fa7b) answer configuration requests on input report 0x09 while requests go out on 0x08. The receive path accepted only 0x08, so every reply was dropped and the memory read timed out — the CLI and GUI were unusable on that mouse.
Found, fixed and hardware-tested by @dbergPROTAKT (#13, #23), who also brought the framing checks that go with it:
- a reply's checksum has to check out;
- a memory read has to echo back the address and length it was asked for, so a second program on the same hidraw node cannot have its answers taken for ours;
- an unanswered command raises instead of returning an unrelated report, and says which report did arrive.
Following the mouse between cable and dongle, at human pace
The watch that notices a swap stopped asking ten seconds after the device left the bus — which assumed the other half is already in your hand. @dbergPROTAKT's was not: dongle out, cable in unhurried, and the app took about 70 seconds to follow, falling back to the minute battery timer the watch exists to beat. It now keeps asking every five seconds for as long as the device is away.
Home's Signal row survives an unplug
The window's event listener opened its hidraw node once and returned on the first read error, so taking the mouse off the bus ended it for the life of the window, while the tray's and the Input Test dialog's both recovered. Reported by @f-o-o-g-s (#21), who then established that a departed node ends in EIO rather than an empty read — the branch the test harness had not been covering.
Confirmed on hardware by @dbergPROTAKT (Areson X2, dongle and cable), @iamtherobin (X2 CrazyLight) and @f-o-o-g-s (X3 on the 1K dongle). None of these paths exist on the mouse I have.