tslib问题解决

作者:帅得不敢出门    C++哈哈堂群31843264  转载请保留此信息

 

 编译安装tslib就不说了,只说安装到板子上后,运行相应的测试程序出现问题的解决方法

./ts_test -qws
/dev/touchscreen/ucb1x00: No such file or directory

这里只要设置好TSLIB_TSDEVICE环境变量就可以了,下面会提到

 

/dev/input/event0: No such file or directory

解决

mknod /dev/input/event0 c  13 64

 

ioctl VT_OPENQRY: Inappropriate ioctl for device
KDSETMODE: Bad file descriptor

解决

export TSLIB_CONSOLEDEVICE=none

open fbdevice: No such file or directory

解决

export TSLIB_FBDEVICE=/dev/fb0

如果没有fb0则还得手动添加

mknod /dev/fb0 c 29 0

 

ts_test: QWSTslibMouseHandlerPrivate: ts_open() failed with error: 'No such file or dire'

设置好QWS_MOUSE_PROTO环境变量就行

如果ts_test运行通过,其他程序运行还是出现上面错误, 就有些麻烦了,tslib估计得重新编译了,以下有一个patch

Patch

--- tslib.orig/plugins/Makefile.am
+++ tslib/plugins/Makefile.am
@@ -107,15 +107,19 @@  pluginexec_LTLIBRARIES = /

  variance_la_SOURCES    = variance.c
  variance_la_LDFLAGS    = -module $(LTVSN)
+variance_la_LIBADD     = $(top_builddir)/src/libts.la

  dejitter_la_SOURCES    = dejitter.c
  dejitter_la_LDFLAGS    = -module $(LTVSN)
+dejitter_la_LIBADD     = $(top_builddir)/src/libts.la

  linear_la_SOURCES      = linear.c
  linear_la_LDFLAGS      = -module $(LTVSN)
+linear_la_LIBADD       = $(top_builddir)/src/libts.la

  pthres_la_SOURCES      = pthres.c
  pthres_la_LDFLAGS      = -module $(LTVSN)
+pthres_la_LIBADD       = $(top_builddir)/src/libts.la

  # hw access
  corgi_la_SOURCES       = corgi-raw.c

还有一个原因可能是你编译qt时configure的tslib的相关参数设置不对可参考此链接

http://topic.csdn.net/u/20100731/20/3537e309-1ddb-4411-9e68-4972a95fb69b.html

 

ts_calibrate:Couldnt open tslib config file

应正确设置好TSLIB_CONFFILE

 

 

tslib 安装生成的ts.conf也须要修改,否则ts_test也是无法成功运行的

#module_raw input 改成module_raw input

 

上面问题大都是由于环境变量未设置正确

总的方法是在板子上添加如下env   可以加在/et/profile里 

export TSLIB_ROOT=/usr/local/arm/arm412
export TSLIB_TSDEVICE=/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_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

 

TSLIB_ROOT就是tslib编译时安装的目录就是你指定的prefix

TSLIB_TSDEVICE 有的可能是/dev/event0   要是不确定可以查看下板子的dev目录

TSLIB_CONFFILE与QWS_MOUSE_PROTO 的值如果不确定,你可以在板子上find / -name ts.conf 看看设置是否正确

 

 

你可能感兴趣的:(Module,File,input,Path,library,Descriptor)