Tengo una función llamada en eventos keydown.
Tengo if(e.repeat) return al comienzo de esa función para evitar que el resto se ejecute si mantengo presionada una tecla determinada.
Así que presiono y mantengo presionada la tecla 1. Sin repetir.
Presiono y mantengo presionada la tecla 2. Sin repetir.
Suelto la tecla 1. Key2 se repite.
Además: presiono y mantengo presionada la tecla 1. Sin repetir.
Presiono y mantengo presionada la tecla 2. Sin repetir.
Presiono y mantengo presionada la tecla 3. Sin repetir.
Presiono y mantengo presionadas las teclas 4 - 10 (porque solo tengo 10 dedos) sin soltar ninguna de las teclas. Sin repeticiones.
Suelto cualquiera de las teclas. La tecla 10 se repite cada vez que suelto cualquier otra tecla.
Por el contrario, si suelto la tecla 10 antes de soltar cualquiera de las otras teclas: no se repite.
¿Qué sucede para que la última tecla que presiono y mantenga presionada se repita cuando libero las teclas previamente presionadas y cómo lo detengo? Claramente me estoy perdiendo algo, pero no tengo idea de qué.
document.addEventListener('keydown', pressKey) function pressKey(e) { if (e.repeat) return console.log(`press key ${e.key}`) }