From a75b1a3472489ef85286dfeb93d8fb4266889b20 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Tue, 30 Jul 2024 15:10:08 -0700 Subject: [PATCH] Fix hotkey state messing up on Enter->submit --- src-web/hooks/useHotKey.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src-web/hooks/useHotKey.ts b/src-web/hooks/useHotKey.ts index 66e50d0b..0d43a8b1 100644 --- a/src-web/hooks/useHotKey.ts +++ b/src-web/hooks/useHotKey.ts @@ -91,6 +91,12 @@ export function useHotKey( return; } + // Don't add key if not holding modifier + const isHoldingModifier = e.altKey || e.ctrlKey || e.metaKey || e.shiftKey; + if (!isHoldingModifier) { + return; + } + const key = normalizeKey(e.key, os); // Don't add hold keys @@ -127,6 +133,7 @@ export function useHotKey( clearCurrentKeys(); }; + const up = (e: KeyboardEvent) => { if (options.enable === false) { return; @@ -142,8 +149,9 @@ export function useHotKey( currentKeys.current.clear(); } }; - document.addEventListener('keydown', down, { capture: true }); + document.addEventListener('keyup', up, { capture: true }); + document.addEventListener('keydown', down, { capture: true }); return () => { document.removeEventListener('keydown', down, { capture: true }); document.removeEventListener('keyup', up, { capture: true });