diff --git a/packages/react/src/hooks/useKeyPress.ts b/packages/react/src/hooks/useKeyPress.ts index 9f738d06..beca4000 100644 --- a/packages/react/src/hooks/useKeyPress.ts +++ b/packages/react/src/hooks/useKeyPress.ts @@ -109,11 +109,13 @@ export function useKeyPress( target?.addEventListener('keydown', downHandler as EventListenerOrEventListenerObject); target?.addEventListener('keyup', upHandler as EventListenerOrEventListenerObject); window.addEventListener('blur', resetHandler); + window.addEventListener('contextmenu', resetHandler); return () => { target?.removeEventListener('keydown', downHandler as EventListenerOrEventListenerObject); target?.removeEventListener('keyup', upHandler as EventListenerOrEventListenerObject); window.removeEventListener('blur', resetHandler); + window.removeEventListener('contextmenu', resetHandler); }; } }, [keyCode, setKeyPressed]); diff --git a/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte b/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte index 4c4f138e..11157e87 100644 --- a/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte +++ b/packages/svelte/src/lib/components/KeyHandler/KeyHandler.svelte @@ -40,6 +40,14 @@ return isKeyObject(key) ? key.key : key; } + function resetAll() { + selectionKeyPressed.set(false); + multiselectionKeyPressed.set(false); + deleteKeyPressed.set(false); + panActivationKeyPressed.set(false); + zoomActivationKeyPressed.set(false); + } + $: selectionKeyDefinition = { key: getKeyString(selectionKey), modifier: getModifier(selectionKey) @@ -67,6 +75,8 @@