tslib-1.4移植和使用

一、tslib-1.4
    在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

二、编译tslib

1.下载源码

http://ishare.iask.sina.com.cn/f/21567219.html

2.解压源码

#tar zxvf tslib-1.4.tar.gz (注意后缀,后缀tar.gz变了zxvf就得变)

3.配置编译

进入到解压好的tslib目录下:

#./autogen.sh
#./configure --prefix=/usr/local/qte-arm/tslib-1.4 --host=arm-linux  ac_cv_func_malloc_0_nonnull=yes

#make

#make install (将安装到prefix指定的路径,--prefix=/usr/local/qte-arm/tslib-1.4为用户指定的安装路径)

进过上述操作,就可以在/usr/local/qte-arm/tslib-1.4目录下看到相关的应用程序、共享库、配置文件等,这些库和配置文件都是要拷到ARM板的根文件系统中的。

4.移植到开发板 

首先.将tslib安装路径下的文件拷贝到开发板上

tslib安装后里面有:bin ; etc ; include ; lib ;

bin里面的内容是一些测试触摸屏的命令;可以拷贝其内容到开发板上;建议放到开发板的bin目录下

etc里面是这个触摸屏的设置;必须拷贝到开发板上;建议放到开发板的etc目录下

include里面存放的头文件;可以不用拷贝到开发板上

lib库必须拷贝到开发板上;建议放到开发板的lib目录下

然后.设置开发板上的环境变量

export set TSLIB_TSDEVICE=/dev/event0 //触摸屏的设备文件

export set TSLIB_CALIBFILE=/etc/pointercal //触摸屏的校正文件

export set TSLIB_CONFFILE=/etc/ts.conf //触摸屏的配置文件

export set TSLIB_PLUGINDIR=/lib/ts //触摸屏的库文件

这些环境变量必须开机的时候就得设置,所以我们得把这些shell语句放在/etc/profile里面

三、tslib常用接口函数

1.打开触摸屏设备

TSAPI struct tsdev *ts_open(const char *dev_name, int nonblock);

通过dev_name打开开发板的触摸屏设备,触摸屏设备的设备名可以通过 getenv("TSLIB_TSDEVICE")获得

2.配置触摸屏

TSAPI int ts_config(struct tsdev *);

3.读取触摸屏数据

 TSAPI int ts_read(struct tsdev *, struct ts_sample *, int);

读取触摸屏的数据,获得的数据保存在struct ts_sample中

struct ts_sample {
 int  x;
 int  y;
 unsigned int pressure;
 struct timeval tv;
};

4.关闭触摸屏,释放占有的资源

TSAPI int ts_close(struct tsdev *);

所有的这些接口都在tslib源码中的tslib.h里面。

四、示例程序

 示例代码中有详细注解,http://pan.baidu.com/share/link?shareid=330381&uk=101680913


你可能感兴趣的:(tslib-1.4)