var keydown = function(k) {
    var oEvent = document.createEvent('KeyboardEvent');

    // Chromium Hack
    Object.defineProperty(oEvent, 'keyCode', {
                get : function() {
                    return this.keyCodeVal;
                }
    });     
    Object.defineProperty(oEvent, 'which', {
                get : function() {
                    return this.keyCodeVal;
                }
    });   
    var no = {get : function() {return false;}}
    Object.defineProperty(oEvent, 'shiftKey', no);   
    Object.defineProperty(oEvent, 'metaKey', no);  
    if (oEvent.initKeyboardEvent) {
        oEvent.initKeyboardEvent("keydown", true, true, document.defaultView, false, false, false, false, k, k);
    } else {
        oEvent.initKeyEvent("keydown", true, true, document.defaultView, false, false, false, false, k, 0);
    }
    oEvent.keyCodeVal = k;
    document.dispatchEvent(oEvent);
}

var index = 0;
setInterval(function() {
    var loop = [37, 40, 39, 40];
    index++;    
    keydown(loop[index%loop.length]);
}, 20);