Extendiendo atajos de teclado
Crea una función runOnKeys(func, code1, code2, ... code_n) que ejecute func al presionar simultáneamente las teclas con códigos code1, code2, …, code_n.
Por ejemplo, el siguiente código muestra un alert cuando "Q" y "W" se presionan juntas (en cualquier lenguaje, con o sin mayúscula)
runOnKeys(
() => alert("¡Hola!"),
"KeyQ",
"KeyW"
);
Debemos manejar dos eventos: document.onkeydown y document.onkeyup.
Creemos un set pressed = new Set() para registrar las teclas presionads actualmente.
El primer manejador las agrega en él, mientras que el segundo las quita. Con cada keydown verificamos si tenemos suficientes teclas presionadas, y ejecutamos la función si es así.