Нужно еще учитывать, что клавиатура генерирует коды как на нажатие, так и на отжатие клавиши. Эти коды надо обрабатывать очень аккуратно, иначе вместо отжатия может сработать нажатие. Скорее всего придется весь цикл переделать, чтобы такие сложные сочетания заработали.
Gutten, распознание кода отжатия (F0) только в одном месте цикла сейчас происходит, обратите на это внимание.

Как я уже говорил, отладочный порт покажет, что происходит.