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触摸屏坐标异常》++

相关推荐
l1t25 分钟前
DuckDB 各版本 tpch 10 查询时间对比
数据库
百事牛科技27 分钟前
如何创建7Z压缩包?Windows下7-Zip操作方法
windows·7-zip
Nebula_g28 分钟前
SpringBoot企业级实战项目—云禾外卖—SpringBoot常用注解解析
java·网络·数据库·spring boot·后端·spring·javase
雨落在了我的手上32 分钟前
MySQL数据库基础(14):JDBC编程
数据库·mysql
草莓熊Lotso35 分钟前
【C++ 基于微服务的即时通讯系统】Elasticsearch 从安装到 C++ 客户端二次封装全落地
linux·网络·数据库·c++·elasticsearch·微服务
kyle~1 小时前
DTO --- 数据封装
数据库·oracle·前后端
池央1 小时前
Windows本地部署Qwen3.8实战:LM Studio、Cherry Studio、远程API与Token鉴权
windows
Nebula_g1 小时前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
太理摆烂哥1 小时前
MySQL数据类型
数据库·mysql