目录
立创泰山派MIPI_800x1280分辨率电容触摸屏校准流程
立创泰山派MIPI_800x1280分辨率电容触摸屏校准流程
在使用泰山派RK3566开发板点亮MIPI屏并且适配触摸屏的驱动后,发现用手触摸屏幕时鼠标指示的位置与手触摸的位置不一致。具体是以屏幕的中心点呈中心对称显示,即手触摸位置为左下方,鼠标指示的位置在右上方。手触摸位置为左上方时,鼠标指示的位置则在右下方。以下简要介绍下触摸屏的校准流程。
开发环境
泰山派RK3566开发板、800x1280分辨率MIPI屏(31PIN触摸屏总成)、Ubuntu18.04主机
一、安装软件工具
sudo apt-get update sudo apt-get install xinput-calibrator sudo apt-get install xinput
其中: xinput-calibrator为触摸屏校准工具。 xinput为屏幕映射工具。
二、查看触摸设备列表
连接好电阻触摸屏设备,使用以下命令查看触摸设备列表:
xinput_calibrator --list
我这里只有一个触摸屏,屏幕上会输出:
Device "goodix-ts" id=13
这里输出的id=13,每次重启后显示的id号可能不一样,一个id就代表一个触摸设备
三、开始触摸屏校准
首先,使用以下命令进行电阻屏校准: 单个触摸设备:
xinput_calibrator
如果有多个触摸设备则使用以下命令进行校准:
xinput_calibrator -v --device <device name or id>
其中: --device 用来指定触摸设备。 device name 就是前面使用xinput_calibrator --list指令打印出的Device后的字符串。 对于我使用的触摸屏就是"goodix-ts"。(带双引号) id 就是前面使用xinput_calibrator --list指令打印出的id号。 我使用的触摸屏设备id为13。
执行完以上命令后,触摸屏会在左上、右上、左下、右下依次显示四个十字架,按顺序点击屏幕上出现的十字架即可。按顺序点击完四次十字架后会在屏幕上生成相关的校准操作信息。主要信息如下:
Section "InputClass" Identifier "calibration" MatchProduct "goodix-ts" Option "MinX" "66027" Option "MaxX" "-1147" Option "MinY" "64929" Option "MaxY" "-60" Option "SwapXY" "0" # unless it was already set to 1 Option "InvertX" "0" # unless it was already set Option "InvertY" "0" # unless it was already set EndSection
按照上面输出的信息,执行以下命令:(切换到配置文件所在目录下,并新建配置文件)
cd /etc/X11/xorg.conf.d/
touch 99-calibration.conf
将之前屏幕上输出的校准配置信息拷贝到新建文件99-calibration.conf中。(每个人的校准信息可能不同,按照实际的来就行)
四、按照触摸显示来修改校准文件
由于我使用的触摸屏在触摸时具体是以屏幕的中心点呈中心对称显示,即手触摸位置为左下方,鼠标指示的位置在右上方。手触摸位置为左上方时,鼠标指示的位置则在右下方。 因此在之前的/etc/X11/xorg.conf.d/99-calibration.conf配置文件下需添加以下内容:
Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"
最后,我的触摸屏校准文件为:
Section "InputClass" Identifier "calibration" MatchProduct "goodix-ts" Option "MinX" "66027" Option "MaxX" "-1147" Option "MinY" "64929" Option "MaxY" "-60" Option "SwapXY" "0" # unless it was already set to 1 Option "InvertX" "0" # unless it was already set Option "InvertY" "0" # unless it was already set Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1" EndSection
五、补充
1、以上校准触摸屏显示的方式不仅仅适用于我当前使用的MIPI_800X1280分辨率的屏幕,其他类型的屏幕操作也是类似的。 2、部分发行版的校准文件的路径不是在/etc/X11/xorg.d/目录下,而是在/usr/share/X11/xorg.conf.d/目录下,这个需要按照自己的具体情况来操作。 3、以上的触摸屏校准方式在需要进行屏幕旋转操作时流程也是一样的。比如屏幕正常显示时,触摸指示正常,现在需要让屏幕顺时针旋转180度进行显示,当屏幕旋转180度后,触摸的位置和鼠标指示的位置就是呈中心对称的。此时就可以按照上面的流程进行校准操作。 4、关于设置屏幕旋转180度显示的操作,可以使用xrandr进行。 xrandr -o normal #正常显示 xrandr -o inverted #屏幕旋转180度
完结。。。