Повторный вызов события горячими клавишами
Пытаюсь приделать к программе переопределение переменной (currentCase) с помощью комбинации горячих клавиш. Первое переопределение происходит нормально, но при последующем нажатии другой комбинации переменная уже не переопределяется, хотя обрабатывающая ее функция срабатывает. Выглядит код примерно так:
javascript
let currentCase = 0; // переопределяемая переменная
function StartClickNeo(){}; // функция, которая должна ее обработать
document.onkeydown = function (event) {
if (event.code == 'KeyA'){
document.onkeydown = function (event) {
if (event.code == 'KeyT') {
document.onkeypress = function (event) {
if (event.code == 'Digit1'){
currentCase = 1;
}
else if(event.code == 'Digit2'){
currentCase = 2;
}
else if(event.code == 'Digit3'){
currentCase = 3;
}
else{
document.onkeyup = null;
}
StartClickNeo();
}
}
else if (event.code == 'KeyR') {
currentCase = 13;
StartClickNeo();
}
else{
document.onkeyup = null;
}
}
}
if (event.code == 'KeyB'){
document.onkeydown = function (event) {
if (event.code == 'KeyR') {
currentCase = 123;
StartClickNeo();
}
else if (event.code == 'KeyA') {
document.onkeypress = function (event) {
if (event.code == 'Digit1'){
currentCase = 321;
}
else if(event.code == 'Digit2'){
currentCase = 432;
}
else{
document.onkeyup = null;
}
StartClickNeo();
}
}
else{
document.onkeyup = null;
}
}
}
Например, нажимаю at1 - переменная currentCase = 1. Затем нажимаю ba2, а currentCase так и остается 1; функция StartClickNeo() срабатывает с currentCase = 1. Подскажите, пожалуйста, как заставить программу "забыть" первую введенную комбинацию