• 人机交互设备(HID)


    人机交互设备(HID)是一个设备类型,为了使用通用USB接口支持HID设备来代替PS/2接口类型的设备,例如键盘、鼠标和游戏控制器等等。

    在 HID 之前,设备只能使用规定好的鼠标或键盘协议。硬件创新需要在现有协议中重载数据,或者使用自己的设备驱动程序创建非标准硬件。HID 为这些"boot mode"设备提供了支持,同时通过可扩展、标准化和易于编程的接口为硬件创新提供支持。

    boot mode:boot mode的意思为“启动方式”,有两种启动方式:UEFI和Legacy support。UEFI是新式的BIOS,legacy是传统BIOS。二者可以转换。

    如今,HID 设备包括各种设备,如数字显示器、条形码读取器、扬声器/耳机的音量控制器、辅助显示器、传感器等。许多硬件供应商也使用 HID 作为其专有设备。

     

    图:PS/2接口类型

    HID的概念

    HID 由两个基本概念组成,Report Descriptor(USB报告描述符)和 Report(报告),报告是设备和软件客户端之间交换的实际数据。报告描述符描述了设备支持的数据的格式和含义。

    Reports

    应用程序和 HID 设备通过报告交换数据。报告有三种类型:输入报告、输出报告和特征报告。

    Report Type

    Description

    Input Report

    Data sent from the HID device to the application, typically when the state of a control changes.

    Output Report

    Data sent from the application to the HID device, for example to the LEDs on a keyboard.

    Feature Report

    Data that can be manually read and/or written, and are typically related to configuration information.

    在报表描述符中定义的每个顶级集合可以包含每个类型的零( 0 )个或多个报告。

    Usage Tables

    USB-IF工作组发布 HID 使用表,这些表是报告描述的一部分,用于描述允许 HID 设备执行的用途。这些 HID 使用表包含一个包含使用情况描述的列表,其中描述了报告中描述的特定项目的预期含义和用途。

  • 相关阅读:
    代码随想录算法训练营第五十一天| LeetCode 121 买卖股票的最佳时机、LeetCode 122 买卖股票的最佳时机II
    图像分割(二)——低照度下自然场景下图像分割的一种新方法
    数据可视化(一)
    安装配置ingress-nginx支持https访问
    计算机网络——应用层の选择题整理
    VS Code 如何搭建 C/C++开发环境
    【Arduino IDE 2.0他来了】
    笔记本电脑主板电池没电如何解决
    shiro反序列化和log4j
    JS基础习题
  • 原文地址:https://blog.csdn.net/weixin_44339850/article/details/126348754