regresar a la lección
Este material solo está disponible en los siguientes idiomas: English, 日本語, 简体中文. Por favor, ayúdanos a traducir al Español.

Extended hotkeys

importancia: 5

Create a function runOnKeys(func, code1, code2, ... code_n) that runs func on simultaneous pressing of keys with codes code1, code2, …, code_n.

For instance, the code below shows alert when "Q" and "W" are pressed together (in any language, with or without CapsLock)

runOnKeys(
  () => alert("Hello!"),
  "KeyQ",
  "KeyW"
);

Demo en nueva ventana

We should use two handlers: document.onkeydown and document.onkeyup.

Let’s create a set pressed = new Set() to keep currently pressed keys.

The first handler adds to it, while the second one removes from it. Every time on keydown we check if we have enough keys pressed, and run the function if it is so.

Abrir la solución en un entorno controlado.