mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-11 13:31:29 +11:00
Fix inverted horizontal scroll on macOS
In winit the swipe from left to right on touchpad should generate positive horizontal delta change, however on macOS it was the other way around without natural scrolling. This commit inverses the horizontal scrolling delta in 'MouseScrollDelta' events to match other platforms. Fixes #1695.
This commit is contained in:
parent
658a9a4ea8
commit
e2cf2a5754
|
@ -27,6 +27,7 @@
|
|||
- On NetBSD, fixed crash due to incorrect detection of the main thread.
|
||||
- **Breaking:** The virtual key code `Subtract` has been renamed to `NumpadSubtract`
|
||||
- **Breaking:** On X11, `-` key is mapped to the `Minus` virtual key code, instead of `Subtract`
|
||||
- On macOS, fix inverted horizontal scroll.
|
||||
|
||||
# 0.22.2 (2020-05-16)
|
||||
|
||||
|
|
|
@ -1003,7 +1003,8 @@ extern "C" fn scroll_wheel(this: &Object, _sel: Sel, event: id) {
|
|||
let state = &mut *(state_ptr as *mut ViewState);
|
||||
|
||||
let delta = {
|
||||
let (x, y) = (event.scrollingDeltaX(), event.scrollingDeltaY());
|
||||
// macOS horizontal sign convention is the inverse of winit.
|
||||
let (x, y) = (event.scrollingDeltaX() * -1.0, event.scrollingDeltaY());
|
||||
if event.hasPreciseScrollingDeltas() == YES {
|
||||
let delta = LogicalPosition::new(x, y).to_physical(state.get_scale_factor());
|
||||
MouseScrollDelta::PixelDelta(delta)
|
||||
|
|
Loading…
Reference in a new issue