diff --git a/src/pages/editor/components/canvas/useKeyboardMovement.ts b/src/pages/editor/components/canvas/useKeyboardMovement.ts index ccf44fd..ef0f1a0 100644 --- a/src/pages/editor/components/canvas/useKeyboardMovement.ts +++ b/src/pages/editor/components/canvas/useKeyboardMovement.ts @@ -18,10 +18,6 @@ export const useKeyboardMovement = () => { } = useEditorStore(); useEffect(() => { - if (tool !== "select") { - return; - } - const handleKeyDown = (e: KeyboardEvent) => { const target = e.target as HTMLElement; if ( @@ -32,6 +28,26 @@ export const useKeyboardMovement = () => { return; } + if ((e.metaKey || e.ctrlKey) && (e.key === "z" || e.key === "Z")) { + e.preventDefault(); + if (e.shiftKey) { + redoObjects(); + } else { + undoObjects(); + } + return; + } + + if ((e.metaKey || e.ctrlKey) && (e.key === "y" || e.key === "Y")) { + e.preventDefault(); + redoObjects(); + return; + } + + if (tool !== "select") { + return; + } + // Handle Delete and Backspace keys if (e.key === "Delete" || e.key === "Backspace") { if (selectedObjectIds.length > 0) { @@ -78,22 +94,6 @@ export const useKeyboardMovement = () => { return; } - if ((e.metaKey || e.ctrlKey) && (e.key === "z" || e.key === "Z")) { - e.preventDefault(); - if (e.shiftKey) { - redoObjects(); - } else { - undoObjects(); - } - return; - } - - if ((e.metaKey || e.ctrlKey) && (e.key === "y" || e.key === "Y")) { - e.preventDefault(); - redoObjects(); - return; - } - if (selectedObjectIds.length === 0) { return; }