diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-11-10 13:40:48 -0500 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-11-10 13:40:48 -0500 |
commit | 157e6f7c75a20453e17668c0e8886f46b7f4b7ac (patch) | |
tree | 505085d34521d7bf53565b5d90d87feeb43e5156 /ext/bg | |
parent | 120f97be2601fcf47294d9f4ab1f7c06f7bc6c05 (diff) |
Optimize DisplaySearch.onKeyDown
Diffstat (limited to 'ext/bg')
-rw-r--r-- | ext/bg/js/search.js | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 290830f4..ad579918 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -179,27 +179,14 @@ class DisplaySearch extends Display { onKeyDown(e) { const key = Display.getKeyFromEvent(e); + const ignoreKeys = DisplaySearch.onKeyDownIgnoreKeys; - let activeModifierMap = { + const activeModifierMap = { 'Control': e.ctrlKey, 'Meta': e.metaKey, 'ANY_MOD': true }; - const ignoreKeys = { - 'ANY_MOD': ['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End'] - .concat( - Array.from(Array(24).keys()) - .map(i => `F${i + 1}`) - ), - 'Control': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], - 'Meta': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], - 'OS': [], - 'Alt': [], - 'AltGraph': [], - 'Shift': [] - } - let preventFocus = false; for (const [modifier, keys] of Object.entries(ignoreKeys)) { const modifierActive = activeModifierMap[modifier]; @@ -364,4 +351,19 @@ DisplaySearch.runtimeMessageHandlers = { } }; +DisplaySearch.onKeyDownIgnoreKeys = { + 'ANY_MOD': [ + 'Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End', + 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', + 'F11', 'F12', 'F13', 'F14', 'F15', 'F16', 'F17', 'F18', 'F19', 'F20', + 'F21', 'F22', 'F23', 'F24' + ], + 'Control': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], + 'Meta': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], + 'OS': [], + 'Alt': [], + 'AltGraph': [], + 'Shift': [] +}; + window.yomichan_search = DisplaySearch.create(); |