当触摸不准确时,需要修改/etc/udev/rules.d/touchscreen.rules文件。该文件是校准参数的存储位置。默认参数支持我们的7英寸MIPI DSI屏幕。在前面添加“#”注释,如下图。
#子系统=='输入',内核=='事件[0-9]*',ENV {id_input_touchScreen}=='1',ENV {libinput_calibration_matrix}='2.3617511 -0.023618 1.009202 0.000000-3.000000 0.995000'
修改完成后,重启开发板。如果使用电容屏,一般不需要校准,重启后即可直接使用。如果使用电阻屏,则需要通过以下命令修改weston-touch-calibrator。执行该命令之前,需要修改/etc/xdg/weston/weston.ini文件。找到[libinput]后,取消注释#,如下所示。
[库输入]
# 取消下面的注释以启用触摸屏校准器(weston-touch-calibrator)
touchscreen_calibrator=true
calibration_helper=/bin/weston-calibration-helper.sh
重新启动桌面:
/etc/init.d/S50launcherstop
/etc/init.d/S50launcherstart
然后执行weston-touch-calibrator命令进行测试,点击屏幕上的“+”即可获取屏幕的校准参数。
韦斯顿触摸校准器
获取校准参数“-0.000121-0.956017 0.980913 1.010802 0.014924 -0.028297”后,填写到/etc/udev/rules.d/touchscreen.rules文件中,修改如下:
SUBSYSTEM=='输入',KERNEL=='事件[0-9]*',ENV{ID_INPUT_TOUCHSCREEN}=='1',ENV{LIBINPUT_CALIBRATION_MATRIX}='-0.000121 -0.956017 0.980913 1.0108020.014924 -0.028297 '
最后重新启动。