JSFiddle - React, Tailwind, and code Playground

by Johan Vandeplas

HTML

<input type="text" />

JavaScript

var KEYCODES = {
    LEFT: 37,
    RIGHT: 39,
    DOWN: 40,
    F: 70
}, events = {
    left: {
        keyCode: KEYCODES.LEFT,
        altKey: false,
        bubbles: true,
        cancelable: true,
        charCode: 0,
        ctrlKey: false,
        eventPhase: 3,
        metaKey: false,
        shiftKey: false,
        target: document,
        type: "keydown",
        which: KEYCODES.LEFT
    },
    right: {
        keyCode: KEYCODES.RIGHT,
        altKey: false,
        bubbles: true,
        cancelable: true,
        charCode: 0,
        ctrlKey: false,
        eventPhase: 3,
        metaKey: false,
        shiftKey: false,
        target: document,
        type: "keydown",
        which: KEYCODES.RIGHT
    },
    down: {
        keyCode: KEYCODES.DOWN,
        altKey: false,
        bubbles: true,
        cancelable: true,
        charCode: 0,
        ctrlKey: false,
        eventPhase: 3,
        metaKey: false,
        shiftKey: false,
        target: document,
        type: "keydown",
        which: KEYCODES.DOWN
    },
},
sim = function (e) {
    e.timeStamp = new Date().getTime();
    $(document).trigger(e);
};

$(document).keydown(function (e) {
    if (events.left && events.right && e.keyCode === KEYCODES.F) {
        for (var i = 0; i < 1000; i++) {
            sim(events.left);
            sim(events.right);
        }
    }
});