1、下载tslib-1.4.tar.gz

https://www.softool.cn/blog-297.html

2、解压安装tslib

# tar -zxvf tslib-1.4.tar.gz
# cd tslib

# ./autogen.sh
echo "ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache

# ./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no --prefix=/usr/local/tslib

# make

# make install

说明:
(1) “ac_cv_func_malloc_0” 其中的0是数字0
(2) /usr/local/tslib表示tslib安装后的路径

3、修改ts.conf内容

# vi /usr/local/tslib/etc/ts.conf

    module_raw input
    module pthres pmin=1
    module variance delta=30
    module dejitter delta=100
    module linear

然后将整个tslib文件夹,下载到开发板的对应路径下(/usr/local)。

4、开发板配置环境变量

通过超级终端:

# vi /etc/profile

添加如下内容(绿色):

export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0    指定触屏设备
export TSLIB_CALIBFILE=/etc/pointercal    指定触摸屏校准文件 pintercal 的存放位置
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf    指定 TSLIB 配置文件的位置
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts    指定触摸屏插件所在路径
export TSLIB_FBDEVICE=/dev/fb0    指定帧缓冲设备
export TSLIB_CONSOLEDEVICE=none    设定控制台设备为 none ,否则默认为 /dev/tty ,这样可以避免出现“ open consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的错误
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
  • TSLIB_ROOT 更换为自己实际存放的路径;
  • TSLIB_TSDEVICE 和 QWS_MOUSE_PROTO 这两项需要查看自己的板子的触摸屏设备对应/dev/input/下那个文件
  • 要确保在 /dev/input/ 目录下有event0设备文件,在 /dev/ 目录下有fb0设备文件,如果没有,在执行下面./ts_calibrate 的时候,会报出“open *: No such file or directory ”的错误,这时,我们需要手动创建设备文件:
    # mknod /dev/input/event0 c 13 64
    # mknod /dev/fb0 c 29 0

5、执行测试命令

重启开发板,在 /usr/local/tslib/bin 目录下,输入./ts_calibrate,出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。

./autogen.sh: 4: autoreconf: not found

是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装 automake 工具, (ubuntu 8.04)用下面的命令安装好就可以了:

sudo apt-get install autoconf automake libtool

来源:
作者:Crazy_bear
链接:http://blog.chinaunix.net/uid-27661165-id-3424836.html