scrapbox-keyboard-emulation-2
多分/emoji/scrapbox.icon以外でも使える
動作確認済みの環境
/icons2/Firefox.icon
そのうち/icons/GoogleChrome.iconでも確認しておきたい
動くっぽい
2021-05-08
15:31:19 コピペしやすいように相対パスに変えた
2021-03-14
それに伴って、キーの対応を追加した
多分これで大体カバーできたと思う
2021-01-01 15:17:37 keyupも発行するようにしてみた
本体
本来keyだけを設定すればいいはずなのだが、非推奨のkeyCodeも渡さないとキー入力したことにならないみたい
余計な依存だったか
code:script.js
import {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,
shiftKey,
ctrlKey,
altKey,
};
scrapboxDOM.textInput.dispatchEvent(new KeyboardEvent('keydown', options));
scrapboxDOM.textInput.dispatchEvent(new KeyboardEvent('keyup', options));
}
export function pressVim(keyString) {
press(vim2js(keyString));
}