diff --git a/src/components/EditorCanvas/Canvas.jsx b/src/components/EditorCanvas/Canvas.jsx index fb49f217b..9b9df06c7 100644 --- a/src/components/EditorCanvas/Canvas.jsx +++ b/src/components/EditorCanvas/Canvas.jsx @@ -674,16 +674,7 @@ export default function Canvas() { (e) => { e.preventDefault(); - if (e.shiftKey) { - setTransform((prev) => ({ - ...prev, - pan: { - ...prev.pan, - x: prev.pan.x + e.deltaY / prev.zoom, - }, - })); - } else { - // Default and Ctrl/Meta: zoom centered on cursor + if (e.ctrlKey || e.metaKey) { const eagernessFactor = 0.05; setTransform((prev) => ({ pan: { @@ -700,6 +691,14 @@ export default function Canvas() { }, zoom: e.deltaY <= 0 ? prev.zoom * 1.05 : prev.zoom / 1.05, })); + } else { + setTransform((prev) => ({ + ...prev, + pan: { + x: prev.pan.x + (e.shiftKey ? e.deltaY : e.deltaX) / prev.zoom, + y: prev.pan.y + (e.shiftKey ? 0 : e.deltaY) / prev.zoom, + }, + })); } }, canvasRef,