Android USB 触摸屏 HID 描述符问题

sep*_*r28 5 usb android touchscreen hid

我会尽力尽可能清楚地描述我的问题。我正在尝试让触摸屏设备与 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
        输入(数据、Var、Abs、NWrp、Lin、Pref、NNul、位) 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
        输入(数据、Var、Abs、NWrp、Lin、NPrf、Null、位) 81 62
    结束收藏C0
结束收藏

现在看起来该设备既是数字化仪又是触摸设备?该设备只是单点触摸“点按”设备,并报告绝对 X 和 Y 坐标。

我想知道 Android 是否会在阅读这份报告时感到困惑,并因此加载数字转换器/平板电脑配置而不是触摸屏配置?这里有一些指针http://source.android.com/tech/input/touch-devices.html,但我真的不明白这些东西在哪里报告/定义?

任何帮助将不胜感激。如有必要,我可以发送 HID 报告中的更多信息。

小智 2

根据我的分析,我给出这个建议。将 X 和 Y 的逻辑最大值与物理最大值相乘。

因子值 = 逻辑最大值/物理最大值

将此 FactorValue 与来自触摸屏的原始坐标相乘,然后尝试发送到 Android。