版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——USBHID键盘报告描述符USBHID键盘报告描述符
最近弄USB驱动,里面的报告描述符晕了我好几天!找了一些资料希望能对大家有帮助~~~~~~~~~~~~~~
HIDScript脚本语言的理解:Globalitem--全局项Mainitem--主项localitem--局部项
对于Main项,parser解释器,将顺序解释集合中的数据,并且,解释器解释完的数据,
将按Main项出现的先后顺序,主要是Input和Output项,顺序拼接生成对应的数据bit位,
解释器将以关键字Collection开始解释并拼接bit位信息,关键字EndCollection将
终止paser解释器的工作,我把关键字Collection和关键字EndCollection叫做\集合\,
这样给他取个名字,以后说明起来也便利些,\集合\里边描述的就是最终生成的由HID硬件设备1次性上发给pc的HID驱动程序的数据流了.在中,(gliethttp)
关键字Collection和关键字EndCollection都是Mainitem主项,对应的控制字分别为:
101000nn和110000nn,假使Collection后边有1个参数数据,那么即为:10100001=0xA1,如Collection(Application)
翻译成控制码后为:0xA1,0x01;0xA1的1表示有1个参数数据,0x01表示Application在HID
协议中规定的索引值为0x01,pc的HID驱动程序在parser解释器中会通过0x01得知,
是对Application进行数据流位生成,就是说HID报告描述符(ReportDescriptor)
所描述的数据流是为了Application使用的,Application在中包含
两种设备:mouse和keyboard,至于Collection(Application)里边描述的是mouse
还是keyboard,将具体的由Usage进一步限定,如:Usage(KeyBoard),也就是说明确
告诉pc的HID驱动程序的paser解释器,接下来的这段信息最终生成出来的bits位数据信息,
将交由pc的HID驱动程序中KeyBoard对应的API函数处理,当然这只是HID硬件设备开发者
给pc的HID驱动程序的paser解释器提供的一个建议值,譬如我们做DDK下的HID驱动二次开发,
那么我们可以很随意,但是HID硬件设备开发者,建议使用的HID驱动程序API接口,最好遵守,
由于HID硬件设备开发者比DDK开发人员更明白送上来的bit数据流的真正物理意义.
Input和Output是用来真正生成bits位流数据域的关键字,他们描述的东西是最终通过
usb总线实实在在发送到pc或者从pc接收的数据位,当然这些bits数据流数据域所代表的意义
以及某段bits位们所代表的意思以及这些bits将交由pc上HID驱动程序的哪一个API接口
来做进一步解析(是mouse还是keyboard),需要其他描述符来描述,譬如前边的Usage就是其中的1个描述符,
假使一个HID设备同时提供2种不同的功能,那么就会分别生成2个bits位流数据域,
每个bits位流数据,将交由不同的驱动解析,譬如,一个keyboard可能还集成了一个附属的鼠标功能,
那么键盘数据信息将由HIDscript脚本描述的keyboard对应bits数据位流传送,mouse数据将由
HIDscript脚本描述的mouse对应bits数据位流传送,但同一个Input管道怎么能传送两个独立的
数据流呢,答案很简单:不能,所以又引入了一个ReportID的概念,ID用来标识多条独立的bits数据流,
pc的HID驱动程序根据ID,将这些独立的bits数据流们路由到相应的API处理函数上去,
进而不同的bits数据流数据最终都能够被自己对应的API驱动函数正确接收并解析处理.
对于2字节、4字节等多字节数据的传输,是按小端模式little-endian进行的.这
些多字节数据的最小值由LogicalMinimum定义,最大值由LogicalMaximum定义,假使两个值均为非负
值,那么bits位流数据就是无符号数,假使没有明确指定,那么作为有符号数处理,另外HID1.1协议不允许传输浮点数据.
硬件开发者应当时刻清除自己写的HIDscript脚本所描述的数据流将来应当由PC上的HID驱动程序
怎么使用,另外对于硬件开发者来说,对于不允许PC驱动修改的bit位数据,HID1.1协议制定者猛烈建议
采用NULL数值,最好不要随便填其他值.
Mainitem--主项当前一共5个:1)Input2)Output3)Feature4)Collection
5)EndCollection
Globalitem--全局项当前一共13个:1)UsagePage
2)LogicalMinimumvar变量或array数组的规律最小值3)LogicalMaximum4)PhysicalMinimum5)PhysicalMaximum
6)UnitExponent单位的指数值,是10的指数7)Unit单位索引号:可以是时间单位、电流单位、电压单位和距离单位等等.8)ReportSize
9)ReportID数据流的ID值设置10)ReportCount11)Push12)Pop
13)Reseved保存
localitem--局部项当前一共11个:
1)Usage定义UagePage下面某个功能item的起始索引值,譬如Keyboard功能,LEDs功能等,
这也告诉pc的HID解释器,Input或Output变量或数组的相应生成数据位用来描述
Usage引用到的那个功能,如:用来描述Keyboard功能或LEDs功能等.2)UsageMinimum定义与array或bitmap关联的usage定义的某个功能下的起始值
Usage作为UagePage的一个子功能索引号,同时Usage自己也有好多子功能,或者
说有好多个子值,这里就是定义这些子值的范围值,之后和用Input或Output生成
bits位数据流,进行相应关联.(可以用多维数组来说明,可能会更明确一点)
如:Gliethttp[5][6][80],Gliethttp为最上层,5就是UsagePage(5),6就是在
前一个基础上Usage(6),当然在HIDDescriptorTool里边6有它的字符串名,即:
Usage(Keyboard),然后80就是Keyboard里边的一个索引取值,查找之后是:
KeyBoardLeftArrow,所以Usage_Minimum(80)就等于Usage_Minimum(KeyBoardLeftArrow)
Usage的顺序先后和ReportCount定义的bits位组的先后顺序依次一一对应,UsageMinimum和
UsageMaximum之间的Usage的索引值也将依次与ReportCount定义的bits位组的先后顺序
依次一一对应上。
3)UsageMaximum定义与array或bitmap关联的usage的终止值4)DesignatorIndex5)DesignatorMinimum6)DesignatorMaximum7)StringIndex8)StringMinimum9)StringMaximum10)Delimiter11)Reserved
loca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东中山市黄圃镇水务事务中心招聘水闸、泵站管理员6人建设考试参考题库及答案解析
- 2026年度“市委书记进校园”佳木斯市急需紧缺专业技术人才引进(第二阶段)建设考试参考题库及答案解析
- 2026云南昆明市第三十中学春季学期教师招聘5人建设考试参考试题及答案解析
- 2026四川雅安市名山区茗投产业集团有限公司招聘财务人员3人建设考试参考试题及答案解析
- 2026广西北海市海城区市场监督管理局招聘协管员1人建设考试备考题库及答案解析
- 2026南方医科大学第七附属医院招聘合同制工作人员34人建设笔试备考题库及答案解析
- 2026重庆消防医院(重庆市消防职业健康中心)招聘3人建设考试参考题库及答案解析
- 2026四川南充市第四人民医院招聘紧缺专业技术人员11人建设考试备考题库及答案解析
- 2026广东清远英德市人民医院(英德市医疗卫生共同体总医院)招聘合同制工作人员24人建设考试备考题库及答案解析
- 2026上海普陀区属国有企业招聘37人建设考试参考试题及答案解析
- 人力资源输送合作协议正规范本2024年
- “沙钢杯”第十一届全国钢铁行业职业技能竞赛(电工)理论试题库-中(多选题)
- 钢铁行业低硫烟气钙基干法脱硫技术规范
- 铁皮棚搭建合同
- 集合间的基本关系高一上数学人教A版(2019)必修第一册
- 六年级语文下册10古诗三首《竹石》公开课一等奖创新教学设计
- 教师礼仪在课堂管理中的应用
- TQGCML 3022-2024 智能空降门规范
- 2024届高考英语阅读理解说明文篇章结构课件
- 维吾尔乐器简介课件
- 《云南省田坝煤矿二号井采矿权出让收益评估报告》
评论
0/150
提交评论