将来的にバグに繋がりかねない挙動を修正

This commit is contained in:
syuilo 2018-09-18 15:02:15 +09:00
parent 0ed704d173
commit 3b628ec3c4
No known key found for this signature in database
GPG Key ID: BDC4C49D06AB9D69
1 changed files with 8 additions and 5 deletions

View File

@ -22,7 +22,10 @@ const getKeyMap = keymap => Object.entries(keymap).map(([patterns, callback]): a
result.patterns = patterns.split('|').map(part => { result.patterns = patterns.split('|').map(part => {
const pattern = { const pattern = {
which: [] which: [],
ctrl: false,
alt: false,
shift: false
} as pattern; } as pattern;
part.trim().split('+').forEach(key => { part.trim().split('+').forEach(key => {
@ -66,10 +69,10 @@ export default {
if (el._hotkey_global && targetReservedKeys.includes(`'${key}'`)) break; if (el._hotkey_global && targetReservedKeys.includes(`'${key}'`)) break;
const matched = action.patterns.some(pattern => { const matched = action.patterns.some(pattern => {
let matched = pattern.which.includes(key); const matched = pattern.which.includes(key) &&
if (pattern.ctrl && !e.ctrlKey) matched = false; pattern.ctrl == e.ctrlKey &&
if (pattern.shift && !e.shiftKey) matched = false; pattern.shift == e.shiftKey &&
if (pattern.alt && !e.altKey) matched = false; pattern.alt == e.altKey;
if (matched) { if (matched) {
e.preventDefault(); e.preventDefault();