HID 设备(鼠标) report descriptor解析


1、报表描述符是报表描述项目(Item)的集合;

2、项目有长项目与短项目,他们的数据格式不同;(HID class definition P36)

短项目数据格式:

3、bTag bType信息表;

4、例如:

/*鼠标*/
0x05, 0x01,    
0x09, 0x02,
0xa1, 0x01,
/*第一个字节数据*/
0x85, HID_MOUSE_ID,  // 4
/*第二个字节数据*/
0x09, 0x01,
0xa1, 0x00,
0x05, 0x09,
0x19, 0x01,
0x29, 0x05,
0x15, 0x00,
0x25, 0x01,
0x95, 0x05,
0x75, 0x01,
0x81, 0x02,
0x95, 0x01,
0x75, 0x03,
0x81, 0x01, //13
/*第三个字节数据*/
0x05, 0x01,
0x09, 0x30,
/*第四个字节数据*/
0x09, 0x31,
/*第五个字节数据*/
0x09, 0x38,
0x15, 0x81,
0x25, 0x7f,
0x75, 0x08,
0x95, 0x03,
0x81, 0x06,
0xc0,
0xc0, 

上面没一行代码都是一个Item,

0x05, 0x01,即0000 01 01,bType:Global;   bTag:Usage Page; Size:01; 第二个0x01为 Usage Page ID表示 Generic Desktop。
时间: 2024-11-02 14:56:52

HID 设备(鼠标) report descriptor解析的相关文章

[BLE--HID]USB HID设备类定义

简述 HID设备,即人机交互设备,常见的有鼠标,键盘,游戏手柄,等等.一般有线方式都是通过USB连线连接到机器设备,作为用户输入设备.在蓝牙技术中,HID设备的接入就是无线的了.不过HID的相关定义当然还是一样的,不然设备驱动,兼容等问题都会有很多麻烦了.蓝牙中有HID, HOGP profile,但是只是在蓝牙数据通信上做的规范,HID具体含义相关,还是需要看USB相关的HID文档. USB设备类? USB设备可以在启动时,或者是在之后的连接状态下,都能够被主机进行配置.USB设备种类是非常多

USB HID Report Descriptor 报告描述符详解

Report descriptors are composed of pieces of information. Each piece of information is called an Item.报告描述符由一些数据片组成.这些数据片被叫做Item.All items have a one-byte prefix that contains the item tag, item type, and item size. 每一个Item都包含一个字节的前缀,这个前缀中包含了三个信息--it

(USB HID) Report Descriptor 理解

在這理整理一下基本 Report Descriptor 對於入門基礎的了解. 在很多文件.Blog都有提到HID report 總共分為3種 : Input.Output.Feature reports. 在這些 In/Out 方向提的是Host的方向(PC),則 Feature是雙向傳輸的. USB的網站找得到一隻小工具主要是幫忙編輯USB HID Report Descriptor用的 如果少了這隻Tool,做為一個USB HID開發的工程師就必須去HID Usage Tables查表填對應

DM816X 实现 USB HID Gadget 鼠标键盘功能

开发环境: 平台: DM8168 内核 :linux 2.6.32 RDK:DVRRDK_04.00.00.03 USB口:DM8168有两个USB口可供选择,因为特殊原因我选择的是USB1,请根据实际需要选择USB口 ,下面的配置会稍微有些不同. 1配置内核 依据参照http://processors.wiki.ti.com/index.php/DM81xx_AM38XX_USB_User_Guide#Introduction http://processors.wiki.ti.com/ind

USB组合设备 Interface Association Descriptor (IAD)

Communication Device Class,简称CDCUSB Compound Device,USB复合设备USB Composite Device,USB组合设备 摘要USB复合设备 Compound Device内嵌Hub和多个Function,每个Function都相当于一个独立的USB外设,有自己的PID/VID.USB组合设备Composite Device内只有一个Function,只有一套PID/VID,通过将不同的interface定义为不同的类来实现多个功能的组合.

[Android] hid设备按键流程简述

hexdump /dev/hidraw0就能看到usbhid设备传输过来的裸流 如:按下Input键 003ae60 0000 0096 8000 006b 0000 0000 0000 0000 * 003aea0 0000 0086 8000 0000 0000 0000 0000 0000 * 前面的估计是码流头(003ae60),还有按下(0096),松开(8000)等信息,识别按键有效信息是(006b) 006b其实是索引值,会在下表中寻找键值发送给Android,如:6b对应186

HIDKomponente使用读写Hid设备一瞥

HIDKomponente使用读写Hid设备一瞥 HIDKomponente 是delphi中使用的第三方Hid控件库,可以检测.控制连接到电脑的Hid设备.一般情况下多为usb设备. HIDKomponente的使用实际上很简单,只是因为第一次使用,遇到些问题.它的demo很丰富,很实用. 要使用HIDKomponente库,只需要安装HidController.dpk,并且在单元中添加引用JvHidControllerClass. 使用示例:     在窗体上放置一个TJvHidContro

stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备

stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备,或者开始时识别,拔出后再插入就没有反应了,就连鼠标U盘也没有反应. 我的问题是,我安装了VMware虚拟机,并进行USB设备的分配,使得虚拟机系统也识别USB设备. 所以,解决问题的办法如下: 在<属性>中选择禁用. 然后把下面的VMware Workstation Server 也禁用了.重启电脑就OK了.

Windows与自定义USB HID设备通信说明.

1 .   所使用的典型 Windows API CreateFile ReadFile WriteFile 以下函数是 DDK 的内容: HidD_SetFeature HidD_GetFeature HidD_SetOutputReport HidD_GetInputReport 其中, CreateFile 用于打开设备: ReadFile . HidD_GetFeature . HidD_GetInputReport 用于设备到主机方向的数据通信: WriteFile . HidD_Se