Дело не в количестве одновременно нажатых кнопок, оно может быть любым - это просто вопрос алгоритма формирования выходного результат. Говорим мы про одинаковые вещи, просто ты явно пошел не оптимальным путем (как обычно). А оптимальный (который позволил 10 лет назад на 8-Мгц 8-бит микроконтроллере с 512б (байт, Карл!) ОЗУ реализовать контроллер клавы с эмуляцией реакции матрицы в онлане, т.е. без Wait, т.е. не более чем за 4 такта реального Z80 с тактом 5Мгц) в том, чтобы когда есть вагон времени - формировать матрицу всех вариантов ответа, а по запросу хоста (когда надо отреагировать моментально) - в 3 команды брать уже готовый результат.
Если еще не понятно, я говорю в этом примере о контроллере от Caro, который в двух сотнях Орионов работает (и ХЗ сколько РК и ему подобных).