USB HID

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

USB HID (human interface device) class — класс устройств USB для взаимодействия с человеком. Этот класс включает в себя такие устройства как клавиатура, мышь, игровой контроллер. Класс USB HID определен в нескольких документах, предоставляемых USB Implementers Forum, в частности, Рабочей группой по работе с устройствами.

Основной документ с дескрипторами класса: Device Class Definition for HID 1.11. В отдельных документах публикуются т.н. usage tables — списки кодов функций различных устройств ввода-вывода.[1]

Устройства[править | править исходный текст]

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

Точно такой же HID-протокол используется неизменённым в Bluetooth, в профиле взаимодействия с пользователем.[2] При чтении спецификации HID-профиля Bluetooth читателей просто направляют к документации USB HID. По этой причине эти устройства можно так же отнести к классу USB HID.

Клавиатуры[править | править исходный текст]

Клавиатуры — одни из наиболее популярных USB HID устройств. USB HID клавиатуры, как правило, имеют входной поток данных, который передаёт нажатия клавиш в компьютер и выходной поток, который передаёт текущий статус клавиатурных индикаторов от компьютера к клавиатуре. Стандарт PC 97 определяет, что BIOS компьютера должен определять USB HID клавиатуры и работать с ними. Стандарт разработан для того, чтобы эти клавиатуры возможно было использовать во время загрузки компьютера.

Мышь[править | править исходный текст]

Компьютерная мышь — столь же популярное USB HID устройство, как и клавиатура. USB-мыши различаются по функциональности от простых однокнопочных до довольно сложных многокнопочных устройств. Большинство современных операционных систем поставляется с драйверами для стандартных HID мышей (наиболее распространённые современные мыши имеют две кнопки и колёсико, которое дублирует третью кнопку); мыши с более широким возможностями требуют драйверов от производителей.

Игровые контроллеры[править | править исходный текст]

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

Другие устройства[править | править исходный текст]

Помимо детальных спецификаций классических устройств ввода (типа клавиатур и мышек) стандарт HID определяет особый класс устройств без детальных спецификаций. Этот класс именуется USB HID Consumer Control и представляет по сути нерегламентированный канал связи с устройством. При этом устройство пользуется теми же стандартными для операционной системы драйверами что и мышка с клавиатурой. Таким образом можно создать USB устройство которое не требует создания и инсталляции специальных драйверов в большинстве распространенных компьютерных операционных систем.

Этим стали массово пользоваться, и появилось огромное количество устройств, которые, по сути, интерфейсами взаимодействия с человеком не являются. Например, телефонное устройство, термометр[3], устройство управления аудио и медицинское оборудование. Даже ИБП (источники бесперебойного питания) определяют себя, как принадлежащие классу USB HID, несмотря на то, что они часто не имеют человеческого интерфейса вообще. Любое устройство может принадлежать к USB HID классу, если оно удовлетворяет логическим спецификациям HID Consumer Control.

Драйверы[править | править исходный текст]

Одно из преимуществ хорошо определенной спецификации, такой, как USB HID — это обилие драйверов устройств, доступных в большинстве современных операционных систем. USB HID класс и его базовые функции описаны в USB-IF документации, без какой-либо привязки к конкретному программному обеспечению. Из-за таких общих описаний разработчикам операционных систем легко включить функциональные драйверы для таких устройств как клавиатура, мышь и другие устройства взаимодействия с пользователем. Включение основных драйверов способствует более быстрому распространению этих устройств и упрощению установки конечными пользователями.

Логические спецификации[править | править исходный текст]

Функциональные характеристики[править | править исходный текст]

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

Интерфейс устройств также снабжен особым дескриптором, который определяет, является ли устройство загрузочным. Загрузочное устройство, строго соответствующее минимальным требованиям протокола, будет распознано и загружено BIOS. Каждый USB HID интерфейс связывается с хостом с использованием функции управления или функции прерывания.

Сообщения[править | править исходный текст]

Ссылки[править | править исходный текст]

  1. Официальная страница USB HID класса
  2. http://www.bluetooth.com/SiteCollectionDocuments/HID_SPEC_V10.pdf
  3. USB HID термометр