From 8c9aad9a9b8a0c0daffe49dd211a2fbeeb606e46 Mon Sep 17 00:00:00 2001 From: cyw <101454484+ywchenwy@users.noreply.github.com> Date: Wed, 19 Aug 2026 12:38:57 +0800 Subject: [PATCH] fix(editor): enable shift+wheel horizontal scroll on all platforms (#15494) Fixes #10034 --- .../affine/blocks/root/src/edgeless/edgeless-root-block.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/blocksuite/affine/blocks/root/src/edgeless/edgeless-root-block.ts b/blocksuite/affine/blocks/root/src/edgeless/edgeless-root-block.ts index e3b307bef9..3f5f6a55d8 100644 --- a/blocksuite/affine/blocks/root/src/edgeless/edgeless-root-block.ts +++ b/blocksuite/affine/blocks/root/src/edgeless/edgeless-root-block.ts @@ -356,7 +356,11 @@ export class EdgelessRootBlockComponent extends BlockComponent< } // pan else { - const simulateHorizontalScroll = IS_WINDOWS && e.shiftKey; + // Enable Shift+wheel horizontal scroll on Windows (no native deltaX), + // and on any platform when using a mouse without horizontal scroll + // (deltaX === 0 means no native horizontal input, e.g. external mouse on macOS/Linux). + const simulateHorizontalScroll = + e.shiftKey && (IS_WINDOWS || e.deltaX === 0); const dx = simulateHorizontalScroll ? e.deltaY / viewport.zoom : e.deltaX / viewport.zoom;