FILE_DEVICE_KEYBOARD
От: solearis  
Дата: 11.08.05 05:37
Оценка:
Здравствуйте, подскажите пожайлуста как реализовать такие задачи.
В драйвере-фильтре клавиатуры, необходимо реализовать такие две функции,как,
1 — скрытие нажатия пользователем определенных клавиш;
2 — дублирование нажатия некоторых клавиш пользователем;
,например при нажатии прользователем клавиши 'q', данный символ не должен
появляться в строке ввода какого либо приложения в user mode и по пункту 2
наоборот, при нажатии некоторой клавиши ее символ нужно 'задвоить'...
На основе примеров получилось сделать драйвер-фильтр который присоединяется
к драйверу клавиатуры, через IoSetCompletionRoutine, в callback процедуре
вижу коды нажатых клавиш.. но в каком направлении двигаться дальше
для реализации выше описанных пунктов, ума не приложу..
Благодарю за ответ.
Re: FILE_DEVICE_KEYBOARD
От: Maxim S. Shatskih Россия  
Дата: 11.08.05 09:08
Оценка:
Берутся исходники KBDFILTR и читаются. Делается на основе их.

Имеем в виду — в KBDFILTR продемонстрированы сразу 2 технологии — а) фильтр клавиатуры как таковой и б) "втыкатель" внутрь i8042prt. Второе — не нужно в данном случае, оно нужно только для поддержки железа, которое дейзи-чейнится в PS/2шный разьем.

IRPы там практически не используются. Там надо профильтровать коллбэк, который зовется портом ниже (HID или i8042) вверх в KBDCLASS. Параметр коллбэка — массив структур, по структуре на нажатие, в структурах лежат сканкоды.
Занимайтесь LoveCraftом, а не WarCraftом!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.