generated at
scrapbox-keyboard-emulation-2
多分scrapbox以外でも使える
scrapbox-keyboard-emulationを関数に直した

動作確認済みの環境
Firefox
そのうち/icons/GoogleChrome.iconでも確認しておきたい
動くっぽい

2021-05-08
15:31:19 コピペしやすいように相対パスに変えた
2021-03-14
20:27:24 Vim key notation形式を受け取れる関数 pressVim() を追加した
20:22:17 keyCode との対応をkey2keyCodeに切り出した
それに伴って、キーの対応を追加した
多分これで大体カバーできたと思う
2021-01-01 15:17:37 keyup も発行するようにしてみた

本体
scrapbox-dom-accessorを使っている
key2keyCodeを使って keyCode を取得する
本来 key だけを設定すればいいはずなのだが、非推奨の keyCode も渡さないとキー入力したことにならないみたい
Vim-keymap-converter-2は正直必要ないな……
余計な依存だったか
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, 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)); }

#2021-05-08 15:31:26
#2021-03-14 20:18:37
#2021-02-18 12:49:34
#2021-01-01 15:18:30
#2020-12-18 05:57:21