AprilNEA / AprilNEA/OpenLogi

[Bug]: Mapping Back Button to Right Click does not work with Fusion 360 orbit mode Tinkercad emulation

Open
#1,057 0 comments 0 reactions 0 assignees View on GitHub
needs: triage type: bug
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?

CLI (the `openlogi` binary)

### OpenLogi version

0.8.1

### Operating system

macOS

### OS version & architecture

26.5.2 (Apple Silicon)

### Device model

MX Master 3 for Mac

### 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?

In Autodesk Fusion 360 the mouse setup can select Tinkercad emulation. In this setup the right mouse button can perform the transient orbit mode. The right mouse button is also overloaded with selection menu presentation.

This works correctly with the right mouse button in OpenLogi. But if you map the "Back" button to Right Click transient orbit mode does not work with the Back button.

### Steps to reproduce

Set OpenLogi to map Back button to Right Click.
In Fusion 360 set Mouse set Preferences > General: Mouse setup (pan, zoom, orbit) to Tinkercad.
In Fusion 360 press and hold Back button -> only selection menu options are presented. Orbit mode is not invoked.

### Diagnostics report

```markdown
### OpenLogi Diagnostics

**App**
- OpenLogi (GUI): v0.8.1 (release)
- Agent: v0.8.1 (connected)
- IPC protocol: GUI 28 / agent 28
- Inventory: ready
- OS: macOS 26.5.2 (arm64)
- Locale: en-US (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 6 · 1 configured device(s) · thumbwheel 27

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent

**Devices (1)**
- MX Master 3 — mouse (codename: MX Master 3 for Mac)
- Connection: Bluetooth (direct) · Online: yes · Battery: 100% (discharging, full)
- Capabilities: buttons=yes, pointer=yes, lighting=no
- DPI: 1000 dpi (range 200–4000, 77 steps)
- Model: 3b023 (model-ids: b023/4082/0000, ext-model: 03)
- Transports: eQuad, BTLE
- Render: mx_master_3 · direct
```

### `openlogi list` output

```text
(inventory read from the running agent)
MX Master 3 Mac (—, vid=046d pid=b023)
└─ slot 255 ● MX Master 3 for Mac (mouse, wpid=?, battery=100% full (discharging))
model_ids=[b023,4082,0000] ext=03 serial=— unit_id=9d3a8e8c transports=equad+btle
```

### Logs

```shell
2026-08-26T19:02:44.135779Z DEBUG RPC{rpc.deadline=2026-08-26T19:02:54.134523375Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: SendRequest
2026-08-26T19:02:44.136329Z DEBUG RPC{rpc.deadline=2026-08-26T19:02:54.134523375Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-08-26T19:02:44.136480Z DEBUG RPC{rpc.deadline=2026-08-26T19:02:54.136464000Z otel.kind="client" otel.name=Agent.snapshot rpc.trace_id=00}: tarpc::client: SendRequest
2026-08-26T19:02:44.136604Z DEBUG RPC{rpc.deadline=2026-08-26T19:02:54.136464000Z otel.kind="client" otel.name=Agent.snapshot rpc.trace_id=00}: tarpc::client: ReceiveResponse
(inventory read from the running agent)
MX Master 3 Mac (—, vid=046d pid=b023)
└─ slot 255 ● MX Master 3 for Mac (mouse, wpid=?, battery=100% full (discharging))
model_ids=[b023,4082,0000] ext=03 serial=— unit_id=9d3a8e8c transports=equad+btle
```

### 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 with the openlogi CLI's button-remapping behavior on macOS and reproduce the Back-to-Right-Click mapping with Fusion 360 set to Tinkercad mouse emulation. No source file or test is named; done means holding Back invokes Fusion 360's transient orbit mode while preserving the expected Right Click behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
cli, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.