其他分享
首页 > 其他分享> > Android触摸屏IDC

Android触摸屏IDC

作者:互联网

我正在努力在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>

我还从Developer选项(Android设置)启用了Pointer Location选项,以便调试此阶段的校准.

设置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的组合 – 任何其他属性的效果(不是单一的) – 原始.*,输出.*,touch.size.*

有谁知道如何在Android中正确校准触摸屏,可以指导我在这个过程中?

谢谢

解决方法:

同样在这里,

但我的校准应用程序没有做任何事情.

过了一会儿,阅读/system/etc/init.sh我发现了以下内容:

        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

只需手动运行这些命令,重新启动并启动校准应用程序

标签:android,touchscreen,input-devices
来源: https://codeday.me/bug/20190708/1403450.html