Optimize DisplaySearch.onKeyDown

This commit is contained in:
toasted-nutbread 2019-11-10 13:40:48 -05:00
parent 120f97be26
commit 157e6f7c75

View File

@ -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();