前言
首先因为开发板的出厂程序已经移植了QT5.12.8,但是缺少tslib库对于触摸屏的支持,因此主要工作就是把tslib插件移植上去。
tslib是一个专门用于嵌入式系统的输入设备处理库,主要用于处理触摸屏输入事件。它是在Linux上为嵌入式系统提供触摸屏支持的库,针对触摸屏的特殊需求进行了优化。
移植过程
1. 获取 tslib 的源码,git 地址为 https://github.com/kergoth/tslib ,然后拷贝到ubuntu虚拟机上用交叉编译工具编译
2. 编译完成后,将它压缩后拷贝到开发板上,解压到/usr/lib目录下
3. 配置tslib的环境变量,在/etc/profile中添加
export TSLIB_ROOT=/usr/lib/arm-tslib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so
#QT_QPA_GENERIC_PLUGINS用于指定Qt平台插件的路径,指定tslib插件来处理触摸屏输入
#/dev/input/event1为触摸屏输入设备路径
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1
完成上述步骤后,运行qt程序后触摸屏能够正常工作