Fix horizontal scrolling on Mac when holding Shift (#3446)
This commit is contained in:
parent
39b5229df7
commit
6ed42d06bb
|
|
@ -8,6 +8,7 @@ use crate::messages::input_mapper::utility_types::input_mouse::ViewportPosition;
|
||||||
use crate::messages::portfolio::document::navigation::utility_types::NavigationOperation;
|
use crate::messages::portfolio::document::navigation::utility_types::NavigationOperation;
|
||||||
use crate::messages::portfolio::document::utility_types::misc::PTZ;
|
use crate::messages::portfolio::document::utility_types::misc::PTZ;
|
||||||
use crate::messages::portfolio::document::utility_types::network_interface::NodeNetworkInterface;
|
use crate::messages::portfolio::document::utility_types::network_interface::NodeNetworkInterface;
|
||||||
|
use crate::messages::portfolio::utility_types::KeyboardPlatformLayout;
|
||||||
use crate::messages::prelude::*;
|
use crate::messages::prelude::*;
|
||||||
use crate::messages::tool::utility_types::{HintData, HintGroup, HintInfo};
|
use crate::messages::tool::utility_types::{HintData, HintGroup, HintInfo};
|
||||||
use glam::{DAffine2, DVec2};
|
use glam::{DAffine2, DVec2};
|
||||||
|
|
@ -178,7 +179,14 @@ impl MessageHandler<NavigationMessage, NavigationMessageContext<'_>> for Navigat
|
||||||
responses.add(DocumentMessage::PTZUpdate);
|
responses.add(DocumentMessage::PTZUpdate);
|
||||||
}
|
}
|
||||||
NavigationMessage::CanvasPanMouseWheel { use_y_as_x } => {
|
NavigationMessage::CanvasPanMouseWheel { use_y_as_x } => {
|
||||||
let delta = if use_y_as_x { (-ipp.mouse.scroll_delta.y, 0.).into() } else { -ipp.mouse.scroll_delta.as_dvec2() } * VIEWPORT_SCROLL_RATE;
|
// On Mac, the OS already converts Shift+scroll into horizontal scrolling
|
||||||
|
let keyboard_platform = GLOBAL_PLATFORM.get().copied().unwrap_or_default().as_keyboard_platform_layout();
|
||||||
|
|
||||||
|
let delta = if use_y_as_x && keyboard_platform == KeyboardPlatformLayout::Standard {
|
||||||
|
(ipp.mouse.scroll_delta.y, 0.).into()
|
||||||
|
} else {
|
||||||
|
ipp.mouse.scroll_delta.as_dvec2()
|
||||||
|
} * -VIEWPORT_SCROLL_RATE;
|
||||||
responses.add(NavigationMessage::CanvasPan { delta });
|
responses.add(NavigationMessage::CanvasPan { delta });
|
||||||
}
|
}
|
||||||
NavigationMessage::CanvasTiltResetAndZoomTo100Percent => {
|
NavigationMessage::CanvasTiltResetAndZoomTo100Percent => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue