我会尽可能清晰地描述我的问题。我正在尝试将一个触摸屏设备与Android配合使用。该设备是一个USB设备,在各种操作系统中(Windows,Mac OS X,Ubuntu)都可以正确工作。但在Android 4.0.4中,我似乎遇到了问题。有一些触摸响应,但不正确。触摸屏表现为触控板而不是绝对触摸屏,而且触摸不正确发生。
我一直在查看各种HID描述符,并发现以下描述符可能会导致Android出现问题:
接口0 HID报告描述符鼠标 项标签(值)原始数据 用途页(通用桌面)05 01 使用(鼠标)09 02 集合(应用)A1 01 使用(指针)09 01 集合(物理)A1 00 用途页面(数字化器)05 0D 使用(触摸)09 33 使用最小值(数字化器)19 01 使用最大值(数字化器)29 01 逻辑最小值(0)15 00 逻辑最大值(1)25 01 报告计数(1)95 01 报告大小(1)75 01 输入(数据,变量,绝对,NWrp,Lin,Pref,NNul,Bit)81 02 报告计数(1)95 01 报告大小(7)75 07 输入(Cnst,Ary,Abs)81 01 用途页(通用桌面)05 01 使用(X)09 30 使用(Y)09 31 逻辑最小值(0)15 00 逻辑最大值(1024)26 00 04 物理最小值(16)35 10 物理最大值(1024)46 00 04 单位(无)65 00 报告大小(16)75 10 报告计数(2)95 02 输入(数据,变量,绝对,NWrp,Lin,NPrf,Null,Bit)81 62 结束集合 C0 结束集合
现在看起来该设备报告为数字化器和触摸设备?该设备只是单点触控的“点按”设备,并报告绝对X和Y坐标。我想知道Android是否混淆了这个报告,因此加载了数字化器/平板电脑配置而不是触摸屏配置?这里有一些指针 http://source.android.com/tech/input/touch-devices.html,但我不太明白这些东西在哪里被报告/定义?如有必要,我可以发送更多来自HID报告的信息。
我一直在查看各种HID描述符,并发现以下描述符可能会导致Android出现问题:
接口0 HID报告描述符鼠标 项标签(值)原始数据 用途页(通用桌面)05 01 使用(鼠标)09 02 集合(应用)A1 01 使用(指针)09 01 集合(物理)A1 00 用途页面(数字化器)05 0D 使用(触摸)09 33 使用最小值(数字化器)19 01 使用最大值(数字化器)29 01 逻辑最小值(0)15 00 逻辑最大值(1)25 01 报告计数(1)95 01 报告大小(1)75 01 输入(数据,变量,绝对,NWrp,Lin,Pref,NNul,Bit)81 02 报告计数(1)95 01 报告大小(7)75 07 输入(Cnst,Ary,Abs)81 01 用途页(通用桌面)05 01 使用(X)09 30 使用(Y)09 31 逻辑最小值(0)15 00 逻辑最大值(1024)26 00 04 物理最小值(16)35 10 物理最大值(1024)46 00 04 单位(无)65 00 报告大小(16)75 10 报告计数(2)95 02 输入(数据,变量,绝对,NWrp,Lin,NPrf,Null,Bit)81 62 结束集合 C0 结束集合
现在看起来该设备报告为数字化器和触摸设备?该设备只是单点触控的“点按”设备,并报告绝对X和Y坐标。我想知道Android是否混淆了这个报告,因此加载了数字化器/平板电脑配置而不是触摸屏配置?这里有一些指针 http://source.android.com/tech/input/touch-devices.html,但我不太明白这些东西在哪里被报告/定义?如有必要,我可以发送更多来自HID报告的信息。