拡張ホットキー
重要性: 5
コード code1
, code2
, …, code_n
のキーを同時に押したときに func
を実行する関数 runOnKeys(func, code1, code2, ... code_n)
を作成してください。
例えば、下のコードは、 "Q"
と "W"
が同時に押されたときに alert
を表示します(任意の言語で、CapsLockの有無にかかわらず)。
runOnKeys(
() => alert("Hello!"),
"KeyQ",
"KeyW"
);
私たちは2つのハンドラを使う必要があります: document.onkeydown
と document.onkeyup
です。
Set pressed
は現在押されているキーを保持する必要があります。
最初のハンドラでそこに追加し、一方で2つ目のハンドラではそこから削除します。すべての keydown
で必要なキーを押しているかをチェックし、その場合に関数を実行します。