- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hid的报告描述符
hid的报告描述符
USB_HID报告及报告描述符_入门简介
USB HID报告及报告描述符简介
USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告。输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是一个数据包,里面包含的是所要传送的数据。输入报告是通过中断输入端点输入的,而输出报告有点区别,当没有中断输出端点时,可以通过控制输出端点0发送,当有中断输出端点时,通过中断输出端点发出。
而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。通过它,USB HOST可以分析出报告里面的数据所表示的意思。它通过控制输入端点0返回,主机使用获取报告描述符命令来获取报告描述符,注意这个请求是发送到接口的,而不是到设备。一个报告描述符可以描述多个报告,不同的报告通过报告ID来识别,报告ID在报告最前面,即第一个字节。当报告描述符中没有规定报告ID时,报告中就没有ID字段,开始就是数据。更详细的说明请参看USB HID协议。USB报告描述符可以通过使用HID Descriptor tool来生成,这个工具可以网上下载。
下面通过由HID Descriptor tool生成的USB鼠标和USB键盘来说明一下报告描述符和报告。
code char KeyBoardReportDescriptor[63] = { //表示用途页为通用桌面设备
0x05, 0x01, // USAGE_PAGE (Generic Desktop) //表示用途为键盘
0x09, 0x06, // USAGE (Keyboard)
//表示应用集合,必须要以END_COLLECTION来结束它,见最后的END_COLLECTION 0xa1, 0x01, // COLLECTION (Application)
//表示用途页为按键
0x05, 0x07, //USAGE_PAGE (Keyboard) //用途最小值,这里为左ctrl键
0x19, 0xe0, //USAGE_MINIMUM (Keyboard LeftControl) //用途最大值,这里为右GUI键,即window键
0x29, 0xe7, //USAGE_MAXIMUM (Keyboard Right GUI) //逻辑最小值为0
0x15, 0x00, //LOGICAL_MINIMUM (0) //逻辑最大值为1
0x25, 0x01, //LOGICAL_MAXIMUM (1)
//报告大小(即这个字段的宽度)为1bit,所以前面的逻辑最小值为0,逻辑最大值为1 0x75, 0x01, //REPORT_SIZE (1) //报告的个数为8,即总共有8个bits
0x95, 0x08, //REPORT_COUNT (8)
//输入用,变量,值,绝对值。像键盘这类一般报告绝对值, //而鼠标移动这样的则报告相对值,表示鼠标移动多少 0x81, 0x02, //INPUT (Data,Var,Abs)
//上面这这几项描述了一个输入用的字段,总共为8个bits,每个bit表示一个按键
//分别从左ctrl键到右GUI键。这8个bits刚好构成一个字节,它位于报告的第一个字节。 //它的最低位,即bit-0对应着左ctrl键,如果返回的数据该位为1,则表示左ctrl键被按下,
//否则,左ctrl键没有按下。最高位,即bit-7表示右GUI键的按下情况。中间的几个位, //需要根据HID协议中规定的用途页表(HID Usage Tables)来确定。这里通常用来表示 //特殊键,例如ctrl,shift,del键等
//这样的数据段个数为1
0x95, 0x01, //REPORT_COUNT (1) //每个段长度为8bits
0x75, 0x08, //REPORT_SIZE (8) //输入用,常量,值,绝对值
0x81, 0x03, //INPUT (Cnst,Var,Abs)
//上面这8个bit是常量,设备必须返回0
//这样的数据段个数为5
0x95, 0x05, //REPORT_COUNT (5) //每个段大小为1bit
0x75, 0x01, //REPORT_SIZE (1)
//用途是LED,即用来控制键盘上的LED用的0x02, //OUTPUT (Data,Var,Abs) //这样的数据段个数为1
0x95, 0x01, //REPORT_COUNT (1) //每个段大小为3bits
0x75, 0x03,
您可能关注的文档
- gis总体设计报告的构成和内容.doc
- gis软件需求分析报告.doc
- gjb-z,170标准化工作报告.doc
- gjb841-90故障报告,分析和纠正措施系统.doc
- glii,led报告.doc
- gmp检查缺陷分类和检查报告.doc
- gtk,简单聊天界面报告.doc
- h3cte,排错报告.doc
- flash动画设计报告(共9篇).doc
- hnd经济学导论报告.doc
- 广东省汕头市潮南区陈店实验学校2024-2025学年七年级9月月考语文试题.docx
- 6《狼牙山五壮士》课件.pptx
- 陕西省延安市志丹县2024-2025学年九年级上学期9月月考物理试题.docx
- 13精卫填海 课件.pptx
- 贵州省铜仁市玉屏侗族自治县2022-2023学年五年级上学期期末数学试卷.docx
- 北京市广渠门中学2024-2025学年高二上学期9月检测+化学试题(无答案).docx
- 云南省昆明市嵩明县2023-2024学年八年级上学期期末语文试题.docx
- 天津市西青区当城中学2024-2025学年九年级上学期9月质量检测道德与法治试题.docx
- 陕西省咸阳市秦都中学2024-2025学年九年级上学期9月月考道德与法治试题.docx
- 广东省深圳市龙岗区百合外国语学校2023-2024学年七年级上学期期中考试语文试卷.docx
最近下载
- 山东省济宁市嘉祥县2022-2023学年九年级上学期10月月考化学试卷含答案.docx VIP
- 2024年中国华能集团限公司校园招聘【高频考点汇总500题】模拟卷及参考答案详解.docx
- 六年级上册数学人教版《圆》单元整体教学设计(课件).pptx
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf
- 山东省济宁市嘉祥县第四中学2020-2021学年九年级上学期10月月考化学试题.docx VIP
- 柠檬酸固体废弃物――石膏渣的综合利用.pdf
- 氧气吸入的并发症及预防.pptx VIP
- 继发性甲状旁腺功能亢进的护理PPT【27页】.pptx VIP
- 人生的短暂讲章.pptx
- 时间都去哪了钢琴谱五线谱.pdf
文档评论(0)