From 5bf7b9fdf8a384c7373528266c36ecf8b6d69633 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Sun, 20 Nov 2022 14:02:59 -0800 Subject: [PATCH] Prevent modifier key repeat from bogging down the app on WIndows Closes #767 --- frontend/src/io-managers/input.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/io-managers/input.ts b/frontend/src/io-managers/input.ts index 19f020ba..6bd481dd 100644 --- a/frontend/src/io-managers/input.ts +++ b/frontend/src/io-managers/input.ts @@ -99,6 +99,9 @@ export function createInputManager(editor: Editor, container: HTMLElement, dialo async function onKeyDown(e: KeyboardEvent): Promise { const key = await getLocalizedScanCode(e); + const NO_KEY_REPEAT_MODIFIER_KEYS = ["ControlLeft", "ControlRight", "ShiftLeft", "ShiftRight", "MetaLeft", "MetaRight", "AltLeft", "AltRight", "AltGraph", "CapsLock", "Fn", "FnLock"]; + if (e.repeat && NO_KEY_REPEAT_MODIFIER_KEYS.includes(key)) return; + if (await shouldRedirectKeyboardEventToBackend(e)) { e.preventDefault(); const modifiers = makeKeyboardModifiersBitfield(e);