[Feature]: Map thumbwheel rotation to Ctrl + vertical mouse wheel for native zoom
- 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
Add an action that can map thumbwheel rotation to vertical mouse wheel (for Logitech MX Master 3S, for example) events while holding a modifier key.
For example:
* Thumbwheel positive rotation → `Ctrl` + vertical wheel up
* Thumbwheel negative rotation → `Ctrl` + vertical wheel down
Ideally, the modifier could be configurable, but supporting `Ctrl` would already allow the thumbwheel to trigger native mouse-wheel zoom in many applications.
I am currently unable to check whether a similar mapping can already be approximated through the GUI, as `openlogi-gui` crashes on my Cinnamon/X11 system with the `RefCell already borrowed` issue already reported in #364.
The CLI does not appear to expose binding configuration, so I have not been able to test this further.
Thanks!
### Proposed solution
I previously tried other Linux-side remapping approaches, including tools working with X11/input events, but could not reliably reproduce `Ctrl` + vertical mouse wheel from the MX Master thumbwheel.
Mapping the thumbwheel to `Ctrl++` and `Ctrl+-` is also not quite equivalent, as the goal is specifically to use each application's native `Ctrl` + mouse wheel zoom behaviour.
OpenLogi's HID++ thumbwheel handling seems better suited to this use case because it can work with the MX Master thumbwheel directly.
### Alternatives considered
I am currently unable to check whether a similar mapping can already be approximated through the GUI...
### Related area(s)
- [ ] GUI
- [ ] CLI
- [x] Button actions / remapping
- [ ] DPI
- [ ] 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 locating OpenLogi's HID++ thumbwheel handling and the existing button-action/remapping flow. Check how bindings are represented and whether the CLI exposes configuration; done means positive and negative thumbwheel rotation produce Ctrl plus vertical wheel up and down, with the modifier configurable if supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100