feat(viewport): optional touchpad pan for wheel-scrolling touchpads

Outside macOS a touchpad's two-finger drag arrives as wheel scrolls that
nothing tells from a wheel. A new option (Options, off by default) makes
every scroll pan and Ctrl+scroll — what a pinch sends there — zoom.

Fixes #1560

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-08 11:07:37 +03:00
1 parent 17d2954098
commit 69057c55da
29 files changed
+83 -11

No files matched your search

+4
View File
@@ -388,6 +388,9 @@ pub struct UserSettings {
pub polar: bool,
pub polar_increment_deg: f32,
pub zoom_wheel_reversed: bool,
/// Scrolling pans and Ctrl+scroll (a touchpad pinch) zooms, for a
/// touchpad that reports two-finger drags as wheel scrolls.
pub touchpad_pan: bool,
pub zoom_factor: i32,
/// CURSORSIZE: normalized crosshair reach; 5 retains the original 60 px arms.
pub cursor_size: i32,
@@ -807,6 +810,7 @@ impl Default for UserSettings {
polar: false,
polar_increment_deg: 45.0,
zoom_wheel_reversed: false,
touchpad_pan: false,
zoom_factor: 60,
cursor_size: 5,
pick_box: 3,