AprilNEA / AprilNEA/OpenLogi

[Bug]: M500 corded mouse detected but middle mouse click not being recognized

Open
#1,230 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?

GUI (desktop app)

### OpenLogi version

0.8.3

### Operating system

macOS

### OS version & architecture

MacOS 26.6.2 (25G83)

### Device model

Logitech M500 corded (USB)

### How is the device connected?

Wired (USB cable)

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

Checks:
- [x] I removed all Logitech plus / options software and revoked all permissions for Logitech software
- [x] I installed OpenLogi and configured my buttons
- [x] I rebooted the system

Behaviour:
1. the M500 corded mouse is recognized, but it shows more buttons than it actually has. (model M-U00007)
- DPI button does not exist on M500
- only 2 buttons exist on left side of mouse; not 3
2. Scrolling initially failed (but works after reboot; probably conflict with Logi plus or Logi options)
3. I setup the middle mouse button to launch expose or Mission Control, but the middle mouse button keeps opening links in a new tab instead.

### Steps to reproduce

1. install OpenLogi software
2. connect and configure mouse M500 corded to open expose / control center on macOS
3. reboot (not required)
4. try to click middle mouse button on MacOS
5. nothing happens

### Diagnostics report

```markdown
### OpenLogi Diagnostics

**App**
- OpenLogi (GUI): v0.8.3 (release)
- Agent: v0.8.3 (connected)
- IPC protocol: GUI 29 / agent 29
- Inventory: ready
- OS: macOS 26.6.2 (arm64)
- Locale: nl-NL (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 7 · 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)**
- M500 — mouse (codename: M500)
- Connection: Wired (USB) · Online: yes · Battery: n/a
- Capabilities: buttons=yes, pointer=no, lighting=no
- DPI: unsupported
- Model: 0c069 (model-ids: c069/0000/0000, ext-model: 00)
- Transports: USB
- Render: ⚠️ none (silhouette) · direct
```

### `openlogi list` output

```text
(inventory read from the running agent)
M500 (—, vid=046d pid=c069)
└─ slot 255 ● M500 (mouse, wpid=?, battery=—)
model_ids=[c069,0000,0000] ext=00 serial=— unit_id=00000000 transports=usb
```

### Logs

```shell
(no agent reachable — reading hardware directly; macOS judges this process's Input Monitoring grant, not the agent's)
2026-09-01T13:27:12.302419Z DEBUG openlogi_hid::transport: logitech HID node name=M500 pid=c069 usage_page=0xff43 usage_id=0x0202 matched=true
2026-09-01T13:27:12.302777Z DEBUG openlogi_hid::transport: logitech HID node name=USB Laser Mouse pid=c069 usage_page=0x0001 usage_id=0x0002 matched=false
2026-09-01T13:27:12.302782Z DEBUG openlogi_hid::transport: logitech HID node name=USB Laser Mouse pid=c069 usage_page=0x0001 usage_id=0x0001 matched=false
2026-09-01T13:27:12.302813Z DEBUG openlogi_device::inventory: HID++ candidate interfaces count=1
2026-09-01T13:27:12.305790Z DEBUG openlogi_hid::transport: opened HID++ channel name=M500 vid=046d
2026-09-01T13:27:12.310374Z DEBUG openlogi_device::inventory::probe: BT-direct / wired device recognised os_name=M500 name=M500
M500 (—, vid=046d pid=c069)
└─ slot 255 ● M500 (mouse, wpid=?, battery=—)
model_ids=[c069,0000,0000] ext=00 serial=— unit_id=00000000 transports=usb
```

### 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 issue with the wired M500 on macOS, then inspect the logged openlogi_hid::transport and openlogi_device::inventory::probe paths. Compare the reported button capabilities with the physical device and verify the configured middle-button action through the GUI. Done means the M500 exposes its actual controls and the middle click performs the selected action.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.