[Bug]: gestures are not working + no option to activate theAction ring (MX Anywhere 3)
- 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?
Not sure
### OpenLogi version
openlogi 0.7.1
### Operating system
macOS
### OS version & architecture
macOS 26.6.2 (Tahoe), M4Pro
### Device model
MX Anywhere 3 (Bluetooth)
### How is the device connected?
Bluetooth (direct, no receiver)
### Affected area(s)
- [ ] Device discovery / detection
- [x] Button remapping
- [ ] DPI control
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [ ] Other
### What happened?
1. The assigned gestures are not working
2. There is no option to activate theAction ring in the action conversion selection menu
### Steps to reproduce
1. Open the app
2. Select the mouse
3. Select the Forward button
4. Select "Gestures"
Try using gestures, but they don't work.
### Diagnostics report
```markdown
### OpenLogi Diagnostics
**App**
- OpenLogi (GUI): v0.7.1 (release)
- Agent: v0.7.1 (connected)
- IPC protocol: GUI 17 / agent 17
- Inventory: ready
- OS: macOS 26.6.2 (arm64)
- Locale: ru-RU (UI: en)
- Accessibility: granted · Input hook: installed
- Launch at login: no · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 4 · 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)**
- MX Anywhere 3 — mouse (codename: MX Anywhere 3)
- Connection: Bluetooth (direct) · Online: yes · Battery: 45% (discharging, good)
- Capabilities: buttons=yes, pointer=yes, lighting=no
- Model: 0b025 (model-ids: b025/4090/0000, ext-model: 00)
- Transports: eQuad, BTLE
- Render: mx_anywhere_3 · direct
```
### `openlogi list` output
```text
openlogi list
2026-08-20T13:05:13.810923Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:05:14.134212Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:05:14.450679Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:05:14.770063Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
No Logitech HID++ devices or webcams found.
```
### Logs
```shell
OPENLOGI_LOG=debug /Applications/OpenLogi.app/Contents/MacOS/OpenLogi
2026-08-20T13:06:05.129541Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0002 matched=false
2026-08-20T13:06:05.129574Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0001 matched=false
2026-08-20T13:06:05.129578Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0xff43 usage_id=0x0202 matched=true
2026-08-20T13:06:05.129583Z DEBUG openlogi_hid::inventory: HID++ candidate interfaces count=1
2026-08-20T13:06:05.137410Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:06:05.137433Z DEBUG openlogi_hid::inventory: one-shot enumerate inventory incomplete or still changing — retrying attempt=1 all_complete=false all_healthy=false
2026-08-20T13:06:05.443362Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0002 matched=false
2026-08-20T13:06:05.443440Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0001 matched=false
2026-08-20T13:06:05.443453Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0xff43 usage_id=0x0202 matched=true
2026-08-20T13:06:05.443463Z DEBUG openlogi_hid::inventory: HID++ candidate interfaces count=1
2026-08-20T13:06:05.459391Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:06:05.459425Z DEBUG openlogi_hid::inventory: one-shot enumerate inventory incomplete or still changing — retrying attempt=2 all_complete=false all_healthy=false
2026-08-20T13:06:05.767004Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0002 matched=false
2026-08-20T13:06:05.767080Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0001 matched=false
2026-08-20T13:06:05.767093Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0xff43 usage_id=0x0202 matched=true
2026-08-20T13:06:05.767106Z DEBUG openlogi_hid::inventory: HID++ candidate interfaces count=1
2026-08-20T13:06:05.777854Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
2026-08-20T13:06:05.777890Z DEBUG openlogi_hid::inventory: one-shot enumerate inventory incomplete or still changing — retrying attempt=3 all_complete=false all_healthy=false
2026-08-20T13:06:06.084883Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0002 matched=false
2026-08-20T13:06:06.084954Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0x0001 usage_id=0x0001 matched=false
2026-08-20T13:06:06.084968Z DEBUG openlogi_hid::transport: logitech HID node name=APTEM・MX ANYWHERE pid=b025 usage_page=0xff43 usage_id=0x0202 matched=true
2026-08-20T13:06:06.084978Z DEBUG openlogi_hid::inventory: HID++ candidate interfaces count=1
2026-08-20T13:06:06.102781Z WARN openlogi_hid::inventory: failed to open HID++ channel — retrying next tick error=Message("Failed to open device")
No Logitech HID++ devices or webcams found.
```
### 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 tracing the GUI's Forward-button gesture selection and the agent/HID++ inventory and transport paths shown in the diagnostics and logs. Reproduce with an MX Anywhere 3 over direct Bluetooth on macOS, then verify that assigned gestures work and the Action Ring appears in the action conversion menu.
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
- 48/100