AprilNEA / AprilNEA/OpenLogi

[Bug]: Horizontal wheel scrolling between tabs jumps between first and last tab

Open
#457 2 comments 0 reactions 0 assignees View on GitHub
needs: triage platform: windows 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?

Not sure

### OpenLogi version

0.6.22

### Operating system

Windows

### OS version & architecture

Windows 11 26H2 26300.8935

### Device model

MX Master 3 + Unifying receiver

### How is the device connected?

Logi Bolt 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?

When using the horizontal wheel to scroll between tabs in Firefox or Edge (haven't tried other browsers), even the smallest of scroll makes the tab jump from the last one to the first one, and vice-versa depending on the direction of the scroll.

### Steps to reproduce

1. Set the horizontal wheel to previous and next tab
2. Use the horizontal wheel to scroll between tabs in a browser

### 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: Windows (x86_64)
- Locale: fr-FR (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: no · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 3 · 2 configured device(s) · thumbwheel 14

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

**Devices (4)**
- MX Master — mouse
- Connection: Logi Unifying receiver · Online: no · Battery: n/a
- Capabilities: not probed
- Model: receiver:02289624:slot:1
- Render: ⚠️ none (silhouette) · Slot 1
- MX Master 3 — mouse (codename: MX Master 3)
- Connection: Logi Unifying receiver · Online: yes · Battery: n/a
- Capabilities: buttons=yes, pointer=yes, lighting=no
- Model: receiver:02289624:slot:2 (wpid: 4082, model-ids: b023/4082/0000, ext-model: 00)
- Transports: eQuad, BTLE
- Render: mx_master_3 · Slot 2
- MX Keys — keyboard
- Connection: Logi Unifying receiver · Online: no · Battery: n/a
- Capabilities: not probed
- Model: receiver:02289624:slot:3
- Render: ⚠️ none (silhouette) · Slot 3
- MX Mechanical Mini — keyboard (codename: MX MCHNCL M)
- Connection: Logi Bolt receiver · Online: yes · Battery: 100% (discharging, full)
- Capabilities: buttons=yes, pointer=no, lighting=no
- Model: receiver:c955ca37896330bc:slot:1 (model-ids: b367/0000/0000, ext-model: 00)
- Transports: BTLE
- Render: mx_mechanical_mini · Slot 1

**Receivers (2)**
- Logi Bolt Receiver (VID 046d / PID c548)
- Unifying Receiver (VID 046d / PID c52b)
```

### `openlogi list` output

```text

```

### Logs

```shell

```

### macOS permissions (if applicable)

- [ ] OpenLogi has **Accessibility** permission (needed to remap buttons via the event tap).
- [ ] 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 horizontal-wheel button-remapping path for previous and next tab actions, then reproduce the behavior in Firefox or Edge with the MX Master 3. Check how small horizontal scroll values are handled and verify that scrolling moves between adjacent tabs without wrapping from the first tab to the last or vice versa.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.