Tasti di scelta rapida estesi
Create una funzione runOnKeys(func, code1, code2, ... code_n) che esegue func quando vengono premuti contemporaneamente i tasti con i codici code1, code2, …, code_n.
Ad esempio, il seguente codice mostra un alert quando vengono premuti "Q" e "W" insieme (in qualunque lingua, con o senza il CapsLock)
runOnKeys(
() => alert("Hello!"),
"KeyQ",
"KeyW"
);
Qui dobbiamo usare due gestori: document.onkeydown e document.onkeyup.
Andiamo ad impostare pressed = new Set() per memorizzare i tasti attualmente premuti.
Il primo gestore lo aggiunge, mentre il secondo lo rimuove. Ad ogni keydown controlliamo se abbiamo abbastanza tasti premuti, ed in caso affermativo la funzione verrà eseguita.