[Bug]: gesture_owner = "MiddleClick" no longer works on MX Master 3S (regression in 0.6.24, works in 0.6.23)
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 180
Description
### Summary
Middle-button gestures stopped working in 0.6.24. Setting `gesture_owner = "MiddleClick"` no longer diverts the middle button, so none of the directional actions fire. The same config works correctly on 0.6.23.
### Device
- MX Master 3S, connected over Bluetooth LE (no Bolt receiver)
- Config key: `direct:046d:b034`, `transports.btle = true`
- macOS 26 (Darwin 27.0.0), Apple Silicon
### Steps to reproduce
1. On 0.6.23, set the middle button as the gesture owner and bind four directions (e.g. Up = MissionControl, Down = ShowDesktop, Left = PrevTab, Right = NextTab). Confirm hold-and-push works.
2. Upgrade to 0.6.24, 0.6.25 or 0.6.26.
3. Hold the middle button and push in any direction.
### Expected
The bound directional action fires, and a tap still sends a plain middle click.
### Actual
No directional action fires. A tap still produces a plain middle click, so the button itself is alive. Every other button keeps working, and assigning `gesture_owner = "GestureButton"` (the thumb button) makes directions work again on that button. So gesture handling as a whole is fine; only `MiddleClick` as the gesture owner is broken.
### Config
Relevant lines from `~/.config/openlogi/config.toml` (identical on both versions, only the version differs):
```toml
[devices."direct:046d:b034:serial:REDACTED"]
gesture_owner = "MiddleClick"
[devices."direct:046d:b034:serial:REDACTED".bindings.MiddleClick]
Up = "MissionControl"
Down = "ShowDesktop"
Left = "PrevTab"
Right = "NextTab"
Click = "MiddleClick"
```
### Versions
- 0.6.23: works
- 0.6.24, 0.6.25, 0.6.26: broken
- Rolling back to 0.6.23 restores the behaviour immediately.
### Notes
Ruled out as causes: Input Monitoring and Accessibility permissions (re-granted several times, no effect), and any conflict with Logitech Options+ (not installed, no `logi` launch agents loaded).
Two changes in this range look like plausible suspects: the agent input-capture rework in 0.6.24 (#522, #532) and the per-device capture change in 0.6.25.
Separately, and possibly worth a look on its own: 0.6.24 onward ships with the bundle identifier `org.openlogi.openlogi.dev` (agent `org.openlogi.agent.dev`) instead of `org.openlogi.openlogi`. macOS treats that as a different application, so every previously granted TCC permission is dropped and the config directory moves from `~/.config/openlogi` to `~/.config/openlogi-dev`, silently orphaning existing settings on upgrade. If the `.dev` suffix is not intentional for release builds, it may be worth reverting.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the regression with the supplied MiddleClick configuration, then compare the agent input-capture rework in 0.6.24 (#522, #532) with the per-device capture change in 0.6.25. Done means directional actions work for MiddleClick while a tap still sends a plain middle click, without breaking GestureButton ownership.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100