我正在努力在Android平台上校准触摸屏。
来自供应商0dfc
和产品0001
的USB单触式触摸屏与dmesg
一起检查:
<6>[ 4118.091541] input: USB Touchscreen 0dfc:0001 as /devices/platform/usb20_host/usb2/2-1/2-1.3/2-1.3:1.0/input/input23
我推送Vendor_0dfc_Product_0001.idc
文件/data/system/devices/idc/
(根据android source - IDC
我的触控设备满足单点触控事件的所有要求:
root@android:/ # getevent -il /dev/input/event3
add device 1: /dev/input/event3
bus: 0003
vendor 0dfc
product 0001
version 0202
name: "USB Touchscreen 0dfc:0001"
location: "usb-usb20_host-1.3/input0"
id: ""
version: 1.0.1
events:
KEY (0001): BTN_TOUCH
ABS (0003): ABS_X : value 540, min 0, max 32767, fuzz 0, flat 0, resolution 0
ABS_Y : value 289, min 0, max 32767, fuzz 0, flat 0, resolution 0
input props:
<none>
我还从Pointer Location
启用了Developer options
选项(Android设置),以调试此校准阶段。
设置1
touch.deviceType = touchScreen
通过此设置( 1 ),触摸屏上的所有手势都会在左上角进行 - 只需几个像素左/右/上/下否关于手势(滑动)。所有触摸屏都能获得活动。所有的手势都是相反的 - 当向左滑动时,指针向右移动;向上滑动时,指针会下降。
设置2
touch.deviceType = pointer
touch.gestureMode = pointer
使用此设置( 2 ),如预期的那样,它显示一个指针,放置在距离最后一个指针设备(鼠标)的位置。触摸屏上的所有手势(无论滑动尺寸)都会像设置 1 一样保持不变 - 每次滑动事件时只移动几个像素,并使用反转轴。
设置3
touch.deviceType = pointer
touch.gestureMode = spots
使用此设置( 3 ),结果与设置 2 相同。我这样做是为了证明正确解释了IDC文件。
在此阶段,您现在可以查看,我有一个工作 IDC文件(设置1 )需要校准设备
我尝试了很多来自其他IDC文件(互联网示例)和android source - IDC - 任何其他财产效果(非单一) - raw.*
, output.*
,touch.size.*
有谁知道如何正确校准Android中的触摸屏,可以指导我完成此过程?
谢谢
答案 0 :(得分:1)
同样在这里,
但我的校准应用程序没有做任何事情。
过了一会儿,阅读/system/etc/init.sh我发现了以下内容: &#34; mkdir -p / data / misc / tscal touch / data / misc / tscal / pointercal chown 1000.1000 / data / misc / tscal / data / misc / tscal / * chmod 775 / data / misc / tscal chmod 664 / data / misc / tscal / pointercal &#34;
只需手动运行这些命令,重新启动并启动校准应用程序