人机交互设备(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 使用表包含一个包含使用情况描述的列表,其中描述了报告中描述的特定项目的预期含义和用途。

人机交互设备(HID)相关推荐

  1. 基于人机交互设备测量用户情绪。

    Hibbeln M, Jenkins J L, Schneider C, et al. HOW IS YOUR USER FEELING? INFERRING EMOTION THROUGH HUMA ...

  2. 人机交互——人机交互设备

    人机交互设备 1) 一家公司正在设计一个可以在公共场所显示天气信息的信息亭.kiosk有一个触摸屏,用户可以通过在地图上点击来选择城市.给出三个为什么触摸屏是这个应用程序的有效设备的理由. 1.使用自 ...

  3. 【无线通信协议笔记】蓝牙篇:BLE HID协议

    概述 BLE HID协议规范是以USB HID协议规范为蓝本的,可以认为是USB HID的无线方式.那么作为人机交互设备(HID),我们常见产品有:蓝牙鼠标,蓝牙键盘,蓝牙游戏手柄,蓝牙自拍杆等.另外 ...

  4. [嵌入式方案][nrf51822] BLE HID+NUS的组合

    BLE HID协议规范是以USB HID协议规范为蓝本的,可以认为是USB HID的无线方式.那么作为人机交互设备(HID). 可用于下面产品: 蓝牙鼠标.蓝牙键盘.蓝牙游戏手柄.蓝牙自拍杆.靠近自动 ...

  5. (转)Linux设备驱动之HID驱动 源码分析

    //Linux设备驱动之HID驱动 源码分析 http://blog.chinaunix.net/uid-20543183-id-1930836.html HID是Human Interface De ...

  6. STM32 USB VCOM和HID的区别,配置及Echo功能实现(HAL)

    STM32 USB VCOM和HID的区别,配置及Echo功能实现(HAL ) STM32的USB功能模块可以配置为虚拟串口(VCOM: Visual Port Com)或人机交互设备(HID: Hu ...

  7. 基于Nordic52832的六轴HID蓝牙鼠标开发

    前言 很久没开发蓝牙相关的项目,找到一块Noridc蓝牙kit板,正好配合6轴来做一个拟合姿态的无线鼠标 如有异议,欢迎指正 方案实现 使用了6轴传感器和Nordic kit开发板,6轴获取姿态换算获 ...

  8. 蓝牙hid协议源码解析

    1,概述 1.1 HID协议 HID协议: Hunman Interface Device Profile人机交互设备协议 使用场景:支持人机交互设备之间的控制 市场产品:蓝牙键盘,蓝牙鼠标,蓝牙游戏 ...

  9. Android 蓝牙Hid开发

    原文地址: https://blog.csdn.net/VNanyesheshou/article/details/61914974 Demo下载:http://www.demodashi.com/d ...

最新文章

  1. TeaseR++:快速鲁棒的C++点云配准库介绍+英文版视频教程
  2. abb变频器acs800功率_ABB变频器如何选型(1)
  3. jupyter notebook 更改工作目录
  4. MySQL数据库是非关系_MySQL(数据库)基础知识、关系型数据库yu非关系型数据库、连接认证...
  5. python-发送短信验证码-功能的实现
  6. 数据结构之--冒泡排序的三种实现
  7. 《权力的游戏》第八季剧情翻水:超40万粉丝请愿重拍
  8. python图像数据是几维数据_python实现读取类别频数数据画水平条形图案例
  9. CT一般扫描参数_工业CT检测服务
  10. 使用JS调用迅雷下载网站本地视频,生成迅雷下载链接
  11. TextView源码解析
  12. 微信小程序外卖平台,免费下载小程序外卖源代码
  13. coap php 发送,CoAP 客户端
  14. 微信小程序上传Excel文件并分析上传值数据库
  15. 编写程序描述影视歌三栖艺人。需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。...
  16. RALL原则和unique_ptr
  17. 最简单的ShaderToy入门 - 笑脸渲染
  18. 计算机专业硕士毕业论文,硕士毕业论文(计算机专业、自动化专业).doc
  19. JS实现,利用两个下拉菜单,选择省份与对应城市
  20. 私企“跳槽率”高的四大原因

热门文章

  1. 有理函数多项式分解以及系数的留数法求解
  2. 十分钟一起学会Inception网络
  3. python调用word_Python调用win32com.client.Dispatch('Word.Application')报错汗血宝马
  4. Lesson 10
  5. Adb 抓不住Genymotion的解决方法
  6. 【2020 ACM Fellow 华人学者】 吕晨阳 圣路易斯华盛顿大学
  7. 本科2019大数据应用大赛 可视化部分
  8. Openwrt-Chaos_Calmer搭建编译环境问题处理
  9. R语言实现双变量分析教程
  10. Java入门学习笔记4——运行报错及解决方法