Повторный вызов события горячими клавишами

Пытаюсь приделать к программе переопределение переменной (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. Подскажите, пожалуйста, как заставить программу "забыть" первую введенную комбинацию


Ответы (0 шт):