Я фактически исправил задержку между нажатием двойной клавиши, но теперь я хотел бы исправить движение, выбрав только top = top и left = only left. когда я использую двойные стрелки, такие как вверх + влево, он становится наклонным, и я не хочу этого.
function keyboardController(keyset){
var timers = {};
document.onkeydown= function(event) {
var key= (event || window.event).keyCode;
if (!(key in keyset))
return true;
if (!(key in timers)) {
timers[key]= null;
keyset[key].callback();
if (keyset[key].interval !== 0)
timers[key]= setInterval(keyset[key].callback, keyset[key].interval);
}
return false;
};
document.onkeyup= function(event) {
var key= (event || window.event).keyCode;
if (key in timers) {
if (timers[key]!==null)
clearInterval(timers[key]);
delete timers[key];
}
};
}
function triggerKeyboardController(){
keyboardController({
39: {interval:10, callback:function(){ }},
37: {interval:10, callback:function(){ }},
38: {interval:10, callback:function(){ }},
40: {interval:10, callback:function(){ }}
}, 20);
}
triggerKeyboardController();