You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

28 lines
868 B

4 years ago
document.querySelectorAll('.keybind-input').forEach(x => {
x.addEventListener('click', e => {
document.addEventListener('keyup', keyup)
document.addEventListener('keydown', keydown)
setTimeout(() => document.addEventListener('click', submit), 10)
})
function keydown(f) {
var key = f.key.toUpperCase()
if (x.id) {
x.value = key
x.removeAttribute('id')
}
if (x.value.indexOf(key) < 0) {
x.value += " + " + key
}
}
function keyup(f) {
var key = f.key.toUpperCase()
if (x.value.indexOf(key) > -1) {
x.id = true
}
}
function submit() {
document.removeEventListener('keyup', keyup)
document.removeEventListener('keydown', keydown)
document.removeEventListener('click', submit)
}
})