[Feature]: send high resolution mouse wheel events
- 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