Устройства hid human interface devices что это

Общие сведения об устройствах с HID-интерфейсом

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

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

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

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

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

Отчеты

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

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

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

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

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

Источник

Что такое устройство с интерфейсом пользователя (HID)?

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Есть много странных терминов, связанных с использованием компьютера. Возможно, вы видели «Устройство интерфейса человека» или «HID». Звучит как что-то из научно-фантастического фильма, но что именно это означает?

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

Стандарт упрощения принадлежностей

«Устройства интерфейса пользователя» — это стандарт, созданный для упрощения процесса установки устройств ввода. До HID существовало несколько конкретных протоколов для каждого типа устройства ввода.

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

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

Протокол HID значительно упрощает компаниям производство широко совместимых аксессуаров. Все современные операционные системы поддерживают протокол HID. Вы можете подключить USB-клавиатуру к ПК с Windows, Mac, Chromebook или даже к планшету Android, и она сразу заработает. Это все благодаря HID.

HID и приложения

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

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

Вы можете подключить USB-контроллер к своему ПК, и он, как правило, будет управлять игрой должным образом. Даже если контроллер был сделан после игры, он все равно работает. Разработчикам игры не нужно было ничего делать, чтобы это произошло.

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

Это очень важный элемент HID, и мы принимаем его как должное. Игровой контроллер будет работать с вашей библиотекой Steam. Zoom узнает, что нужно включить вашу веб-камеру. Все это происходит с очень небольшой настройкой с вашей стороны.

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

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

USB-устройства относятся к классу «USB-HID». Это включает в себя обычные вещи, такие как клавиатуры, мыши, веб-камеры, трекпады и игровые контроллеры. Другие устройства USB-HID включают термометры, аудио инструменты, медицинское оборудование, телефоны и тренажеры.

Другой распространенный тип — Bluetooth-HID. Это тот же протокол USB-HID с небольшими изменениями для Bluetooth. Как и следовало ожидать, сюда входят устройства, аналогичные USB-HID, но они подключаются через Bluetooth. Мышь Bluetooth будет работать независимо от того, подключена ли она к ПК с Windows, Mac или Chromebook.

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

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

В истории компьютеров было много достижений, но стандарт Human Interface Device имел оглушительный успех.

Источник

Русские Блоги

Устройство HID для анализа протокола USB

1. Краткое описание

Одним из преимуществ устройств USB HID является то, что операционная система поставляется с драйверами HID, и пользователям не нужно разрабатывать драйверы, если они используют системные вызовы API для завершения взаимодействия.

Он содержит две наиболее важные инструкции:

1. 《Device Class Definition for human interface device (HID)》

2. 《Universal Serial Bus HID Usage Tables》

Документ 1 описывает базовый состав и формат HID, а документ 2 является дополнением к документу 1, в котором перечислены основные компоненты различных устройств HID.

2. Протокол HID

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

2.1 Канал связи USB HID устройства

Все устройства HID связываются с хостом через канал управления USB (канал по умолчанию, конечная точка 0) и канал прерывания (конечная точка 1 или конечная точка 2).

Описание запроса конвейера

Элемент управления (конечная точка 0) должен передавать дескриптор USB, код запроса класса и данные сообщения для запроса

Вход прерывания должен передавать входные данные с устройства на хост

Выход прерывания Дополнительно Передача выходных данных с хоста на устройство

Конвейер управления в основном используется в следующих трех аспектах

Конвейер прерывания в основном используется в следующих двух аспектах

Передача выходных данных прерывания от USB-хоста к USB-устройству является необязательной.Когда выходные данные прерывания не поддерживаются, USB-хост передает данные на USB-устройство через канал управления.

2.2 Дескрипторы, относящиеся к USB HID устройствам

В дополнение к пяти стандартным дескрипторам USB (дескриптор устройства, дескриптор конфигурации, дескриптор интерфейса, дескриптор конечной точки, строковый дескриптор), дескрипторы устройства HID также включают три дескриптора, зависящих от класса устройства HID: Дескриптор HID, дескриптор отчета (Отчет), дескриптор объекта (Физический) 。

Иерархическая взаимосвязь между ними показана на рисунке:

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Можно видеть, что на уровне Interface desc указано HID desc.

В дополнение к трем конкретным дескрипторам HID, которые составляют интерпретацию устройств HID, к устройствам HID относятся пять стандартных дескрипторов:

1 — Boot Interface SubClass

2.2.1 Дескриптор HID

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

Дескриптор HID

СмещениеплощадьРазмер (байт)ценностьописание
0bLength1цифровойДлина этого дескриптора в байтах
1bDescriptorType1постоянныйТип дескриптора (здесь 0x21 Категория HID)
2bcdHID2цифровойНомер версии спецификации HID (код BCD) с использованием 4-х шестнадцатеричных кодов формата BCD
4bCountryCode1цифровойИдентификационный код страны назначения оборудования
5bNumDescriptors1цифровойКоличество поддерживаемых вспомогательных дескрипторов
6bDescriptorType1постоянныйТипы дескрипторов, связанных с HID, см. В таблице ниже
7wDescriptorLength2цифровойСообщите общую длину дескриптора
9bDescriptorType1постоянныйКонстанта, используемая для определения типа дескриптора, используйте устройство с более чем одним дескриптором
10wDescriptorLength2цифровойОбщая длина дескриптора, используемого в устройствах с более чем одним дескриптором.
Определение типа дескриптора, связанного с HID

Тип дескриптора, связанный с HID

Значение типа дескриптора
0x22Дескриптор отчета
0x23Дескриптор объекта

В стандартном запросе USB, когда используется дескриптор конфигурации get, он будет возвращен в следующем порядке, то есть дескриптор HID также будет возвращен.

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

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

Обычно в процессе запроса дескрипторов конфигурации и получения всех дескрипторов выбирают » Class 0x01 ”:

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

2.2.2 Дескриптор отчета

Дескриптор отчета является наиболее сложным из всех описаний USB, потому что он отличается от других и не имеет фиксированной длины и таблицы. Это переменный и разнообразный дескриптор.

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

Чтобы понять дескриптор отчета, необходимы два официальных USB HID-данных:

《Device Class Definition for human interface device (HID)》

《Universal Serial Bus HID Usage Tables》

Дескриптор отчета состоит из одного элемента. Элемент делится на два типа. Имеются следующие форматы:

1. Short Item

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

2. Long Item

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Из вышеперечисленного здесь в основном речь идет оShort Item, Наиболее используемым является Short Item

Короче говоря, первый 1 байт представляет цель этого элемента:

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

bSize: представляет следующие данные размером до 4 байтов.

bType: показывает, какой тип элемента является данным элементом. Существует три основных типа: основной (0x00), глобальный (0x01) и локальный (0x02).

bTag: представляет более подробную классификацию по соответствующему элементу.

| —— Основное разделено на: ввод, вывод, функция, коллекция, конечная коллекция.

| —— Глобальное разделение на: страницу использования, логический минимум, логический максимум и т. Д.

| —— Локальное разделение на: использование, минимум использования, максимум использования, строку и т. Д.

ДляbSize + bType + bTag Комбинация из 1 байта показана в таблице ниже:

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

В таблице перечислены все взаимодействия. Знак «?» Представляет значение младших 4 битов. Например, короткий элемент:

0x05 =》 0000 01 01 Можно разбить:bSize = 1;bType = 1(Global);bTag = 0(Usage Page)

Приведенная выше интерпретация исходит из 《Device Class Definition for human interface device (HID)》 Файл, следующий за 0x01 Это 1 байт данных. Необходимо выяснить конкретное значение этих данных:《Universal Serial Bus HID Usage Tables》 Может быть найдено в, что означает: Generic Desktop 。

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

То есть согласно [bSize + bType + bTag】 Информация знает конкретное значение тега. Комбинируя таблицу таблицы и конкретный тег, найдите соответствующее значение следующих данных, чтобы достичь цели интерпретации дескриптора отчета.

Разберем функцию и значение нескольких важных тегов.

Main

| —— Ввод: указывает режим ввода данных о работе устройства на хост. Этот формат данных формирует входной отчет.Хотя входной отчет может быть передан конвейером управляющего типа с получением отчета (входом), он обычно передается входным конвейером типа прерывания, чтобы гарантировать, что обновленный входной отчет может быть передан в каждый фиксированный период. Передайте хосту.

| —— Вывод: представляет формат данных, выводимых хостом для операции устройства. Этот формат данных формирует выходной отчет. Выходной отчет обычно не отправляется на устройство путем опроса, но выходной отчет должен быть отправлен прикладным программным обеспечением в соответствии с фактическими потребностями, поэтому большинство конвейеров контрольного типа используются для отправки отчета на устройство с установить команду отчета (вывода). Конечно, вы также можете использовать прерванный выходной конвейер для передачи, но обычно это не рекомендуется.

| —— Функция: указывает формат данных конфигурации, требуемых хостом для отправки на устройство. Этот образец данных формирует характерный отчет. Отчет о функциях может использовать конвейер управления только для получения и установки значения функции устройства с помощью команд получить отчет (функция) и установить отчет (функция) соответственно.

Main ( Формат данных и смысл Три тега (Вход, Выход и Функция), которые создают формат данных отчета в), имеют общие определения данных. Эти данные:

Данные / константа: данные основного элемента представляют собой значение переменной (установленное на Data) или фиксированное неизменяемое значение (установлено на Constant). Константы используются в отчете Feature или используются для заполнения, поэтому длина отчета указывается в байтах.

Массив / переменная: каждое поле данных основного элемента может указывать, что запускается одна из нескольких различных операций (установлено значение «Массив»), или каждое поле указывает только одну операцию (установлено значение «Переменная»). Если это переменная, значение данных Report Count равно количеству полей данных отчета. Если это массив, значение данных Report Count указывает максимальное количество операций, которые могут быть запущены одновременно.

Абсолютный / Относительный: данные основного элемента предоставляют абсолютные значения относительно фиксированной контрольной точки (установленной на Абсолютный) или предоставляют относительные значения относительно предыдущего отчета (установленный на Относительный).

Без переноса / переноса: когда значение данных основного элемента достигает экстремального значения, оно переключается на чрезвычайно низкое значение, и наоборот, что называется намоткой (установлено значение Wrap). Например, поворотную ручку можно повернуть на 360 °, а выходное значение находится в диапазоне от 0 до 10. Если установлено значение Wrap, значение достигает 10, а значение становится 0, если она вращается в том же направлении. В противном случае, если он достигнет 0, поверните его снова, чтобы получить 10.

Линейный / Нелинейный: данные основного элемента и шкалы операций являются линейными (для параметра «Линейный») или нелинейными (для параметра «Нелинейный»).

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

Нет нулевой позиции / нулевое состояние: операция, соответствующая основному элементу, имеет состояние, при котором значимые данные не будут отправляться, то есть данные не будут находиться между логическим минимумом и логическим максимумом. Этот вид манипуляции должен быть отмечен как нулевой. Состояние, иначе это не нулевая позиция. Например, если имеется несколько клавиш, но в столбце Использование не указано, что ни одна клавиша не нажата, вы можете установить нулевое состояние в данных основного элемента, чтобы исключить состояние отсутствия нажатой клавиши из логического элемента. Минимальный и логический максимальный диапазон, см.Universal Serial Bus HID Usage Tables Пример в Приложении A.3 документа.

Non Volatile / Volatile: Данные основного элемента Feature не могут быть изменены хостом (установлен на Non Volatile) или разрешены для изменения хостом (установлен на Volatile). Обратите внимание на основные пункты Input и Output, эта установка метки бессмысленна, поэтому код бита 7 должен быть 0.

Битовое поле / буферизованные байты: формат данных основного элемента должен быть в байтах.Если этого недостаточно для формирования байтов, он будет автоматически заполнен байтами, затем установите буферизованные байты.

Источник

Устройства HID Human Interface Devices Windows 10

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

— HID-совместимая сенсорная панель.

— Microsoft Input Configuration Device.

— Устройство HID на шине I2C.

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Далее, в свойствах устройства вы можете узнать и настроить:

Общие:

— Вы можете узнать тип устройства.

Драйвер:

— Вы можете узнать поставщика драйвера.

— Сведения о файлах драйвера.

— Вы можете обновить драйвер.

— Вы можете откатить драйвер к предыдущему.

— Можно отключить устройство.

— Можно удалить драйвер.

Сведения:

— Вы можете узнать значения свойств устройства.

— Выберите свойство и вам автоматически покажут его значение.

— Вы можете узнать характеристики, класс, код ошибки устройства и т.д.

События:

— Вы можете узнать события, которые происходили с устройством.

— Вы можете узнать дату и время события.

— Можно узнать описания и сведения событий.

— В конце нажмите на кнопку OK, чтобы сохранить сделанные изменения.

Устройства hid human interface devices что это. Смотреть фото Устройства hid human interface devices что это. Смотреть картинку Устройства hid human interface devices что это. Картинка про Устройства hid human interface devices что это. Фото Устройства hid human interface devices что это

Источник

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

СОДЕРЖАНИЕ

HID стандарт

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

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *