Поделиться через


Разработка драйверов устройств Windows для устройств с человеческим интерфейсом (HID)

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

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

HID начал с USB, но был разработан для шины, не зависят от шины. Он был разработан для низкой задержки, устройств с низкой пропускной способностью, но с гибкостью для указания скорости в базовом транспорте. USB-IF одобрил спецификацию HID по USB в 1996 году. Поддержка HID по сравнению с другими транспортами вскоре последовала. Сведения о поддерживаемых транспортах в настоящее время см. в разделе "Транспорты HID", поддерживаемые в Windows. Транспорты, относящиеся к поставщику, также разрешены с помощью пользовательских транспортных драйверов.

Основные понятия HID

HID состоит из двух основных понятий, дескриптора отчета и отчетов. Отчеты — это фактические данные, обмениваются между устройством и клиентом программного обеспечения. Дескриптор отчета описывает формат и означает данные, поддерживаемые устройством.

Отчеты

Приложения и устройства HID обмениваются данными с помощью отчетов. Существует три типа отчетов:

Тип отчета Description
Входной отчет Данные, отправляемые с устройства HID в приложение, обычно при изменении состояния элемента управления.
Выходной отчет Данные, отправляемые из приложения на устройство HID, например на индикаторы на клавиатуре.
Отчет о функциях Данные, которые можно считывать и записывать вручную, и обычно связаны с сведениями о конфигурации.

Каждая коллекция верхнего уровня, определенная в дескрипторе отчета, может содержать ноль или несколько отчетов каждого типа.

Таблицы использования

Рабочая группа USB-IF публикует таблицы использования HID, которые являются частью дескрипторов отчета, описывающих, какие устройства HID разрешены. Эти таблицы использования HID содержат список с описаниями использования, описывающими предполагаемое значение и использование определенного элемента в дескрипторе отчета. Например, для левой кнопки мыши определяется использование. Дескриптор отчета может определить, где в отчете приложение может найти текущее состояние левой кнопки мыши. Таблицы использования разбиваются на несколько пространств имен, называемых страницами использования. На каждой странице использования описывается набор связанных использования, помогающий упорядочивать документ. Сочетание использования и страницы использования определяет идентификатор использования, который однозначно идентифицирует конкретное использование в таблицах использования.

См. также