USB多点触控上报协议详解

阅读: 评论:0

USB多点触控上报协议详解

USB多点触控上报协议详解

USB HID-compliant mouse报点协议解析


本篇文章主要是对usb 多点触控给Windows上报点位时上报的数据解析。至于usb怎样枚举出一个多点触控在这不做解释,网上有很多教程。
1、当你的usb hid设备枚举正常后,你可以使用bus hound看到你的usb 设备里有一个新增的HID-compliant mouse接口。可以通过usbTreeView查看对应的端点,我这里的该接口对应的是端点1。所以上报触摸点时,通过端点1上报就好。
.
2、windows要知道你的触摸状态,必须要知道你有几个点上报,每个点的状态(按下还是松开),每个点对应的id(也就是对应的手指id),每个点的坐标。由上面的端点描述可以看到bInterval = 0x01(1ms),也就是说windows这边时1ms找我们要一次触摸点的坐标,当我们有坐标点更新时就上传坐标点,当没有触摸时,直接NAK就好。
3、数据报文来了。举个例子

012345678910111213
0x020x070x000x000x040x000x040x060x010x000x080x000x080x02
设备 ID第一个点触摸状态手指IDX坐标低8位X坐标高8位Y坐标低8位Y坐标高8位第二点触摸状态手指IDX坐标低8位X坐标高8位Y坐标低8位Y坐标高8位此包中的有效点数
设备ID固定值被按下手指id为0x00X坐标为0x0400计算下来为1024Y坐标为0x0400计算下来为1024被释放手指id为0x01X坐标为0x800计算下来为2048Y坐标为0x0800计算下来为2048有点数为2个

上面的报文(0x02,0x07,0x00,0x00,0x04,0x00,0x04,0x06,0x01,0x00,0x08,0x00,0x08,0x02)的意思就是0号手指被按下,其坐标点为(1024,1024),1号手指被释放,释放的位置坐标点为(2048,2048)。依此类推,如果需要报第三点、第四点等按照上面的格式添加数据就可以了。

本文发布于:2024-02-05 01:51:01,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170721325261929.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多点   详解   协议   触控   USB
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23