拡張ホットキー
重要性: 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 で必要なキーを押しているかをチェックし、その場合に関数を実行します。