收藏 分销(赏)

USB接口HID设备说明书样本.doc

上传人:二*** 文档编号:4763013 上传时间:2024-10-12 格式:DOC 页数:58 大小:1.48MB 下载积分:5 金币
下载 相关 举报
USB接口HID设备说明书样本.doc_第1页
第1页 / 共58页
本文档共58页,全文阅读请下载到手机保存,查看更方便
资源描述
第8章 USB接口HID设备 HID(Human Interface Device,人机接口设备)是USB设备中惯用设备类型,是直接与人交互USB设备,例如键盘、鼠标与游戏杆等。在USB设备中,HID设备成本较低。此外,HID设备并不一定要有人机交互功能,只要符合HID类别规范设备都是HID设备。 Wndows操作系统最先支持HID设备。在windows 98以及日后版本中内置有 HID设备驱动程序,应用程序可以直接使用这些驱动程序来与设备通信。 在设计一种USB接口计算机外部设备时,如果HID类型设备可以满足需要,可以将其设计为HID类型设备,这样可以省去比较复杂USB驱动程序编写,直接运用Windows操作系统对原则HID类型USB设备支持。 8.1 HID设备简介 8.1.1 HID设备特点 Ÿ 互换数据储存在称为报表(Report)构造内,设备固件必要支持HlD报表格式。主机通过控制和中断传播中传送和祈求报表来传送和接受数据。报表格式非常灵活。 Ÿ 每一笔事务可以携带小量或中量数据。低速设备每一笔事务最大是8B,全速设备每一笔事务最大是64B,高速设备每一笔事务最大是1024B。一种报表可以使用多笔事务。 Ÿ 设备可以在未预期时间传送信息给主机,例如键盘按键或是鼠标移动。因此主机会定期轮询设备,以获得最新数据。 Ÿ HID设备最大传播速度有限制。主机可以保证低速中断端点每10ms内最多1笔事务,每一秒最多是800B。保证全速端点每lms一笔事务,每一秒最多是64000B。保证高速端点每125 us一笔事务,每一秒最多是24.576MB。 Ÿ HID设备没有保证传播速率。如果设备是设立在10ms时距,事务之间时间也许等于或不大于10ms。除非设备是设立在全速时在每个帧传播数据,或是在高速时在每个微帧传播数据。这是最快轮询速率,因此端点可以保证有对的带宽可供使用。 HID设备除了传送数据给主机外,它也会从主机接受数据。只要可以符合HlD类别规范设备都可以是HID设备。 设备除了HlD接口之外,它也许同步还包具有其她USB接口。例如影像显示设备也许使用HID接口来做亮度、对比度软件控制,而使用老式影像接口来传送要显示数据。USB扩音器可以使用实时传播来播放语音,同步使用HID接口来控制音量、低音等。 HID类别设备规范文献重要是如下两份: Ÿ Device Class Definition for Human interface Devices Ÿ HID Usage Tables 其中前者是HID基本规范文献,后者可以是前者附件,为开发人员提供实际控制类型描述。文献是用来定义让主机理解以及使用HID数据数值。这两份文献是由 USB Device Working Group制定,可以在网址。 8.1.2 HID设备硬件规定 HID接口必要符合Device Class Definition for Human interface Devices规范内所定义HID类别需求。在此文献内描述了所需描述符、传播频率以及传播类型等。为了符合规范,HID接口端点与描述符都必要符合数个规定。 所有HID传播都是使用默认控制管道或是一种中断管道,HID设备必要有一种中断输入端点来传送数据到主机,中断输出端点则不是必须。 HID类别 驱动程序 HID类别 设备 主机 外设 默认控制管道 中断管道 图8-1 HID传播传播类型 表8-1 HID设备传播类型 传播 类型 数据来源 数据类型 与否需 要管道 控制 设备(输入) 没有严格时间限制数据 是 主机(输出) 没有严格时间限制数据 或是没有中断输出管道时任何数据 中断 设备(输入) 定期或低延迟数据 是 主机(输出) 定期或低延迟数据 是 主机与设备之间所互换数据,可以提成两种类型: Ÿ 低延迟数据,必要尽快地到达目; Ÿ 配备或其她数据,没有严格时间限制需求。 中断管道是控制管道之外另一种数据互换方式,特别适合使用在接受端需要定期或是尽量及时收到数据时候。中断输入管道携带数据到主机,中断输出管道则是携带数据到设备。在总线忙时候,控制管道也许会被延迟,而中断管道保证会有可得到带宽。HID不需要一定有中断输出管道。如果没有中断输出管道,主机会在控制管道上使用HID设备特有Set_Report祈求来传送所有报表。 8.1.3 HID固件规定 主机驱动程序要与HID设备通信,设备固件必要符合下列需求: Ÿ 设备描述符必要辨认该设备包具有HID接口。 Ÿ 除了默认控制管道外,固件必要此外支持一种中断输入管道。 Ÿ 固件必要包括一种报表描述符来定义要传送与接受设备数据。 如果要传送数据,固件必要支持Get_Report控制传播与中断输入传播。如果要接受数据,固件必要支持Set_Report控制传播与选取性中断输出传播。 所有HID数据都必要使用定义过报表格式来定义报表中数据大小与内容。设备可以支持一种或各种报表。在固件中一种报表描述符用来描述此报表,以及如何使用报表数据信息。 在每一种报表中一种数值,定义此报表是一种输入(Input)、输出(Output)或是特性(Feature)报表。主机在输入报表中接受数据,在输出报表中传送数据,特性报表可以在任何方向传递。 Windows 98以及日后版本HID驱动程序使用中断传播来传递输入报表。输出报表传播类型要依照设备支持端点与Windows版本而定。Windows 98 Gold只符合HID 1.0规范,它HID驱动程序使用控制传播来传递输出报表。Windows 98 SE、Wndows 符合HID 1.1规范,HID驱动程序在有中断输出端点时使用中断传播,否则使用控制传播来传递输出报表。特性报表都是使用控制传播。 8.2 HID设备描述符 HID设备连接到USB主机后,主机通过发送Get_Descriptor祈求读取HID设备描述符,理解描述符对理解USB设备是至关重要。 8.2.1 HID设备描述符 HID设备除了支持USB设备5种原则描述符之外,还支持HID设备特有3种描述符。这些描述符是: Ÿ USB原则描述符:设备、配备、接口、端点和字符串描述符。 Ÿ HID特有描述符:HID、报表(Report)和实体(Physical)描述符。 从描述符关联关系看,HID描述符是关联于接口。因此如果一种HID设备有2个端点,设备不需要每个端点有一种HID描述符。 图8-2 HID描述符关联关系 接口描述符Interface 端点描述符 Endpoint HID描述符 Hid 报表描述符 Report 实体描述符 Physical HID、报表和实体描述符是HID设备特有描述符 从前面USB描述符可以看出一种规律,描述符第一、二字节分别是描述符长度和类型,描述符类型字段(bDescriptorType)表白描述符种类,下表列出了不同描述符类型字段数值。 表8-2 HID描述符 类型 描述符 应用 数值 原则 设备 Device 所有设备必要有,只能一种 01 配备 Configuration 所有设备必要有,至少一种 02 字符串 String 可选取 03 接口 Interface 每一种接口一种 04 端点 Endpoint 除端点0之外每个端点一种 05 设备限定 Device_Qualiffier 同步支持全速与高速设备必要有一种 06 Other_Speed_Configuration 07 Interface_power 08 类别 HID HID设备必要有 21 Hub 29 HID 特定 报表 Report HID设备必要有 22 实体 Physical 可选取 23 对于一种HID设备,设备描述符与配备描述符没有HID特定信息。其设备描述符bDeviceClass和bDeviceSubClass字段值为0,接口描述符bInterfaceClass字段值为03,表达设备该接口是HID类别。在接口描述符中其她包括HID特定信息字段尚有子类别码(blnterfaceSubClass)与合同码(blnterfaceProtocol字段)。 在接口描述符中子类别码字段等于1表达此设备支持启动接口(Boot Interface)。如果设备有启动接口,即便主机HID没有加载驱动程序,设备也可以使用。这种情形也许发生在计算机是由DOS直接启动,在启动时观看系统设立画面或使用Wndows安全模式时。 具有启动接口键盘或鼠标可以使用BIOS或许多主机支持默认简朴合同。HID规范定义了键盘与鼠标启动接口合同。 如果设备没有启动接口,并且接口描述符中合同码字段是1,表达设备支持键盘接口,合同码字段是2,表达支持鼠标接口。接口描述符中合同码字段是0,表达设备不支持启动合同。 在 HID Usage Tables规范中定义了键盘与鼠标启动描述符(Boot Descriptor)。BIOS不需要从设备中读取描述符,由于它懂得启动合同,并且假设设备支持启动合同。因此要启动设备不需要在固件内包括启动接口描述符,它只要在主机尚未规定在报表描述符中定义合同时支持启动合同即可。在操作系统加载HlD驱动程序后会使用Set_Protocol祈求,将设备由启动合同转换成报表合同。 8.2.2 HID描述符 HID描述符重要作用是用来辨认HID通信所使用额外描述符。下表是HID描述符构造。 表8-3 HID描述符构造 偏移 量 字段 字节 数 数值 类型 阐明 0 bLength 1 Numeric 描述符字节数 1 bDescriptorType 1 Constant 0x21 = HID描述符 2 bcdHID 2 Numeric HID规范版本号(BCD) 4 bCountryCode 1 Numeric 硬件设备所在国家国家代码 5 bNumDescriptors 1 Numeric 类别描述符数目(至少有一种报表描述符) 6 bDescriptorType 1 Constant 类别描述符类型 7 wDescriptorLength 2 Numeric 报表描述符总长度 9 [bDescriptorType]... 1 Constant 附加描述符类型,可选 10 [wDescriptorLength]... 2 Numeric 附加描述符总长度,可选 bcdHID:设备与其描述符所遵循HID规范版本号码,此数值是4个16进位BCD格式字符。例如版本1.1bcdHID是0110h。 bCountryCode:硬件目国家辨认码。如果不阐明,该字段为0。 bDescriptorType:HID描述符附属描述符类型(报表或实体)。每一种 HID都必要至少支持一种报表描述符。一种接口可以支持各种报表描述符,以及一种或各种实体描述符。 HID描述符偏移量为9和10bDescriptorType和wDescriptorLength可以重复存在各种。 1. 报表描述符 报表描述符定义了执行设备功能数据格式和用法。 报表描述符和USB其她描述符是不同样,它不是一种简朴表格,报表描述符是USB所有描述符中最复杂。报表描述符非常复杂而有弹性,由于它需要解决各种用途设备。报表数据必要以简洁格式来储存,这样才不会挥霍设备内储存空间以及数据传播时总线时间。 事实上可以这样理解,报表内容简洁,是通过报表描述符全面、复杂数据描述实现。 报表描述符必要先描述数据大小与内容。报表描述符内容与大小因设备不同而不同,在进行报表传播之前,主机必要先祈求设备报表描述符,只有得到了报表描述符才可对的解析报表数据。 报表描述符是报表描述项目(Item)集合,每一种描述项目均有相对统一数据构造,项目诸多,通过编码实现。 (1)项目 报表描述符由描述HID设备数据项目(Item)构成,项目第一种字节(项当前缀)由三某些构成,即项目类型(item type)、项目的志(item tag)和项目长度(item size)。其中项目类型阐明项目数据类型,项目的签阐明项目功能,项目长度阐明项目数据某些长度。 HID项目有短项目和长项目两种,其中短项目格式如下图。 Data (可以是0、1、2、4个字节) bTag bType bSize 7 6 5 4 3 2 1 0 位序 字段 图8-3 HID报表短项目格式 短项目数据字节数由bSize值定义,bSize为0、1、2、3时Data某些字节数分别为0、1、2、4个字节。短项目项目类型由bType定义,bType为0、1、2时分别为Main、Global和Local类型。 长项目可以携带较多数据,其格式如下图。 bDataSize 1 1 1 1 1 1 1 0 7 6 5 4 3 2 1 0 位序 字段 图8-4 HID报表长项目格式 bLongItemTag Data 字节数 1 1 1 1~255 项目中第一种字节为上图中特定值时表白该项目是一种长项目。长项目中bDataSize阐明Data某些字节数,bLongItemTag在HID规范中没有定义。 下面是通过汇编实现一种简朴报表描述符,描述符每一行是一种项目,该描述符描述了一种从设备接受2个字节输入报表和发送2个字节到设备输出报表。 HID_Report_desc_table: db 06h,A0h,FFh ;Usage Page(Vendor defined) 定义设备功能 db 09h,A5h ;Usage(Vendor Defined) 定义用法 db A1h,01h ;Collection(Application) 开一种集合 db 09H,A6h ; Usage(Vendor defined) 定义用法 ; 输入报表 db 09h,A7h ; Usgae(Vendor defined) 定义用法 db 15h,80h ; Logical Minimum 定义输入最小值=-128 db 25h,7Fh ; Logical Maximum 定义输入最大值=+27 db 75h,08h ; Report Size 定义报表数据项大小=8 db 95h,02h ; Report Count 定义报表数据向个数=2 db 81h,02h ; Input(Data,Variable,Absolute) 输入项目 ; 输出报表 db 09h,A9h ; Usgae(Vendor defined) 定义用法 db 15h,80h ; Logical Minimum 定义输入最小值=-128 db 25h,7Fh ; Logical Maximum 定义输入最大值=+27 db 75h,08h ; Report Size 定义报表数据项大小=8 db 95h,02h ; Report Count 定义报表数据向个数=2 db 91h,02h ; Output(Data,Variable,Absolute) 输出项目 db C0h ;End Collection 关闭集合 (2)项目分类 报表项目有Main、Global和Local三大类,每一类均有各种不同项目,实现不同描述。 Main类项目用于定义报表描述符中数据项。也可以组合其中若干数据项成为一种集合。Main项目可以分为带数据Main项目和不带数据Main项目。带数据项Main用于生成报表中数据项,涉及Input、Output和Feature项目。不带数据Main项目不生成报表中数据项,涉及Collection和End Collection项目。 Global类项目实现对数据描述,用来辨认报表并且描述报表内数据,涉及数据功能、最大与最小容许值以及数据项大小与数目等。变化由Main类项目生成项目状态表。Global类项目描述对后续所有项目有效,除非遇到有新Global类项目。 Local类项目定义控制特性,这一类项目作用域不超过下一种Main项目,因此在每一Main项目之前也许有各种Local项目。Local项目用于描述背面Input、Output和Feature项目。 下表列出是所有项当前缀字和简要功能阐明。 表8-4 HID项目列表 项目 类型 项目的志(Tag) 项当前缀,nn为数据长度 功能阐明 Main 类项目 Input 1000 00 nn 定义输入报表,主机运用该信息解析设备提供数据。主机向控制端口发送Get_Report实现输入 Output 1001 00 nn 创立输出报表,通过向设备发送Set_Report实现输出 Feature 1011 00 nn 定义送往设备设立信息 Collection 1010 00 nn 定义2个以上数据(Input、Output和Feature)关系为集合,Collection开始一种集合,之后End Collection结束集合。Collection项目数据某些阐明Collection类型 End Collection 1100 00 nn Global 类项目 Usage Page 0000 01 nn 指定设备功能 此外由于Usage项目有32位数据值,Usage Page项目用于为Usage项目在报表描述符中占居存储空间。用于存储后续Usage项目高16位。 Logical Minimum 0001 01 nn 定义变量或数组项目逻辑最小值和最大值 Logical Maximum 0010 01 nn Physical Minimum 0011 01 nn 定义变量或数组项目物理最小值和最大值,分别和Logical Minimum、Logical Maximum相应 Physical Maximum 0100 01 nn Unit Exponent 0101 01 nn 定义数值是基于10指数 Unit 0110 01 nn 单位 Report Size 0111 01 nn 指定报表数据区域所包括位数 Report ID 1000 01 nn 报表ID,该项目在报表中插入一种字节报表ID Report Count 1001 01 nn 报表中数据域数目 Push 1010 01 nn 将Global项目状态表送入堆栈 Pop 1011 01 nn 从堆栈恢复Global项目状态表 1100 01 nn – 1111 01 nn 保存 Local 类项目 Usage 0000 10 nn 用法索引值,表达对项目或集合建议用法,用于当一种项目描述各种控制,对每一种变量和数组元素均有建议用法 Usage Minimum 0001 10 nn 定义阵列或位图中控制操作第一种和最后一种用法 Usage Maximum 0010 10 nn Designator Index 0011 10 nn 拟定用于控制实体,指向物理描述符中目的 Designator Minimum 0100 10 nn 定义阵列或位图目的起始和终结索引值 Designator Maximum 0101 10 nn String Index 0111 10 nn 拟定字符串描述符中索引值 String Minimum 1000 10 nn 定义用于阵列或位图控制中字符串序列索引值最小值和最大值 String Maximum 1001 10 nn Delimiter 1010 10 nn 定义一组Local项目开始和结束,1=开始,0=结束 1010 10 nn – 1111 10 nn 保存 在这些项目中,Usage Page用来指定设备功能,而Usage项目用来指定个别报表功能。Usage Page项目相称于是HID子集合,Usage相称于是Usage Page子集合。 2. 报表描述符项目 (1)Input、Outpot和Feature项目 这3个项目用来定义报表中数据字段。 Input项目可以应用到任何控制、计数器读数或其她设备传给主机信息。一种输入报表包括一种或各种Input项目,主机使用中断输入传播来祈求输入报表。 Ouput项目用来定义主机传送给设备信息。一种输出报表包括一种或各种Outpot项目。输出报表包括控制状态数据。如果有中断输出管道,HID1.1兼容主机使用中断输出传播来传送输出报表,否则使用Set_Report控制祈求。 Feature项目应用到主机传送给设备信息,或是主机从设备读取Feature项目。一种特性报表包括一种或各种Feature项目,Feature项目普通是包合影响设备与其组件整体行为配备。特性报表普通是控制可以使用实际控制面板调节设立,例如主机可以使用虚拟控制面板来让顾客选取控制特性。主机使用 Set_Report与Get_Report祈求来传送与接受特性报表。 在每一种Input、Output和Feature项当前缀字之后是32位描述数据,当前最多定义了9个位,余位则是保存。位0~8定义中只有位7不能应用于Input项目,除此之外其她位定义都适应于Input、Output和Feature项目。 表8-5 Input、Output和Feature项目数据项阐明 数据字段 含义阐明 位 值 名称 0 0 Data 数据:表达项目内容是可更改(读/写)。 1 Constant 常数:表达项目内容是不可更改(只读)。 1 0 Array 数组:报告所有控制状态。如在键盘报表中每一种键在报表中占一位,报表传播所有键状态,可以同步按下任意各种键。 1 Variable 变量:报告作用中控制。如在键盘报表中只报告按下键编号,可以同步按下键数目等于报表计数(Global类项目Report Count) 2 0 Absolute 绝对:表达数值以一种固定值为基准。游戏杆普通是报告绝对数据(游戏杆当前位置)。 1 Relative 相对:表达数据变化以上一种读数为基准。鼠标普通是报告相对数据(鼠标移动位置)。 3 ① 0 No Wrap 如果设立为1表达回转,当数值超过最小值到最大值范畴时将回转,如果最小值是0而最大值是10,超过最大值下一种数值是0。 1 Wrap 4 ① 0 Linear 线形:表达测量数据与报表数据有线性关系。 1 Non-Linear 非线性:表达测量数据与报表数据没有线性关系。 5 ① 0 Preferred 优选状态:表达控制在没有顾客交互时会回到一种特定状态。如按钮就有优选状态,在无操作时保持未按下状态。 1 Non-Preferred 非优选状态:它维持在上一种顾客选取状态。如交替开关就没有优选状态。 6 ① 0 No Null Position 无空状态位置:表达控制永远在传送有效数据。 1 Null State 空状态:表达控制支持一种没有传送有效数据状态。如操纵杆也许具备一种多方向按钮开关,在没有按下时在空状态,这时控制将传送一种在 Logical Minimum与Logical Maximum范畴之外数值来表达它在空状态。 7 ② 0 Non-Volatile 不可变:表达设备只有在主机祈求时才变化数值。当主机传送一种报表并且不要变化不可变项目时,如果该项目是定义成相对(Relative),数值0表达不变化数据,如果不可变项目是定义成绝对(Absolute),超过范畴外数值则表达不变化数据。 1 Volatile 可变:表达设备可以自己变化数值,并不是必要主机传送报表规定给设备来变化数值。例如设备控制面板可以由主机软件传送一种报表给设备,也可以由顾客自己按设备上实际按钮。 8 ① 0 Bit Field 位字段:表达每一种位或是一种字节内一组位可以代表一份数据。 1 Buffered Bytes 缓冲字节:表达信息包括一种或各种字节,缓冲字节报表大小必要是8。 9~31位 保存 注: ①:该位不能应用到数组。 ②:只应用于Output和Feature项目,对于Input项目该位保存。 (2)Collection和End Collection项目 所有报表类型都可以使用Collection与 End Collection项目来将有关Main类型项目构成群组。这两个项目分别用于打开和关闭集合。所有在Collection与End Collection项目之间Main类型项目都是 Collection一某些。 Collection有3种类型:Application、Physical与Logical,其项目数据项值分别为1、0和2。厂商也可以自己定义Collection类型,数据项值为80h~FFh保存给厂商定义。End Collection项目无数据项。 Application Collection包具有共同用途项目或执行单一功能项目。例如键盘开机描述符将键盘按键与LED批示灯数据集合成一种Application Collection。所有报表必要在一种Application Collection内。 Physical Collection包括在一种单一几何点上数据项目,可以将每个位置数据集合成一种 Physical Collection。在设备报告各种传感器位置时候,使用Physical Collection指明不同数据来自不同传感器。 Logical Collection形成一种数据构造,包括由 Collection所连结不同类型项目。例如数据缓冲区内容以及缓冲区内字节数目计数。 (3)Usage Page和Usage项目 Usage page项目数据某些为1~2个字节,当前定义所有都是一种字节。Usage Page定义了惯用设备功能,关于Usage Page(以及其她项目)详细定义内容,可以查阅HID Usage tables(),下表是来自HID Usage tablesUsage Page定义。 表8-6 Usage Page定义 Page ID Page Name 00 Undefined 01 Generic Desktop Controls 02 Simulation Controls 03 VR Controls 04 Sport Controls 05 Game Controls 06 Generic Device Controls 07 Keyboard/Keypad 08 LEDs 09 Button 0A Ordinal 0B Telephony 0C Consumer 0D Digitizer 0E Reserved 0F PID Page 10 Unicode 11-13 Reserved 14 Alphanumeric Display 15-3f Reserved 40 Medical Instruments 41-7F Reserved 80-83 Monitor pages 84-87 Power pages 88-8B Reserved 8C Bar Code Scanner page 8D Scale page 8E Magnetic Stripe Reading (MSR) Devices 8F Reserved Point of Sale pages 90 Camera Control Page 91 Arcade Page 92-FEFF Reserved FF00-FFFF Vendor-defined 关于Usage Page每一种有效定义项,均有一种相应下一级定义,如Usage Page数据项数值为1,则设备定义为Generic Desktop Controls,关于该类设备详细功能可以在HID Usage Tables中查到详细定义。下表是HID Usage Tables中对Generic Desktop Controls设备功能定义。 表8-7 Generic Desktop Controls 用法定义 Usage ID Usage Name Usage Type 参阅HID Usage Tables中有关章节 00 Undefined 01 Pointer CP 4.1 02 Mouse CA 03 Reserved 04 Joystick CA 4.1 05 Game Pad CA 06 Keyboard CA 07 Keypad CA 08 Multi-axis Controller CA 09 Tablet PC System Controls CA 0A-2F Reserved 30 X DV 4.2 31 Y DV 32 Z DV 33 Rx DV 34 Ry DV 35 Rz DV 36 Slider DV 4.3 37 Dial DV 38 Wheel DV 39 Hat switch DV 3A Counted Buffer CL 4.6 3B Byte Count DV 3C Motion Wakeup OSC 4.3 3D Start OOC 3E Select OOC 3F Reserved 40 Vx DV 4.3.1 41 Vy DV 42 Vz DV 43 Vbrx DV 44 Vbry DV 45 Vbrz DV 46 Vno DV 47 Feature Notification DV,DF 4.8 48 Resolution Multiplier DV 49-7F Reserved 80 System Control CA 4.5 81 System Power Down OSC 82 System Sleep OSC 4.5.1 83 System Wake Up OSC 84 System Context Menu OSC 4.5 85 System Main Menu OSC 86 System App Menu OSC 87 System Menu Help OSC 88 System Menu Exit OSC 89 System Menu Select OSC 8A System Menu Right RTC 8B System Menu Left RTC 8C System Menu Up RTC 8D System Menu Down RTC 8E System Cold Restart OSC 4.5.1 8F System Warm Restart OSC 90 D-pad Up OOC 4.7 91 D-pad Down OOC 92 D-pad Right OOC 93 D-pad Left OOC 94-9F Reserved A0 System Dock OSC 4.5.1 A1 System Undock OSC A2 System Setup OSC A3 System Break OSC 4.9 A4 System Debugger Break OSC A5 Application Break OSC A6 Application Debugger Break OSC A7 System Speaker Mute OSC 4.5.1 A8 System Hibernate OSC A9-AF Reserved B0 System Display Invert OSC 4.10 B1 System Display Internal OSC B2 System Display External OSC B3 System Display Both OSC B4 System Display Dual OSC B5 System Display Toggle Int/Ext OSC B6 System Display Swap Primary/Secondary OSC B7 System Display LCD Autoscale OSC B8-FFFF Reserved 用法(Usage)定义了各种各样设备特性,对于Usage Page每一项都定义了惯用各种用法。 用法阐明了3种信息,即控制、集合和数据。控制阐明设备状态,如on/off、Enable/Disable等。集合阐明控制和数据组合关系。 上表中用法类型(Usage Type)描述了应用程序如何解决由Main类型项目生成数据,详细定义和详细阐明请参阅HID Usage Tables。 (4)Report ID项目 Report ID放在信息包中报表数据之前,设备可以支持各种相似类型报表,每一种报表包括不同数据与其特有ID。 在报表描述符中,Report ID项目作用于其后续所有项目,直到遇到下一种Report ID为止。如果报表描述符中没有Report ID项目,默认ID值是0,描述符不能定义一种为0Report ID,输入报表、输出报表与特性报表可以分享同一种Report ID。 在Set_Report和Get_Report祈求传播中,主机在设立事务 wValue字段低字节中指定一种Report ID。在中断传播中如果接口支持一种以上 Report ID,Report ID必要是传送报表中第一种字节。如果接口只支持数值为0默认Report ID,此Report ID不应当在中断传播中随着报表一起传送。 (5)Logical Minimum和Logical Maximum项目 Logical Minimum与 Logical Maximum项目定义报表变量(Variable)或阵列(Array)数据限制范畴,此限制范畴以逻辑单位来表达。例如设备报表一种电流值读数是500mA,而一种单
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服