From 214a5103f3e2914028206a13ba115c69a7ee07f1 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sat, 21 Oct 2017 11:06:58 +0900 Subject: emit mapped keys from input-component --- src/content/actions/input.js | 11 ++--------- src/content/components/common/index.js | 4 ++-- src/content/components/common/input.js | 11 ++++++++++- src/content/components/common/keymapper.js | 4 ++-- 4 files changed, 16 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/content/actions/input.js b/src/content/actions/input.js index 10ff835..31cfee3 100644 --- a/src/content/actions/input.js +++ b/src/content/actions/input.js @@ -1,16 +1,9 @@ import actions from 'content/actions'; -const asKeymapChars = (key, ctrl) => { - if (ctrl) { - return ''; - } - return key; -}; - -const keyPress = (key, ctrl) => { +const keyPress = (key) => { return { type: actions.INPUT_KEY_PRESS, - key: asKeymapChars(key, ctrl), + key, }; }; diff --git a/src/content/components/common/index.js b/src/content/components/common/index.js index 98a2337..db0ac43 100644 --- a/src/content/components/common/index.js +++ b/src/content/components/common/index.js @@ -10,8 +10,8 @@ export default class Common { const input = new InputComponent(win.document.body, store); const keymapper = new KeymapperComponent(store); - input.onKey((key, ctrl) => follow.key(key, ctrl)); - input.onKey((key, ctrl) => keymapper.key(key, ctrl)); + input.onKey(key => follow.key(key)); + input.onKey(key => keymapper.key(key)); this.store = store; this.children = [ diff --git a/src/content/components/common/input.js b/src/content/components/common/input.js index 2de0d7d..9af9fbe 100644 --- a/src/content/components/common/input.js +++ b/src/content/components/common/input.js @@ -1,3 +1,10 @@ +const mapKey = (e) => { + if (e.ctrlKey) { + return ''; + } + return e.key; +}; + export default class InputComponent { constructor(target) { this.pressed = {}; @@ -47,8 +54,10 @@ export default class InputComponent { return; } + let key = mapKey(e); + for (let listener of this.onKeyListeners) { - let stop = listener(e.key, e.ctrlKey); + let stop = listener(key); if (stop) { e.preventDefault(); e.stopPropagation(); diff --git a/src/content/components/common/keymapper.js b/src/content/components/common/keymapper.js index 655c3f2..8c0ddb1 100644 --- a/src/content/components/common/keymapper.js +++ b/src/content/components/common/keymapper.js @@ -9,8 +9,8 @@ export default class KeymapperComponent { update() { } - key(key, ctrl) { - this.store.dispatch(inputActions.keyPress(key, ctrl)); + key(key) { + this.store.dispatch(inputActions.keyPress(key)); let input = this.store.getState().input; let matched = Object.keys(input.keymaps).filter((keyStr) => { -- cgit v1.2.3