HID报表描述符大全及实例分析
+ -

自定义通讯HID报告描述符(hidraw)

2021-09-08 1706 27
您好,该文仅对登录用户可见,请登录访问!
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB中文网出品-HID报告描述符分析工具
HidReportParser.exe工具已经网页化,可访问http://www.usbzh.com/tool/usb.html 在线分析USB-HID报告描述符USB HID规范中有一个很重要的概念,就是HID的报告描述符。本人搞了这么久的HID设备开发,其中一项最头疼的是HID报告描述符的......
Windows下自定义HID设备通讯调试工具HidTool
功能枚举系统中可用的自定义HID设备,并进行数据通讯.在软件界面中显示该HID设备的,VID,PID,产品名称,输入报告长度,输出报告长度,特性报告长度和该输入报告所使用的USAGE_PAGE和USAGE。另外,对于一些用户,也可以指定Windows系统关于HID读取输入报告的缓冲区大小,系统默......
自定义通讯HID报告描述符(hidraw)
在进行HID通讯时,免不了设计自定义HID,这个可以使用系统驱动,实现设备免驱。在应用层可以使用windows提供的HID接口进行数据读写。自定义HID报告描述符10x06,0x00,0xFF, //0 GLOBAL_USAGE_PAGE(Undefined)......
Windows自定义HID设备通讯开发概述
HID设备是USB规范中最早提出并支持的一类通讯设备,常见的键盘、鼠标、游戏手柄都属于HID设备。HID设备一般用于数据量小但实时性要求较高的环境,所以HID设备采用的是USB四种通讯类弄的中中断传传输类型。除了上述描述符的标准的HID设备,HID也提供一种自定义通讯,并由Windows提供驱动,而......
Windows自定义HID API相关函数解释
CreateFile()CreateFile()函数的函数原型为:HANDLE CreateFile( LPCWSTR lpFileName, //指向路径的指针 DWORD dwDesiredAccess, //访问模式(读/写) DWORD dwShareM......
自定义HID的同步操作示例
如本人通过枚举系统中所有的HID设备,通过同步操作来读取HID设备。这里的数据长度都为64字节。#include#include #include #include
自定义HID的异步操作和同步类似,这里有两个关键的区别:第一:CreateFile时wFlagsAndAttributes参数包括FILE_FLAG_OVERLAPPED标识。第二:ReadFile,WriteFile必须的OVERLAPPED参数;异步CreateFile打开HID示例: ......
上午拿到一个USB复合设备,需求是对该复合设备的HID设备进行数据过滤,并增加私有协议。一时手痒,使用BUSHOUND对该复合设备进行数据抓包。由于是对HID设备进行过滤并增加私有协议,所以需要知道该HID设备的数据格式和长度。使用自己开发的HidReportParser工具进行分析,闪退….呃,,......
USB大的规范中两个最麻烦的描述符一个是配置描述符,另一个是HID的报告描述符。一个因与其它描述符相互组合而复杂,一个因其自身的多样性而复杂。但你要问要问USB设备中那个描述符最烦人,答案肯定是配置描述符了。这是因为USB配置描述符不仅包含自己本身,也包含了其它描述符,如常用的接口描述符、端点描述符......
可以通过SET_FEATURE和GET_FEATURE实现自定义HID的Feature通讯。通讯的数据长度可以自行更改,当然也得更改对应的HID描述符里的内容配置描述符中部分HID描述符和端点描述符09 21 01 01 00 01 22 20 00 //HID描述符07 05 81 0......
以前在Windows搞了很多虚拟的USB设备,像麦克风,扬声器,摄像头,键盘,鼠标等USB设备,突估有人说没有自定义HID设备啊。我一想,确实没有,要不搞一个。不过话又说回来,搞这个有什么用了?我想了想可能是为了调试,或者为了软件隔离吧。比如说有一个软件用户不想和我们的软件有任何接口,但之间又必须通......
HID就是人机接口,从使用环境来看,有系统独占设备,如键盘、鼠标,游戏手柄等,另外一部分为自定义HID设备,就是给开发自己使用的。系统独占设备就是不能被别的程序使用,比如我们就不能在应用层打开键盘对的应HID来获取键盘返回的数据。自定义HID设备就是系统只创建节点,我们在应用层可以使用我们自己的通讯......
这里可以参考一个Windows自定义HID接口来实现:HID.h#pragma once#include typedef struct _MOUSE_STRUCT{ UCHAR ReportId;//A0 union { ......
普通的USB设备的设备描述符、配置描述符、字符串等常用的描述符可通过UsbTreeViewer来查看,但对于HID设备,其有一个特别的描述符,那就是报告描述符。报告描述符定义了HID设备的功能和数据格式,相对于普通用USB其它标描述符,相对复杂些。HID报告描述符报告给主机,一般发生在HID设备枚......
头文件chid.h#pragma once#include #include class CHid{private: HANDLE m_hDeivce;public: BOOL OpenHid(USHOR......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!