Цитата Сообщение от Alex_K Посмотреть сообщение
Суть обработки заключается в том, что если клавиша уже нажата (стоит бит признака), то ничего не делаем
Вот поэтому впечатление и возникло. Типа, если нажата одна из клавиш ВР - при обработке нажатия/отжатия другой клавиши ВР ничего не делаем.

Цитата Сообщение от Alex_K Посмотреть сообщение
Смысл их такой, что если шло сканирование регистровой клавиши, а она была не нажата, а ее признак нажатия установлен, то соответствующий признак сбрасывается и посылается код 0xB3.
Код 0xB3 называется ALL_UP ( все UP_DOWN-клавиши отжаты ). Если нажать СУ и ВР - драйвер клавиатуры получит коды нажатия СУ и ВР и установит флаги СУ и ВР. Если при отжатии одной из этих клавиш придёт код ALL_UP - драйвер обязан сбросить все флаги, иначе он окажется в неопределённом состоянии.

Поэтому, чтобы отжатие СУ при нажатой ВР могло быть правильно опознано драйвером клавиатуры - отжатие СУ при нажатой ВР должно посылать код нажатия СУ, а отжатие ВР при нажатой СУ - должно посылать код нажатия ВР.