Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Дык 03.03.05 13:00 Число просмотров: 2542
Автор: amirul <Serge> Статус: The Elderman
|
> Заработало только когда я установил через диспетчер > устройств для клавиатуры свой драйвер, взяв kbfiltr.inf из > DDK. > Я посмотрел что изменилось в реестре после kbfiltr.inf: > в подветке > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{ > 4D36E96B-E325-11CE-BFC1-08002BE10318} в UpperFilters ничего > не добавилось,
Тут прописываются фильтры класса. То есть драйвер фильтра для ВСЕХ клавиатур, которые появляются в системе.
> появилась подветка > HKEY_LOCAL_MACHINE\CurrentControlSet\Control\CriticalDevice > Database\*pnp0baad > (*pnp0baad прописан в kbfiltr.inf) в этой подветке есть > параметры: > ClassGUID - {4D36E96B-E325-11CE-BFC1-08002BE10318} > Service - i8042prt > UpperFilters - kbfilter
Честно говоря, я не знаю что такое CriticalDeviceDatabase - ни разу с ней не встречался. Но похоже на ключ самого устройства. То есть здесь прописываются фильтры для КОНКРЕТНОЙ клавиатуры, хотя и не уверен
> Еще появилась подветка HKEY_LOCAL_MACHINE\ > CurrentControlSet\Enum\ACPI\PNP0303\<номер> > в этой подветке тоже есть параметры: > ClassGUID - {4D36E96B-E325-11CE-BFC1-08002BE10318} > Service - i8042prt > UpperFilters - kbfilter
А вот это точно база данных устройств. Это фильтр для конкретной клавиатуры. Чем перечислять все клавиатуры и прописывать им фильтры, легче прописать фильтра для класса клавиатур (тем более что исчезают проблемы с появлением новых клавиатур)
> В подветке HKEY_LOCAL_MACHINE\ > CurrentControlSet\Services\kbfilter есть раздел Enum > содержащий параметр со значением <номер> из ветки > описанной выше.
Это все создастся на лету.
|
|
|