资源描述:
《hid的报告描述符》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划hid的报告描述符 USBHID报告及报告描述符简介 USBHID设备是通过报告来给传送数据的,报告有输入报告和输出报告。输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是一个数据包,里面包含的是所要传送的数据。输入报告是通过中断输入端点输入的,而输出报告有点区别,当没有中断输出端点时,可以
2、通过控制输出端点0发送,当有中断输出端点时,通过中断输出端点发出。 而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。通过它,USBHOST可以分析出报告里面的数据所表示的意思。它通过控制输入端点0返回,主机使用获取报告描述符命令来获取报告描述符,注意这个请求是发送到接口的,而不是到设备。一个报告描述符可以描述多个报告,不同的报告通过报告ID来识别,报告ID在报告最前面,即第一个字节。当报告描述符中没有规定报告ID时,报告中就没有ID字段,开始就是数据。更详细的说明请参看USBHID协议。USB报告描述符可以通过使用HIDDescripto
3、rtool来生成,这个工具可以网上下载。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 下面通过由HIDDescriptortool生成的USB鼠标和USB键盘来说明一下报告描述符和报告。 codecharKeyBoardReportDescriptor[63]={//表示用途页为通用桌面设备 0x05,0x01,//USAGE_PAGE(GenericDesk
4、top)//表示用途为键盘 0x09,0x06,//USAGE(Keyboard) //表示应用集合,必须要以END_COLLECTION来结束它,见最后的END_COLLECTION0xa1,0x01,//COLLECTION(Application) //表示用途页为按键 0x05,0x07,//USAGE_PAGE(Keyboard)//用途最小值,这里为左ctrl键 0x19,0xe0,//USAGE_MINIMUM(KeyboardLeftControl)//用途最大值,这里为右GUI键,即window键 0x29,0xe7,//US
5、AGE_MAXIMUM(KeyboardRightGUI)//逻辑最小值为0 0x15,0x00,//LOGICAL_MINIMUM(0)//逻辑最大值为1 0x25,0x01,//LOGICAL_MAXIMUM(1)目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 //报告大小为1bit,所以前面的逻辑最小值为0,逻辑最大值为10x75,0x01,//REPOR
6、T_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键被
7、按下, //否则,左ctrl键没有按下。最高位,即bit-7表示右GUI键的按下情况。中间的几个位,//需要根据HID协议中规定的用途页表来确定。这里通常用来表示//特殊键,例如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目的-通过该培
8、训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可