scrapbox-keyboard-emulation-2
多分
以外でも使える
動作確認済みの環境
動くっぽい
2021-05-08
15:31:19 コピペしやすいように相対パスに変えた
2021-03-14
それに伴って、キーの対応を追加した
多分これで大体カバーできたと思う
2021-01-01 15:17:37 keyup
も発行するようにしてみた
本体
本来 key
だけを設定すればいいはずなのだが、非推奨の keyCode
も渡さないとキー入力したことにならないみたい
余計な依存だったか
script.jsimport {scrapboxDOM} from '../scrapbox-dom-accessor/script.js';
import {KEYCODE_MAP} from '../key2keyCode/script.js';
import {vim2js} from '../Vim-keymap-converter-2/script.js';
export function press(key, {shiftKey = false, ctrlKey = false, altKey = false, noKey = false} = {}) {
if (!(key in KEYCODE_MAP)) {
throw Error(`No key code of ${key}`);
}
const options = {
bubbles: true,
cancelable: true,
keyCode: KEYCODE_MAP[key],
shiftKey,
ctrlKey,
altKey,
};
scrapboxDOM.textInput.dispatchEvent(new KeyboardEvent('keydown', options));
scrapboxDOM.textInput.dispatchEvent(new KeyboardEvent('keyup', options));
}
export function pressVim(keyString) {
press(vim2js(keyString));
}