From e470e4e88f1b3d3f7cbdf033a60f255079cb202b Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 18 Mar 2024 12:12:10 +0100 Subject: [PATCH 1/2] React Flow: opening context menu now correctly resets keypresses --- packages/react/src/hooks/useKeyPress.ts | 2 ++ 1 file changed, 2 insertions(+) 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]); From 84ef65e95613c36ccbacb178f4b262963482987c Mon Sep 17 00:00:00 2001 From: peterkogo Date: Mon, 18 Mar 2024 12:18:23 +0100 Subject: [PATCH 2/2] Svelte Flow: bluring window and opening context menu now releases all pressed keys --- .../src/lib/components/KeyHandler/KeyHandler.svelte | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 @@