[Bug]: button capture stalls when one mouse switches between Bolt receivers
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
### Pre-flight checklist
- [x] Existing issues were searched and this is not a duplicate.
- [x] This was reproduced on the latest release, OpenLogi 0.8.3.
- [x] Logi Options+ was fully removed before testing.
### Which part of OpenLogi?
GUI (desktop app)
### OpenLogi version
0.8.3
### Operating system
macOS
### OS version & architecture
macOS 27.0 (26A5421a), Apple Silicon
### Device model
MX Master 4 paired with two Logi Bolt receivers
### Connection
Logi Bolt receiver
### Affected areas
- [x] Button remapping
- [x] Other: HID++ gesture and thumb-wheel capture
### What happened?
One MX Master 4 is paired with two physical Bolt receivers on separate
Easy-Switch channels. OpenLogi correctly retains one serial-backed device
configuration and reports the old receiver route offline and the new route
online.
After switching the mouse from receiver A to receiver B, captured controls stop
working, including remapped buttons and the thumb wheel. Restarting the
OpenLogi agent immediately restores all mappings on receiver B.
The agent repeatedly attempts to restore the capture state through receiver A,
which the mouse has already left. That pending restoration blocks the capture
session for receiver B.
Expected behavior: capture should hand off automatically to the mouse's newly
active receiver while retaining the same serial-backed configuration.
### Steps to reproduce
1. Pair one MX Master 4 with two Bolt receivers on different Easy-Switch channels.
2. Keep both receivers connected to the same Mac.
3. Start with the mouse active through receiver A and confirm remapped controls work.
4. Switch the mouse to receiver B.
5. Confirm inventory reports A offline and B online.
6. Try a remapped button or diverted thumb wheel.
7. Restart the OpenLogi agent and confirm the mappings immediately work again.
### `openlogi list` output
Receiver IDs and serial number have been redacted. Both records have the same
mouse serial number.
Logi Bolt Receiver ()
└─ slot 4 ○ MX Master 4
Logi Bolt Receiver ()
└─ slot 2 ● MX Master 4
### Logs
control capture active index=4 buttons=4 thumbwheel=true
failed to restore control mapping control="captured control"
failed to restore control mapping control="captured control"
failed to restore control mapping control="thumb wheel"
...repeats indefinitely...
openlogi-agent started
control capture active index=2 buttons=4 thumbwheel=true
### macOS permissions
- [x] OpenLogi has Accessibility permission.
- [x] OpenLogi has Input Monitoring permission.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the receiver handoff with the two-device setup and inspect the agent logs around control capture restoration. Use `openlogi list` to verify the old route is offline and the new route is online, then trace the capture state for the remapped buttons and thumb wheel. Done means controls work on receiver B without restarting the agent and the repeated restoration failures stop.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100