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

相关推荐
袋鼠云数栈2 分钟前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛1392462567318 分钟前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛1392462567344 分钟前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
嘿嘿-661 小时前
Windows 一键使用 GPT-6 Astra:Codex CLI 配置教程
java·人工智能·windows·gpt·chatgpt·web
郝学胜-神的一滴2 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
倔强的石头_3 小时前
事务边界与批量写入:避免长事务、锁等待和日志压力
数据库
努力努力再努力wz3 小时前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
坐吃山猪3 小时前
【多线程】Lock与Condition
大数据·数据库
Lightpwd4 小时前
Spring Boot 多数据源落地:AbstractRoutingDataSource + 注解切面(附源码)
数据库·后端
LabVIEW开发4 小时前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序