AprilNEA / AprilNEA/OpenLogi

[Feature]: send high resolution mouse wheel events

Open
#884 0 comments 1 reaction 0 assignees View on GitHub
needs: triage type: feature
Dominant language
Rust
Stars
21k
Forks
675
Avg merge
2d 5h
Merged PRs (30d)
172

Description

### Pre-flight checklist

- [x] I searched existing issues and the [Roadmap](https://github.com/AprilNEA/OpenLogi#roadmap), and this isn't already tracked.

### Problem / motivation

After selecting high resolution scrolling, apps will scroll very rapidly in response to scroll wheel input. OpenLogi seems to be sending scroll events at a higher rate (expected) but using WM_MOUSEWHEEL deltas that are multiples of 120. Windows supports values <120 and they are used by LogiOptions in select apps (e.g. chrome.exe and word.exe) to scroll smoothly with high resolution mouse events.

There are programs like https://github.com/igvk/LogiOptionsPlus-InMemoryPatching that exist to apply the same smooth scrolling to an arbitrary list of apps, not just the ones hardcoded inside the LogiOptions executable. It would be preferable to get this smooth scrolling behavior in OpenLogi.

### Proposed solution

Provide an option to send small scroll deltas (multiple of hardware event can be configured in toml instead of hardcoded to 120) when the mousewheel is in high resolution mode.

### Alternatives considered

Either avoid enabling high resolution mousewheel events or go back to LogiOptions with one of the patchers that fixes smooth scrolling to apply to arbitrary apps.

### Related area(s)

- [ ] GUI
- [ ] CLI
- [ ] Button actions / remapping
- [ ] DPI
- [x] SmartShift
- [ ] Per-application profiles
- [ ] Configuration (TOML)
- [ ] Auto-update
- [ ] Other

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the high-resolution mouse-wheel handling in the SmartShift area and identify where WM_MOUSEWHEEL deltas are generated. Check how hardware-event multiples are currently represented and how TOML configuration is loaded. Done means high-resolution mode can emit configurable sub-120 deltas and produces smooth scrolling in the affected applications.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.