scrapbox-keyboard-emulation-2
UserScriptでキーボード入力代行 (javascript)を行うscriptその2
多分/emoji/scrapbox.icon以外でも使える
scrapbox-keyboard-emulationを関数に直した
動作確認済みの環境
/icons2/Firefox.icon
そのうち/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は正直必要ないな……
余計な依存だったか
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,
keyCode: KEYCODE_MAPkey,
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-24
#2020-12-18 05:57:21