Android 事情:如何校准触摸屏
Android Things: How to calibrate touch screen
如何在 Android Things 运行 或 Raspberry Pi 3 上校准触摸屏?
我有一个带触摸屏的 10" LCD 显示器。它可以工作,但它会在错误的位置记录触摸。要修复它,我需要将 X、Y 坐标缩小约 20%,并应用约10 毫米。为什么要在 Android 事物上这样做?
- 修改Android框架
- 修改linux驱动程序
- 如果控制器支持则更新固件
我习惯了第二种方法。
启动时 Android 从内核读取属性,例如 abs-x、abs-y。触摸控制器的典型分辨率为4096。即控制器returns 0~4095。所以你的面板减少了 20%,范围从 0 到 4096*0.8 ≈ 3277。10 英寸的 10 毫米偏移等于多少像素?例如200,则min-x为200,max-x为3477.
在linux驱动的探测函数中,调用
input_set_abs_params(input_dev, ABS_X, min-x, max-x, 0, 0);
input_set_abs_params(input_dev, ABS_Y, min-y, max-y, 0, 0);
如何在 Android Things 运行 或 Raspberry Pi 3 上校准触摸屏?
我有一个带触摸屏的 10" LCD 显示器。它可以工作,但它会在错误的位置记录触摸。要修复它,我需要将 X、Y 坐标缩小约 20%,并应用约10 毫米。为什么要在 Android 事物上这样做?
- 修改Android框架
- 修改linux驱动程序
- 如果控制器支持则更新固件
我习惯了第二种方法。 启动时 Android 从内核读取属性,例如 abs-x、abs-y。触摸控制器的典型分辨率为4096。即控制器returns 0~4095。所以你的面板减少了 20%,范围从 0 到 4096*0.8 ≈ 3277。10 英寸的 10 毫米偏移等于多少像素?例如200,则min-x为200,max-x为3477.
在linux驱动的探测函数中,调用
input_set_abs_params(input_dev, ABS_X, min-x, max-x, 0, 0);
input_set_abs_params(input_dev, ABS_Y, min-y, max-y, 0, 0);