DEV Community

Discussion on: Cheating 10fastfingers

Collapse
 
0x04 profile image
Oliver Kühn

Nice post! I did something similar but in JS 1.8/jQuery. Now my attempt feels a bit more clumpsy :-)

var hackInput = document.querySelector('#inputfield')
var hackHighlight = null
var hackCurrent = 0
var hackInterval = 0

function hack() {
    hackHighlight = document.querySelector('#row1 .highlight')

    if (!hackHighlight) {
        clearInterval(hackInterval)
        return
    }

    hackType()
}

function hackType() {
    var down = new $.Event('keydown')
    var up = new $.Event('keyup')
    var value = hackHighlight.innerText.slice(0, hackCurrent + 1)

    if (hackCurrent < hackHighlight.innerText.length) {
        down.which = up.which = hackHighlight.innerText.slice(hackCurrent++, 1)
    }
    else {
        down.which = up.which = 32
        value += ' '
        hackCurrent = 0
    }
    console.info(value)
    $(document).trigger(down)
    $(hackInput).val(value)
    $(hackInput).trigger(up)
    $(document).trigger(up)
}

hackInterval = setInterval(hack, 25)