Día 2: Secuencias de teclas con JS

Esta idea surgió por el aclamado y ya conocido Código Konami o Konami Code (en inglés, obvio). Se trata de que a través de una secuencia de teclas, siendo específicos, la siguiente: ↑ ↑ ↓ ↓ ← → ← → B A se desbloqueaba algún tipo de secreto, huevo de pascua o función oculta.

Este día les traigo un generador en javascript para poder realizar nuestras propias secuencias.

Demo

Sólo escribe en tu teclado: kinduff

Por la naturaleza del script, este no funcionará en tu teléfono celular o tablet.

Función base

var secrets = function (f, p, a) {
  var code = new RegExp(p + '$', 'g');
  document.onkeyup = function (e) {
    code.test(a += '' + ((e || self.event).keyCode - 37)) && f()
  }
}  

Explicación del código

Primero estamos definiendo la función secrets con 3 argumentos f, p, a.

El primer argumento f se encarga de recibir la función que estaremos ejecutando si la secuencia coincide con la esperada (p).

El segundo argumento p ayuda a generar una expresión regular para lograr detectar si alguna de las secuencias que el usuario suma a la variable a hacen match con p a través de test, este último devuelve un booleano. Si el booleano es true, la función f es ejecutada a través del shorthand &&.

Generador de secuencias

Este pequeño generador te ayudará a generar esas secuencias que quieres que el usuario realice para después poder ejecutar una función de manera fácil y rápida.

Haz clic en el siguiente campo de texto y utiliza casi cualquier tecla de tu teclado para generar la cadena. La función, junto con su código, serán devueltos en el siguiente bloque de código. Puedes resetear la secuencia con el evidente botón que dice "Reset".

secrets(function () {
  // Tu funcion
}, '');

Una vez finalizado copia los dos bloques de código y agrégalos a tu script.js o lo que sea que hagas con tu javascript.


palabras / Compartir en: Facebook , Twitter o copiar enlace