AprilNEA / AprilNEA/OpenLogi

[Bug]: gesture_owner = "MiddleClick" no longer works on MX Master 3S (regression in 0.6.24, works in 0.6.23)

Open
#560 2 comments 0 reactions 0 assignees View on GitHub
area: hidpp platform: all type: bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.