Я вот тут подумал: можно сделать существенно проще, причем будут отображаться как нажатия кнопок, так и отпускания (соответственно, можно будет обработать и одновременные нажатия нескольких кнопок, и , при желании, удерживание кнопки ). Для этого в бит D7 кода клавиши транслируем из пакета информацию не о префиксе E0 (расширенные кнопки), а о префиксе F0 (отпускание клавиши). Т.е. каждый раз, на каждый пакет (как на нажатие, так и на отпускание), выдаем прерывание и код клавиши (D6..D0), который при нажатии содержит D7=0 (пакет НЕ содержал байт F0), а при отпускании D7=1 (пакет содержал байт F0).
При этом будут неразличимы LeftCTRL и RightCTRL, а также "слипнутся" (будут выдавать один и тот же код) кнопки NumPad-а и стрелки_плюс_то_что_над_стр лками (работать будет аналогично как если бы всегда был выключен NumLock). Это в принципе решаемо программно в драйвере.





Ответить с цитированием