[Bug]: Gesture button not working as expected
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
### Pre-flight checklist
- [x] I searched [existing issues](https://github.com/AprilNEA/OpenLogi/issues?q=is%3Aissue) and this is not a duplicate.
- [x] I am on the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) or a recent `master` build.
- [x] I quit **Logi Options+** before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).
### Which part of OpenLogi?
GUI (desktop app)
### OpenLogi version
0.6.22
### Operating system
macOS
### OS version & architecture
15.7.7 (24G720)
### Device model
M720
### How is the device connected?
Logi Bolt receiver
### Affected area(s)
- [ ] Device discovery / detection
- [ ] Button remapping
- [ ] DPI control
- [ ] Per-application profiles
- [ ] SmartShift
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [x] Other
### What happened?
I have disabled gestures and want my gesture button to open mission control but it instead behaves like a tab button.
Here is my config.toml file
schema_version = 3
[app_settings]
launch_at_login = false
check_for_updates = true
auto_install_updates = false
update_prompt_seen = true
show_in_menu_bar = true
auto_download_assets = true
asset_source = "automatic"
thumbwheel_sensitivity = 14
appearance = "system"
[devices."receiver:f6be9403:slot:1"]
gesture_owner = "Off"
[devices."receiver:f6be9403:slot:1".identity]
display_name = "M720 TRIATHLON"
codename = "M720 Triathlon"
kind = "mouse"
[devices."receiver:f6be9403:slot:1".identity.model_info]
entity_count = 3
unit_id = [
0,
0,
0,
0,
]
model_ids = [
45077,
16478,
0,
]
extended_model_id = 0
[devices."receiver:f6be9403:slot:1".identity.model_info.transports]
usb = false
equad = true
btle = true
bluetooth = false
[devices."receiver:f6be9403:slot:1".identity.capabilities]
buttons = true
pointer = false
lighting = false
scroll_inversion = true
hires_wheel = true
[devices."receiver:f6be9403:slot:1".bindings]
GestureButton = "MissionControl"
### Steps to reproduce
Set Gesture Button to Off
Set Gesture Button as Mission Control
### Diagnostics report
```markdown
### OpenLogi Diagnostics
**App**
- OpenLogi (GUI): v0.6.22 (release)
- Agent: v0.6.22 (connected)
- IPC protocol: GUI 10 / agent 10
- Inventory: ready
- OS: macOS 15.7.7 (arm64)
- Locale: en-TR (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: no · Update check: on
- Running from: source build (dev)
- Config: schema 3 · 1 configured device(s) · thumbwheel 14
**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent
**Devices (1)**
- M720 TRIATHLON — mouse (codename: M720 Triathlon)
- Connection: Logi Unifying receiver · Online: yes · Battery: n/a
- Capabilities: buttons=yes, pointer=no, lighting=no
- Model: receiver:f6be9403:slot:1 (wpid: 405e, model-ids: b015/405e/0000, ext-model: 00)
- Transports: eQuad, BTLE
- Render: m720_triathlon · Slot 1
**Receivers (1)**
- Unifying Receiver (VID 046d / PID c52b)
```
### `openlogi list` output
```text
```
### Logs
```shell
```
### macOS permissions (if applicable)
- [x] OpenLogi has **Accessibility** permission (needed to remap buttons via the event tap).
- [x] OpenLogi has **Input Monitoring** permission (needed for Bluetooth-direct devices and capture).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the M720 configuration from config.toml in the GUI: set Gesture Button to Off, then assign MissionControl, and compare the resulting tab-button behavior. Use the diagnostics report and the empty `openlogi list` output to verify the device and permissions; done means the gesture button invokes Mission Control rather than acting as a tab key.
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
- 52/100