Берутся исходники KBDFILTR и читаются. Делается на основе их.
Имеем в виду — в KBDFILTR продемонстрированы сразу 2 технологии — а) фильтр клавиатуры как таковой и б) "втыкатель" внутрь i8042prt. Второе — не нужно в данном случае, оно нужно только для поддержки железа, которое дейзи-чейнится в PS/2шный разьем.
IRPы там практически не используются. Там надо профильтровать коллбэк, который зовется портом ниже (HID или i8042) вверх в KBDCLASS. Параметр коллбэка — массив структур, по структуре на нажатие, в структурах лежат сканкоды.