Добрый день, надеюсь кто-нибудь мне поможет с моей проблемой. В Microsoft Windows Device Kit есть пример драйверов клавиатуры и мыши (kbdclass и mouclass), но я никак не могу разобраться как и где мне внести изменения, чтобы, например, backspace считывался как escape.
Насколько я понял чтение происходит в методе KeyboardClassReadCopyData и скорее всего в
RtlMoveMemory(
destination,
(PCHAR) DeviceExtension->DataOut,
moveSize
);
Верно ли это, и если верно, то каким образом мне нужно работать с этими буферами?
Желательно, пожалуйста, с рабочим примером.
P.S. изменять необходимо именно в драйвере, т.к. переопределения клавиш должны работать исключительно в одной из двух подключенных клавиатур.
P.S.2. еще есть доп. вопрос каким образом можно сделать в драйвере же возможность обработки комбинации нажатий (например, двойной Esc в течение секунду — это Home).