Устройство интерфейса пользователя

редактировать

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

Термин «HID» чаще всего относится к спецификации USB-HID. Этот термин был придуман Майком Ван Фландерном из Microsoft, когда он предложил комитету USB создать рабочую группу класса «Устройства ввода для человека». Рабочая группа была переименована в класс устройств интерфейса человека по предложению Тома Шмидта из DEC, поскольку предлагаемый стандарт поддерживает двунаправленную связь.

HID для вывода

Общие HID

Менее распространенные HID

СОДЕРЖАНИЕ
  • 1 стандарт HID
    • 1.1 Компоненты протокола HID
    • 1.2 HID определение устройства
  • 2 Другие протоколы с использованием HID
  • 3 См. Также
  • 4 ссылки
  • 5 Внешние ссылки
HID стандарт

Стандарт HID был принят, прежде всего, для внедрения инноваций в устройства ввода ПК и для упрощения процесса установки таких устройств. До введения концепции HID устройства обычно соответствовали строго определенным протоколам для мыши, клавиатуры и джойстиков ; например, стандартный протокол мыши в то время поддерживал относительные данные по осям X и Y и двоичный ввод для двух кнопок без поддержки устаревших версий. Все аппаратные инновации требовали либо перегрузки использования данных в существующем протоколе, либо создания специальных драйверов устройств и распространения нового протокола среди разработчиков. Напротив, все устройства, определенные HID, доставляют пакеты с самоописанием, которые могут содержать любое количество типов и форматов данных. Один драйвер HID на компьютере анализирует данные и позволяет динамически связывать ввод-вывод данных с функциональностью приложений, что позволяет быстро внедрять инновации и разработку, а также расширять ассортимент новых устройств с интерфейсом пользователя.

Рабочий комитет с представителями нескольких известных компаний разработал стандарт HID. Список участников отображается в документе «Определение класса устройств для устройств с интерфейсом пользователя (HID)». Идея расширяемого протокола с самоописанием изначально пришла от Майка Ван Фландерна и Манолито Адана во время работы над проектом под названием «Raptor» в Microsoft, а также независимо от Стива Макгоуэна, который работал над протоколом устройств для Access Bus в Forte. После сравнения заметок на конференции разработчиков потребительских игр Стив и Майк согласились сотрудничать в разработке нового стандарта для универсальной последовательной шины (USB).

Протокол HID имеет свои ограничения, но все современные основные операционные системы распознают стандартные USB-устройства HID, такие как клавиатуры и мыши, без специального драйвера. После установки на экране обычно появляется сообщение о том, что «HID-совместимое устройство» было распознано ». Для сравнения, это сообщение обычно не появляется для устройств, подключенных через 6-контактные разъемы DIN PS / 2, которые предшествовали USB. PS / 2 обычно не поддерживает plug-and-play, что означает, что подключение клавиатуры или мыши PS / 2 к включенному компьютеру не всегда работает и может представлять опасность для материнской платы компьютера. Точно так же стандарт PS / 2 не поддерживает протокол HID. Класс USB-устройств с интерфейсом пользователя описывает USB HID.

Компоненты протокола HID

В протоколе HID есть 2 объекта: «хост» и «устройство». Устройство - это объект, который напрямую взаимодействует с человеком, например, клавиатура или мышь. Хост связывается с устройством и получает от устройства входные данные о действиях, выполняемых человеком. Выходные данные передаются от хоста к устройству, а затем к человеку. Наиболее распространенным примером хоста является ПК, но некоторые сотовые телефоны и КПК также могут быть хостами.

Протокол HID делает установку устройств очень простой. Устройства определяют свои пакеты данных, а затем представляют хосту «дескриптор HID». Дескриптор HID - это жестко закодированный массив байтов, который описывает пакеты данных устройства. Сюда входят: сколько пакетов поддерживает устройство, размер пакетов и назначение каждого байта и бита в пакете. Например, клавиатура с программной кнопкой калькулятора может сообщить хосту, что состояние нажатия / отпускания кнопки сохраняется как 2-й бит в 6-м байте в пакете данных номер 4 (примечание: эти местоположения являются только иллюстративными и зависят от устройства). Устройство обычно хранит дескриптор HID в ПЗУ, и ему не нужно внутренне понимать или анализировать дескриптор HID. Некоторое оборудование для мыши и клавиатуры, представленное сегодня на рынке, реализовано с использованием только 8-битного процессора.

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

Вышеупомянутый механизм описывает так называемый «протокол отчетов» HID. Поскольку было понятно, что не все хосты могут анализировать дескрипторы HID, HID также определяет «протокол загрузки». В протоколе загрузки поддерживаются только определенные устройства с определенными функциями, поскольку используются фиксированные форматы пакетов данных. В этом режиме дескриптор HID не используется, поэтому нововведения ограничены. Однако преимущество в том, что минимальная функциональность все еще возможна на хостах, которые в противном случае не смогли бы поддерживать HID. Единственные устройства, поддерживаемые в протоколе загрузки:

  • Клавиатура. Любой из первых 256 кодов клавиш («Использование»), определенных в таблицах использования HID на странице 7, может быть передан с клавиатуры с использованием протокола загрузки, но большинство систем обрабатывают только подмножество этих клавиш. Большинство систем поддерживают все 104 клавиши в макете IBM AT-101, а также три дополнительных клавиши, разработанные для Microsoft Windows 95 (левая и правая клавиша Windows и клавиша меню ). Многие системы также поддерживают дополнительные клавиши на базовых 105-, корейских 106-, бразильских ABNT 107- и японских DOS / V 109-клавишных раскладках. Кнопки, ручки и клавиши, о которых не сообщается на странице использования 7, недоступны. Например, клавиши QWERTY на конкретной американской клавиатуре будут работать, а клавиши «Калькулятор» и «Выход из системы» - нет, потому что они определены на странице «Использование» и не могут быть указаны в протоколе загрузки.
  • Мышь - будут доступны только ось X, ось Y и первые 3 кнопки. Никакие дополнительные функции мыши работать не будут.

Обычно режим загрузки используется в первые моменты загрузки компьютера. Непосредственная настройка BIOS компьютера часто выполняется только в режиме загрузки. Иногда появляется сообщение, информирующее пользователя о том, что на устройстве установлен правильный драйвер и теперь его можно использовать.

HID определение устройства

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

Другие протоколы с использованием HID

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

  • Bluetooth HID - используется для мыши и клавиатур, подключенных через Bluetooth.
  • Последовательный HID - используется в приемниках дистанционного управления ПК Microsoft Windows Media Center.
  • Устройство ввода ZigBee - ZigBee ( RF4CE ) поддерживает устройства HID через профиль устройства ввода ZigBee.
  • HID over I²C - используется для встроенных устройств в Microsoft Windows 8.
  • HOGP (HID over GATT) - используется для устройств HID, подключенных с помощью технологии Bluetooth с низким энергопотреблением.
Смотрите также
использованная литература
внешние ссылки
Последняя правка сделана 2023-03-20 10:52:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте