tslib库的移植与使用
tslib 是一个开源的第三方库,用于触摸屏性能调试,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。最新版本的 tslib 已经支持了多点电容触摸屏,因此可以通过 tslib来直观的测试多点电容触摸屏驱动。本文基于电容触摸屏中介绍的触摸屏驱动进行 tslib 库的移植与测试
1. tslib库的移植
- Ubuntu 工具安装:防止编译 tslib 过程中出错
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
- 获取 tslib 源码:源码下载完成后,将压缩包拷贝到Ubuntu中解压
tar -vxjf tslib-1.21.tar.bz2
- 编译 tslib:在 /home/andyxi/linux/tool 目录下创建 “tslib” 的目录存放编译结果
cd tslib-1.21/ //进入 tslib 源码目录
./autogen.sh
./configure --host=arm-linux-gnueabihf
--prefix=/home/andyxi/linux/tool/tslib
make //编译
make install //安装
“- -host” 参数用于指定编译器;"- -prefix" 参数用于指定编译完后的 tslib 文件安装到哪里
完成后 tslib 目录下有五个文件夹:bin(可执行文件)、etc(配置文件)、lib(库文件)、include、share,将 tslib 目录下的所有文件拷贝至开发板的跟文件系统中
sudo cp * -rf /home/andyxi/linux/nfs/rootfs
- 配置 tslib
打开 /etc/ts.conf 文件,删除下面语句前面的注释符号 “#”
module_raw input
打开/etc/profile 文件,在里面加入如下内容
export TSLIB_TSDEVICE=/dev/input/event1 #触摸设备文件,按实际情况配置
export TSLIB_CALIBFILE=/etc/pointercal #校准文件,保存屏幕校准结果
export TSLIB_CONFFILE=/etc/ts.conf #触摸配置文件,移植tslib生成
export TSLIB_PLUGINDIR=/lib/ts #tslib插件目录位置
export TSLIB_CONSOLEDEVICE=none #控制台设置,此处不设置
export TSLIB_FBDEVICE=/dev/fb0 #FB屏幕设备文件,按实际情况配置
2. tslib库的使用
根据上一章节移植并配置好 tslib 后,就可以进行测试了
- 电容屏可不用校准,若是电阻屏就要先进行校准。校准命令如下
ts_calibrate //校准完成如果不满意,可直接删除/etc/pointercal文件
- 使用如下命令,测试触摸屏工作是否正常,多点触摸是否有效
ts_test_mt
以上命令会打开一个触摸测试界面,有 Drag 拖拽按钮、Draw 绘制按钮、Quit 推出按钮,根据需要点击相应按钮测试即可