The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Глава 7. Драйверы Ввода

Глава 7. Драйверы Ввода

Предыдущая  Содержание  Следующая V*D*V

Глава 7, Драйверы Ввода

В этой главе

Драйверы входных событий
 

Драйверы устройств ввода
 

Отладка
 

Где искать информацию

 

 

Подсистема ввода ядра была создана с целью объединить рассеянные драйверы, которые обрабатывают различные классы устройств ввода данных, таких как клавиатуры, мыши, трекболы, джойстики, роликовые колёса, сенсорные экраны, акселерометры и планшеты. Подсистема ввода даёт следующие преимущества, представленные в виде таблицы:

 

Единообразную обработку функционально похожих устройств ввода, даже если они физически различны. Например, все мыши, такие, как PS/2, USB или Bluetooth, будут обрабатываться одинаково.
 

Удобный интерфейс событий для отправки пользовательским приложениям сообщений о вводе. Ваш драйвер не должен создавать и управлять узлами /dev и связанных с ними методов доступа. Вместо этого он может просто вызвать API для ввода, чтобы отправить движения мыши, нажатия клавиш или сообщения о касании вверх по направлению к пространству пользователя. Такие приложения, как X Windows, хорошо стыкуются с интерфейсами событий, экспортируемыми подсистемой ввода.
 

Выделение из входных драйверов общих частей и как результат - абстракция, которая упрощает драйверы и предоставляет взаимодействие. Например, подсистема ввода предлагает коллекцию низкоуровневых драйверов, названных serio, которые обеспечивают доступ к оборудованию ввода, такому, как последовательные порты и контроллеры клавиатуры.

 

Функционирование подсистемы ввода иллюстрирует Рисунок 7.1. Подсистема состоит из двух классов драйверов, которые работают в тандеме: драйверы событий и драйверы устройств. Драйверы событий отвечают за взаимодействие с приложениями, в то время как драйверы устройств отвечают за низкоуровневое взаимодействие с устройствами ввода. Генератор событий мыши, mousedev, является примером первого, а драйвер мыши PS/2 является примером последнего. И драйверы событий, и драйверы устройств могут воспользоваться услугами эффективного, свободного от ошибок, годного для многократного использования ядра, которое лежит в основе подсистемы ввода.

 

 

Рисунок 7.1. Подсистема ввода.

Рисунок 7.1. Подсистема ввода.

 

Поскольку драйверы событий являются стандартизированными и доступными для всех классов ввода, вам скорее потребуется реализовать драйвер устройства, чем драйвер событий. Для взаимодействия с пользовательскими приложениями ваш драйвер устройства может использовать подходящий существующий драйвер событий в ядре ввода. Обратите внимание, что в настоящей главе для обозначения драйвера устройства ввода используется термин драйвер устройства, а не драйвер входных событий.

Предыдущая  Содержание  Следующая