From d517f10becb74b98cfe4fe78bd914a3582ca4a65 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Thu, 11 Oct 2018 07:04:01 -0700 Subject: [PATCH] Ignore key presses inside inputs etc. --- js/hotkeys.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/js/hotkeys.ts b/js/hotkeys.ts index eef797c4..6401efdc 100644 --- a/js/hotkeys.ts +++ b/js/hotkeys.ts @@ -21,6 +21,8 @@ import { TOGGLE_TIME_MODE, TOGGLE_LLAMA_MODE } from "./actionTypes"; import { arraysAreEqual } from "./utils"; import { Dispatch } from "./types"; +const IGNORE_EVENTS_FROM_TAGS = new Set(["input", "textarea", "select"]); + export function bindHotkeys(dispatch: Dispatch): () => void { let keylog: number[] = []; const trigger = [ @@ -35,6 +37,12 @@ export function bindHotkeys(dispatch: Dispatch): () => void { ]; const listener = (e: KeyboardEvent) => { + if ( + e.target instanceof Element && + IGNORE_EVENTS_FROM_TAGS.has(e.target.tagName.toLowerCase()) + ) { + return; + } if (e.ctrlKey) { switch (e.keyCode) { case 68: // CTRL+D