SucesionTeclas.js 980 Bytes
/**
 * Comprueba que se pulse una sucesión de teclas, manteniendo ctrl + alt. Normalmente hay que hacer click sobre la web para que funcione.
 * @param {string} sucesion Las teclas que hay que pulsar, hay que tener en cuenta que algunas teclas son distintas cuando se pulsa ctrl + alt (alt gr).
 * @param {function} callback Se llama cuando la sucesión es correcta.
 * @returns {SucesionTeclas}
 */
function SucesionTeclas(sucesion, callback) {
    this.sucesion = sucesion;
    this.callback = callback;
    
    var posActual = 0, esto = this;
    
    $(document).keyup(function(ev) {
        if(ev.altKey && ev.ctrlKey && esto.sucesion.substr(posActual, 1) == ev.key) {
            //Correcto
            if(posActual == esto.sucesion.length - 1) {
                //Finalizado
                callback();
            }
            else {
                posActual++;
            }
        }
        else {
            //Error
            posActual = 0;
        }
    });
}