xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano

1. 校准说明

xfce桌面系统是一个基于X11的较为轻量级的桌面系统,优点是占用系统资源少且运行流畅,通常是debian系统的标配。当然也运行在Ubuntu系统上。

xfce通常采用xorg作为XServer,而xorg通过xinput遍历下面两个目录里面的配置,去管理所有输入设备:

复制代码
/etc/X11/xorg.conf.d/
/usr/share/X11/xorg.conf.d/

其中/usr/share/X11/xorg.conf.d/通常是给用户去管理输入设备的配置。可以通过在此目录下【增加一个配置文件】,对【指定的输入设备】进行管理。例如对某个触摸屏设备的坐标进【缩放】、【旋转】或【翻转】等转换。操作步骤如下:

首先创建一个名为99-touchscreen.conf的配置:

复制代码
sudo vi /usr/share/X11/xorg.conf.d/99-touchscreen.conf

再在里面填入如下内容:

复制代码
Section "InputClass"
    Identifier      "Touchscreen Configuration" #任意描述性名称
    MatchProduct    "ILITEK ILITEK-TP" # 使用 xinput 列表中的名称
    # 或者使用更精确的匹配规则(二选一,这个更可靠)
    # MatchIsTouchscreen "on"
    # MatchUSBID    "222a:0001"

    # 指定驱动,现在普遍使用 libinput
    Driver          "libinput"

    # 针对 libinput 的选项
    Option          "Accel Profile" "flat"    # 触摸屏禁用加速度
    Option          "CalibrationMatrix" "0.765 0.0 0.0 0.0 0.843 0.0 0.0 0.0 1.0" # 校准矩阵
EndSection

* 注意:校准矩阵必须是要9个数据。

然后重启设备:

复制代码
sync
sudo reboot

最后确认就【校准矩阵】是否生效:

复制代码
xinput list-props "ILITEK ILITEK-TP"

* 确认矩阵是否与配置文件内的配置项一致。

另外关于旋转和翻转,可以看往期文章++《xfce桌面旋转说明》++。

1.1 xinput

xinput是xorg用于管理输入设备的工具,上述例子提到的"ILITEK ILITEK-TP"设备名称,就是可以通过xinput命令查看,具体如下:

复制代码
xinput list

关于xinput的更多操作,可以通过加--help参数查看:

复制代码
xinput --help

还有一个基于xinput校准工具:xinput_calibrator。这个工具默认不自带,需要进行联网安装:

复制代码
sudo apt-get update 
sudo apt-get install xinput-calibrator -y

按照下方执行命令,启动程序:

复制代码
xinput_calibrator

根据画面提示【点击触摸屏】进行校准,校准完毕后,终端则会生成一份配置:

把这份配置拷贝到/usr/share/X11/xorg.conf.d/99-touchscreen.conf里面,把原来的替换掉也是一样的效果。

2. 一些导致触摸屏不准的其他情况

在嵌入式平台,特别容易受某些硬件配置的原因,导致触摸屏坐标不正常。

2.1 隐藏的DSI屏幕

DSI屏幕一旦在设备树上被配置,就算物理上没接DSI屏,它也会在配置中默认开启。而USB触摸屏,算上它的坐标,就会产生触摸屏不准确的问题,详情可以查看++《记录一次因隐藏的DSI屏,导致的USB触摸屏坐标异常》++

相关推荐
IT枫斗者枫哥9 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
律宏阔9 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔9 小时前
Windows 禁用联想笔记本所有 Lenovo 后台服务
windows
律宏阔9 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
Y009 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql
灰原喜欢柯南9 小时前
OceanBase 运维管理知识点——OCP 监控、诊断与变更控制
数据库·oceanbase
码农-0049 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
仍然.9 小时前
Redis---事务
数据库·redis
oradh10 小时前
Oracle 执行计划的阅读方法(二叉树结构来理解和阅读)
数据库·oracle·执行计划的阅读方法
SelectDB10 小时前
Doris 向量检索上线踩坑记录:七个排查现场与可直接复制的命令
大数据·数据库·数据分析