介绍
tslib 是一个开源的第三方库,用于触摸屏性能调试,使用电阻屏的时候一般使用 tslib 进行校准。
虽然电容屏不需要校准,但是由于电容屏加工的原因,有的时候其不一定精准,因此有时候也需要进行校准。
最主要的是 tslib 提供了一些其他软件,我们可以通过这些软件来测试触摸屏工作是否正常。
最新版本的 tslib 已经支持了多点电容触摸屏,因此可以通过 tslib 来直观的测试多点电容触摸屏驱动,这个要比观看 eventX 原始数据方便的多。
官网地址:http://www.tslib.org
编译 tslib
下载:Releases · libts/tslib (github.com)
https://github.com/libts/tslib/releases/download/1.24/tslib-1.24.tar.gz
解压:
tar -xvf tslib-1.24.tar.bz2安装相关依赖
sudo apt-get install -y autoconf automake libtool生成 configure 文件
./autogen.sh编译配置
export PATH=/opt/Linux_Workspace/i.MX6ULL/arm_gcc/bin:$PATH
./configure --prefix=/opt/Linux_Workspace/i.MX6ULL/rootfs_nfs_workspace/tslib --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes编译和安装
make -j$(nproc) && make installtslib 移植
在根文件系统中添加环境变量(/etc/profile):
#LIB_CONSOLEDEVICE 表示控制台设置,这里不设置,因此为 none。
export TSLIB_CONSOLEDEVICE=none
# FB 设备,也就是屏幕LCD,根据实际情况配置,LCD屏设备为/dev/fb0
export TSLIB_FBDEVICE=/dev/fb0
# 校准文件,如果进行屏幕校准的话校准结果就保存在这个文件中,
#这里设置校准文件为/etc/pointercal,此文件可以不存在,校准的时候会自动生成。
export TSLIB_CALIBFILE=/etc/pointercal
# 触摸设备文件,这里设置为/dev/input/event1,这个要根据具体情况设置,
#如果你的触摸设备文件为event2那么就应该设置为/dev/input/event2,以此类推。
export TSLIB_TSDEVICE=/dev/input/event1
#tslib的根路径
export T_ROOT=/tslib
# tslib 插件目录位置,目录为/lib/ts。
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
# 触摸配置文件,文件为/etc/ts.conf,此文件在移植 tslib 的时候会生成
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
# 添加 tslib 测试程序路径到PATH
export PATH=$T_ROOT/bin:$PATH
# 添加 tslib 库路径到LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH测试程序
在开发板上执行tslib的校准程序
/tslib/bin/ts_calibrate
注意:必须确保开发板的LCD驱动和触摸屏驱动已经移植成功