tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。因此这里先编译安装tslib,这样在后面编译Qt的时候才能打包编译进去。
1、确保以下软件已安装
sudo apt-get install automake sudo apt-get install autoconf sudo apt-get install libtool2、下载源文件 http://download.csdn.net/source/3177449
3、解压,配置,安装
tar -zxvf tslib-1.4.tar.gz cd tslib ./autogen.sh echo “ac_cv_func_malloc_0_nonnull=yes” >arm-none-linux-gnueabi.cache ./configure –host=arm-none-linux-gnueabi –cache-file=arm-none-linux-gnueabi.cache –prefix=/usr/local/tslib1.4 make(如遇到错误 undefined reference to `rpl_malloc,解决方法:将config.h.in中的#undef malloc屏蔽)
sudo make install-prefix=/usr/local/tslib1.4是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下
4、打开/usr/local/tslib1.4/etc/ts.conf文件,搜索定位至#module_raw input,把行首的注释符去掉,但要注意行首不要留有空格,即文字是顶格的,不然之后会出现段错误(segmentational fault)。
5、移植至开发板
将安装路径下的整个tslib文件夹,下载至开发板上,我存放的路径为/usr/local6、设置开发板环境变量
vi /etc/profile 添加如下内容:export TSLIB_ROOT=/usr/local/tslib1.4
export TSLIB_TSDEVICE=/dev/input/event0
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib说明:
TSLIB_TSDEVICE——触摸屏设备节点,这个要根据自己开发板的情况填写;
TSLIB_CONFFILE——配置文件名,就是前面复制并修改的ts.conf文件;
TSLIB_PLUGINDIR——插件目录
TSLIB_CALIBFILE——校准的数据文件pointercal。当执行ts_calibrate命令对触摸屏进行校正的时候,会生成一个校准文件,这样在以后使用触摸屏的时候,系统会根据该文件正确判断触点的位置。在这里我把pointercal文件放到temp目录下,因为对于我的系统来说,temp目录是可读写的。如果你选择的pointercal文件所在目录是不可写的,那么是不会生成pointercal文件的,即使执行了ts_calibrate命令,触点的位置也是错误的;
TSLIB_CONSOLEDEVICE——控制台设备文件名;
TSLIB_FBDEVICE——LCD设备节点,也要根据自己开发板的情况填写。
其中,TSLIB_ROOT更换为自己实际存放的路径;
另外,TSLIB_TSDEVICE 和QWS_MOUSE_PROTO这两项需要查看自己的板子的触摸屏设备对应/dev/input/下那个文件7、#source /etc/profile,使配置生效
8、进入/usr/local/tslib1.4/bin,执行触摸屏校准和测试
./ts_calibrate 进行校验 ./ts_test 进行测试免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:tslib1.4 移植 https://www.yhzz.com.cn/a/22092.html