console-hub/html/keyboard.js
2019-06-24 14:57:38 +02:00

77 lines
1.8 KiB
JavaScript

$(document).keypress((event) => {
if(event.which == 39){//RIGHT
if(menuType == 'horizontal'){
goRight();
}
} else if(event.which == 40){//DOWN
if(menuType != 'horizontal'){
goRight();
}
} else if(event.which == 37){//LEFT
if(menuType == 'horizontal'){
goLeft();
}
} else if(event.which == 38){//UP
if(menuType != 'horizontal'){
goLeft();
}
} else if(event.which == 13){
select();
event.preventDefault();
} else if(event.which == 27){
deselect();
event.preventDefault();
}
})
var keyBinds = new Map();
var pressed = [];
var gameLooper = 0;
//Sending keys from gamepad
function changeToGame(){
//Called when game is running
//reset events
gamepad.off('press', 'start');
gamepad.off('press', 'd_pad_left');
gamepad.off('press', 'd_pad_right');
gamepad.off('press', 'button_1');
gamepad.off('press', 'button_2');
//add custom ones
keyBinds.foreach((val, key) => {
gamepad.on('press', key, () => {
pressed.push(val);
})
})
gameLooper = setInterval(() => {
sendKeys(pressed);
pressed = [];
}, 100);
}
function changeToMenu(){
clearInterval(gameLooper); //stop sending keys
//Called when game is stopped
//reset events
gamepad.off('press', 'start');
gamepad.off('press', 'd_pad_left');
gamepad.off('press', 'd_pad_right');
gamepad.off('press', 'button_1');
gamepad.off('press', 'button_2');
//restore original events
gamepad.on('press', 'start', () => {
showMainMenu();
});
gamepad.on('press', 'd_pad_left', () => {
goLeft();
});
gamepad.on('press', 'd_pad_right', () => {
goRight();
});
gamepad.on('press', 'button_1', () => {
select();
});
gamepad.on('press', 'button_2', () => {
deselect();
});
}