没有合适的资源?快使用搜索试试~ 我知道了~
首页中文版USB HID使用表v1.12:详解与翻译概览
《中文版-HID-Usage-Tables-v1.12》是一份详细的文档,主要关注于通用串行总线(USB) Human Interface Device (HID) 使用表。HID 是一种设备类标准,允许简单易用的交互方式,如键盘、鼠标、游戏控制器等。这份版本1.12更新于2004年10月28日,由多位来自不同公司的专家共同贡献,包括Brian Bates、Robert Dezmelyk、Microsoft、Symbol Technologies、Intel、微软等,确保了表格的准确性和兼容性。 该文档的核心内容是HID设备在USB通信中的各种功能和操作代码(Usage Tables),这些代码定义了设备的不同输入和输出类型,如按键、触摸、扫描仪、条形码阅读器等。版本更新历史反映了对HID规范的持续改进,包括对早期审查请求的整合,以及对条形码使用和键盘表单的修正,旨在提升设备间的互操作性和用户体验。 例如,1.12版本的发布纳入了多个HUT(HID Usage Table)审查请求,这些请求可能涉及新功能的添加、错误修复或兼容性增强,以满足日益增长的市场需求和技术进步。知识产权声明部分强调,该规范提供是“原样”的,没有保证,用户需自行判断其适用性。 对于想要深入理解USB HID技术的开发者和工程师来说,《中文版-HID-Usage-Tables-v1.12》是一个重要的参考资源,提供了关键的信息和标准化指导,有助于设计和实现与USB接口兼容的HID设备。
资源详情
资源推荐
Version 1.12
October 28, 2004
16
Universal Serial Bus HID Usage Tables
3.3
用法和单位
对于将数据项声明为时间,距离,力等的度量的用法,应用程序
必须查看单位以正确解释用法定义的值,除非:
1. 该用法特别声明Units为可选。
2. 用法说明定义了将显示值的单位。
如果Units设置为Optional或设置为None(尚未声明),则应用程序可以假定用法表示无量纲值。任
何忽略单位的应用程序都会自行承担风险。
声明自己是时间测量的用法将通过在相应的Main项声明之前声明Units和Unit Exponent来指定是
秒还是毫秒。一个示例是LED页面上的闪存时间使用情况,其被描述为指示灯在闪光模式下点亮
的持续时间。持续时间将由Units和Unit Exponent的值限定。
声明主项目的单位时,还必须声明逻辑最小值,逻辑最大值,物理最小值,物理最大值和单位指
数项。
注意 在许多情况下,坐标系假定值可以正向变化
零(0)负。
3.4
使用类型
用法定义了各种各样的设备功能。但是,应用程序处理它们生成的数据的方式属于相对较小的类别
集。本节提供常用类型用法的说明,主要用于保存本文档中的冗余文本。此列表不是可能的使用类
型的详尽列表。个人使用页面可以声明自己的使用类型。
每种使用类型都描述了应用程序应如何处理由附加用法的Main项生成的数据。
使用类型名称后跟缩写,在详细用法说明中使用该缩写来标识使用的默认类型。在某些情况下,使
用类型不适用,详细说明将确定如何解释用法。
用法描述了三种基本类型的信息:控件,集合和数据。在此上下文中,控件通过设备的状态(开
/关,启用/禁用等),集合组相关控件和数据一起标识,数据包括在设备和主机之间传递的剩余
信息。
注意 使用类型始终被视为处理使用的推荐方法。
请参阅用法定义以确定是否可以应用其他使用类型。
Version 1.12
October 21, 2004
Universal Serial Bus HID Usage Tables
17
3.4.1
使用类型(控件)
下表总结了控件相关的使用类型。
表2:使用类型(控件)
控制类
型
逻辑最
小
逻辑最
大值
旗
信号
手术
–1
1
相对的,
优先的状
态
边缘
1递增控件的值。
-1减少控件的值。
-min
马克斯
相对的,
优先的状
态
水平
n
递增控件的值。-n递减控件的值。
敏
马克斯
绝对的,
优先的国
家
N/A
控件报告的值由主机直接使用。
-1
1
相对的,
没有首选
边缘
1断言On状态。
-1断言关闭条件。
0
1
相对的,
优先的状
态
边缘
0到1转换切换当前的开/关状态。
0
1
绝对,没有
首选
水平
1断言On状态。0断言关闭
条件。
瞬时控制
(MC)
0
1
绝对的,
优先的国
家
水平
1断言一个条件。
0取消该条件。
单击控制
(OSC)
0
1
相对的,
优先的状
态
边缘
0到1的转换会触发事件。必须先发生
1到0的转换才能触发另一个事件。
重新触发
控制
(RTC)
0
1
绝对的,
优先的国
家
水平
1触发事件。事件完成后,如果值为
1,则将再次触发事件。
3.4.1.1
线性控制(LC)
在许多情况下,线性值的控制被实现为一对递增/递减按钮,滚轮或诸如旋钮或滑动件的线性控
制。
当实现为递增/递减控制时,必须将这两个按钮转换为单个2位有符号值并声明为相对主项目,其报
告大小等于2,其中-1递减该值,+ 1递增它,0声明时不会发生变化。
转轮通常用作弹簧加载的旋钮,在释放时返回固定的中心位置。此控件报告两个或多个位的单个值,
这些位报告为有符号值并声明为相对主项,其中-n递减值,+ n递增它,并且当断言0时不发生更改。
以+/- n的分辨率实现旋转轮控制,其中旋钮从中心位置的偏移与报告的值成比例。必须声明报告
大小足以包含签名值n。
当实现为线性旋钮或滑动时,必须将控件声明为绝对主项。有关示例,请参阅附录A“使用示例”中
的第A.1节“音量控制”。
Version 1.12
October 28, 2004
18
Universal Serial Bus HID Usage Tables
3.4.1.2
开/关控制(OOC)
开/关控制可以通过以下任何方式实现:
两个按钮,开和关。这两个按钮被编码为2位有符号值,并被声明为相对,无首选主项目,
逻辑最小值和逻辑最大值分别为-1和1。从0到-1的转换生成关闭条件,从0到+1的转换生成
开启条件。断言0时不会发生变化。
一个按钮,每次按下时都会切换On / Off状态。(单掷瞬时开关)单个按钮被编码为1位
无符号值,并被声明为相对的首选主项目,逻辑最小值和逻辑最大值分别为0和1。从0到1
的转换切换当前打开/ Off状态.1到0转换不发生变化。
一个切换开关,可以机械地保持On / Off状态。(切换开关)此控件编码为1位无符号值,
并声明为绝对,无首选主项,逻辑最小值和逻辑最大值分别为0和1。断言1生成On条件,断
言0生成Off条件。
3.4.1.3
瞬时控制(MC)
瞬时控制是一个基本的按钮。瞬时控制被编码为1位值,并被声明为绝对的首选主项,逻辑最小值
和逻辑最大值分别为0和1。值1生成断言条件,0生成非断言条件。一个例子是鼠标按钮。
3.4.1.4
单击控制(OSC)
One Shot Control是一个触发单个事件或动作的按钮。单击控制被编码为1位值,并被声明为相
对的首选主项目,逻辑最小值和逻辑最大值分别为0和1。0到1的转换启动事件。1到0转换不会发
生任何事情,但在另一个事件发生之前需要它。一个例子是消磁。
3.4.1.5
重新触发控制(RTC)
重新触发控制是一个按钮,只要声明它就会触发重复事件。重新触发控制被编码为1位值,并被声明
为绝对的首选主项,逻辑最小值和逻辑最大值分别为0和1。0到1的转换启动第一个事件。当每个事
件终止时,如果控件仍然有效(1),则会发生另一个事件。一个例子是autorepeat fire按钮。
3.4.2
使用类型(数据)
下表总结了与数据相关的使用类型。
表3:使用类型(数据)
类型
旗
描述
选择器(Sel)
排列
包含在命名数组(NAry)中。
静态值(SV)
恒定,可变,绝对
只读多位值。
静态标志(SF)
恒定,可变,绝对
只读单位值。
动态值(DV)
数据,可变,绝对
读/写多位值。
动态标志(DF)
数据,可变,绝对
读/写单比特值。
Version 1.12
October 21, 2004
Universal Serial Bus HID Usage Tables
19
3.4.2.1
选择器(Sel)
选择器有三种形式:
一组选择。单选按钮是一组机械链接的按钮,其中一个选项始终有效。这是“一组选择”形
式的完美例子。单选按钮集由Main项定义,其中Array标志设置且Report Count设置为1.数
组字段中返回的索引对应于按下的按钮(或选择)。必须为每个选择声明用法。数组字段
永远不会返回NULL索引,因为一个用法始终有效。一个例子是字母数字显示页面上的Stat
Not Ready。
一
组中的N个选择。一次可以有多个选项(按钮)有效。可以在多字节数组中一次将多个
选择返回到系统。“n选择集”表单由Main项定义,其中Array标志设置且Report Count
设置为n,其中n是可在单个报表中报告的选择数。一个例子是键盘。
任何选择一套。该控制被实现为一组位字段,其中每个位表示单个选择。此控件由Main项
定义,其中Variable标志设置且Report Size等于1. Report Count将等于集中的选择数。
因此,选择器可以以多种方式实现:Array [1](一组中的一个选择),Array [n](n个选择集合)
或位图(任何选择集合)。
(可选)可以通过将一组选择器包装在逻辑集合中并附加一个用法来命名阵列字段或集合。有关
详细信息,请参阅章节3.4.3.1, “命名数组(NAry).”
3.4.2.2
静态值(SV)
静态值用于声明设备中的固定功能。它们被定义为常量并被视为只读信息。因此,在
Set_Report命令中声明此字段没有定义的效果。
3.4.2.3
静态标志(SF)
静态标志用于声明设备中是否存在固定功能。如果在报告描述符中找到静态标志用法,则必须读取
该字段以确定该标志所标识的特征是否存在。值1表示存在,值0表示不存在。缺少静态标志使用意
味着该标志为假,或者该设备不支持该标志定义的特征。静态标志必须声明为常量。要使应用程序
可以访问,静态标志必须具有分配给它的用法。
静态标志通常在功能报告中声明为单比特字段,其值始终被读取为
1.尝试在Set_Report命令中修改此字段对静态标志没有影响。
3.4.2.4
动态标志(DF)
动态标志用于声明设备中存在主机可控功能。缺少动态标志使用意味着该标志为假,或者该设备不
支持该标志定义的特征。
动态标志通常在报告中声明为单比特字段,其中设备返回的值1表示该功能已启用。主机断言1将导
致引发该特征,并且断言0表示如果该特征是一次性事件(例如消磁或清除显示),则禁用或忽略该
特征。动态标志主项必须声明为数据。
Version 1.12
October 28, 2004
20
Universal Serial Bus HID Usage Tables
3.4.2.5
动态值(DV)
动态值是一个n位字段,包含与控件关联的值。关联的Main项将设置Data和Variable标志。动态值
主项必须声明为数据。
注意 更高级的设备可能允许声明为静态类型的用法为动态。总是
检查输入,输出或功能主项目中的常量/数据标志。
3.4.3
使用类型(收藏)
下表总结了与集合相关的使用类型。
表4:使用类型(收集)
类型
收集类型
定义
命名数组
(NAry)
合乎逻辑
包含数组定义,命名数组或数组创建的字
段的集合。
应用程序集(CA)
应用
将名称应用于顶级集合,操作系统使用该集
合来标识设备并可能重新映射到旧API。
逻辑收集(CL)
合乎逻辑
物品的逻辑集合。
物理集合(CP)
物理
物品的物理集合。
使用开关(美
国)
合乎逻辑
修改其包含的用法(控件)的用途或功
能。
使用修饰符
(UM)
合乎逻辑
修改包含它的用法(控件)的用途或功
能。
3.4.3.1
命名数组(NAry)
为了简化应用程序查找一组选择器的过程,无论是定义为数组字段还是位图,可以通过将它们包装
在逻辑集合中并将用法应用于集合来命名选择器集。以这种方式应用的用法称为命名数组用法。有
关示例,请参阅附录A“使用示例”中的第A.4节“命名数组字段”。
3.4.3.2
收集应用程序(CA)
Collection Application用法类型标识仅在应用程序级集合中使用的用法。应用程序集合标识HID
设备或复杂设备的功能子集。操作系统使用与此集合关联的用法将设备链接到其控制应用程序或
驱动程序。常见的例子是键盘或鼠标。具有集成指点设备的键盘可以包含两个不同的应用程序集
合。
注意 数据报告不能跨越应用程序集合。
3.4.3.3
集合逻辑(CL)
Collection Logical用法类型标识应用于逻辑集合的用法。逻辑集合可用于进一步定义它们包含
的项目或控件的用途。
剩余173页未读,继续阅读
hhhajj
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功