[This is preliminary documentation and subject to change.]
This driver filters input for a particular keyboard on the system. In its current state, it only hooks into the keyboard packet report chain, the keyboard initialization function, and the keyboard ISR, but does not do any processing of the data that it sees. (The hooking of the initialization function and ISR is only available in the i8042prt stack.) With additions to this current filter-only code base, the filter could conceivably add, remove, or modify input as needed.
It works on both x86 and Alpha platforms, and is 64-bit compliant.
This sample is installed via an .inf file. The .inf file included in this sample is designed to filter a PS/2 keyboard.
Use the following rules regarding the .inf file that installs the filter driver.
The .inf (kbfiltr.inf) included in this example was generated by Geninf.exe, a tool located in the Tools directory. An .inf file generated by Geninf.exe will contain the necessary directives to install a new keyboard filter driver. Use Geninf.exe to create the .inf file for your driver.
The catalog file referred to in kbfiltr.inf, Kbfiltr.cat, is included in this example, but it is invalid. WHQL will provide a valid catalog file upon approval of the driver.
To install this filter, follow these steps:
The code builds properly with Microsoft® Visual C® 6.0 and the driver supports Plug and Play and Power Management. Both checked and free builds are available. There are no known bugs or issues to be documented.
File DescriptionKbfiltr.htm The documentation for this sample (this file) Kbfiltr.c Hooks into the reporting chain, the initialization of a PS/2 keyboard, and the PS/2 keyboard ISR Kbfiltr.h Definitions Kbfiltr.rc Resources Kbfiltr.inf Sample .inf file (use geninf.exe to create your own) Kbfiltr.cat Sample (invalid) catalog (WHQL will provide a valid catalog file upon approval)
© Microsoft Corporation 1999