logo search
Периферийные устройства ПК / КЛАВИАТУРА

Стек драйверов для Plug and Play ps/2-клавиатуры

Рис. 3. Стек драйверов для PS/2-клавиатуры

Стек драйверов содержит (сверху вниз):

  1. Kbdclass — верхнеуровневый фильтр-драйвер класса клавиатуры;

  2. опциональный верхнеуровневый фильтр-драйвер класса клавиатуры;

  3. i8042prt — функциональный драйвер клавиатуры;

  4. корневой драйвер шины.

В ОС Windows 2000 и старше драйвером класса клавиатуры является драйвер Kbdclass, основными задачами которого являются:

В ОС Windows 2000 и старше функциональным драйвером для устройств ввода, использующих PS/2-порт (клавиатуры и мыши), является драйвер i8042prt, основные функции которого следующие:

Рис. 4. Список аппаратных ресурсов, используемых драйвером i8042prt

На рисунке показан список аппаратных ресурсов, используемых драйвером i8042prt. Их можно просмотреть, например, с помощью утилиты DeviceTree, разработанной компанией Open Systems Resources. Для тех, кто прочел разделы «Принципы работы клавиатуры как физического устройства» и «Низкоуровневое взаимодействие с клавиатурой через порты ввода-вывода», значения портов ввода-вывода (IO) 60h и 64h и аппаратного прерывания (IRQ) 1 не будут сюрпризом.

В показанном драйверном стеке новый драйвер-фильтр может быть добавлен, например, для специфичной обработки клавиатурного ввода поверх драйвера класса клавиатуры. Данный драйвер должен поддерживать ту же обработку всех типов запросов ввода-вывода и управляющих команд (IOCTL), что и драйвер класса клавиатуры. В этом случае перед передачей в подсистемы пользовательского режима данные будут отданы на обработку в этот драйвер-фильтр.