基于tslib的触摸屏,出现怪异的现在,不知道什么地方出问题了,请大家帮忙

wuliaodewutan 2010-07-31 08:38:37
tslib-1.4终于移植成功了,他下面的几个测试程序(ts_calibrate等)能在开发板上正常运行,但是当我把一个简单的qt程序hello world交叉编译下载到板子上后,触摸屏上能显示界面但不能移动光标,同时还提示:
Couldnt load module pthres
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory'
Please check your tslib installation!

我在/etc/profile中的设置如下:
export TSLIB_ROOT=/tslib
export TSLIB_TSDEVICE=/dev/event0
export set TSLIB_TSDEVICE=/dev/event0
export set TSLIB_CONFFILE=/tslib/etc/ts.conf
export set TSLIB_PLUGINDIR=/tslib/lib/ts
export POINTERCAL_FILE=/etc/pointercal
export set TSLIB_CALIBFILE=/etc/pointercal
#export set HOME=/root
export set QTDIR=/opt/qt
export set QPEDIR=/opt/qtopia
export set KDEDIR=/opt/qt
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFb:mmWidth50:mmHeight65:0"
export QWS_SIZE=320x240
#export TSLIB_TSEVENTTYYPE=H3600i
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/tslib/etc/ts.conf
#export set QWS_KEYBOARD="TTY:/dev/tty1"
export set QWS_MOUSE_PROTO=Tslib:/dev/event0
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_P
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tslib/lib
/tslib/bin/ts_calibrate

我的ts_conf如下:
module_raw input
module pthres
module variance delta=30
module dejitter delta=100
module linear
都是顶格的没有空格
...全文
1043 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
姜博业 2012-08-12
  • 打赏
  • 举报
回复
QTE在linux下使用qvfb方式显示APP。这样的方式使用U***或串口触摸屏要在触摸屏驱动、linux系统环境变量设置、tslib校准等方面做修改,tslib官网的驱动不能直接校准。这个开发过程需要对整个架构都非常熟悉才能调出来,而且触摸屏驱动要触摸屏控制器厂家支持才行,而且支持这种非X11方式的驱动厂家很少。touchqvfb@163.com 有一家的控制器支持,提供完整linux驱动和校准方案,直接安装即可,无需自己开发;支持fedora、ubuntu、debian等常用系统。在工控领域qte图形界面比X-windows下显示图形界面APP要稳定的多,因为多次非法关机后会使linux系统文件损坏导致x11启动不起来,gnome或KDE桌面非常脆弱的,它太庞大了,若是一些环境变量文件损坏了界面就崩溃,而使用QVFB framebuffer方式显示不依赖于系统配置,所以在高可靠领域图形界面APP一般都是使用这种方式显示。
姜博业 2012-08-12
  • 打赏
  • 举报
回复
QTE在linux下使用qvfb方式显示APP。这样的方式使用U***或串口触摸屏要在触摸屏驱动、linux系统环境变量设置、tslib校准等方面做修改,tslib官网的驱动不能直接校准。这个开发过程需要对整个架构都非常熟悉才能调出来,而且触摸屏驱动要触摸屏控制器厂家支持才行,而且支持这种非X11方式的驱动厂家很少。touchqvfb@163.com 有一家的控制器支持,提供完整linux驱动和校准方案,直接安装即可,无需自己开发;支持fedora、ubuntu、debian等常用系统。在工控领域qte图形界面比X-windows下显示图形界面APP要稳定的多,因为多次非法关机后会使linux系统文件损坏导致x11启动不起来,gnome或KDE桌面非常脆弱的,它太庞大了,若是一些环境变量文件损坏了界面就崩溃,而使用QVFB framebuffer方式显示不依赖于系统配置,所以在高可靠领域图形界面APP一般都是使用这种方式显示。
wanghaibing836 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 wuliaodewutan 的回复:]
tslib-1.4终于移植成功了,他下面的几个测试程序(ts_calibrate等)能在开发板上正常运行,但是当我把一个简单的qt程序hello world交叉编译下载到板子上后,触摸屏上能显示界面但不能移动光标,同时还提示:
Couldnt load module pthres
QWSTslibMouseHandlerPrivate: ts_config() failed with erro……
[/Quote]


楼主 我最近在移植TSLIB 。1.3的成功了 ,1.4的怎么都不成功,出现的问题在网上能看到的都解决了。

能分享下你的经验么?

我只要想知道:你的arm-linux-gcc的版本。

tslib 1.4的源文件包

安装过程。
wuliaodewutan 2010-08-01
  • 打赏
  • 举报
回复
谢谢你的建议,我去试一下,晚上再通知你们结果
deep_pro 2010-08-01
  • 打赏
  • 举报
回复
你的上面有-qt-mouse-pc
建议改为
-qt-mouse-tslib
去掉plugin-mouse-tslib

环境变量没看出什么
wuliaodewutan 2010-08-01
  • 打赏
  • 举报
回复
当然deep_pro建议的用hexdump /dev/event0查看是否有输出,结果触摸屏也是正常输出
上面说的:
“tslib是好的,不代表qt跟它能配合好啊,仔细检查所有跟tslib相关的变量“,我觉得说道点子上了,不知道有什么比较关键的环境变量,网上提到的我基本上都试过了,还是不行哈,上面就是我设置的环境变量
wuliaodewutan 2010-08-01
  • 打赏
  • 举报
回复
/dev/event0是我的系统的触摸屏驱动文件,我用cat /dev/event0是有输出的,我在编译qt时用的configure如下:
./configure -prefix /usr/local/qte-arm -debug-and-release -qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake examples -nomake demos -nomake docs -no-cups -iconv -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 8,16,24,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -no-dbus -qt-sql-sqlite -qt-kbd-qvfb -qt-kbd-tty -qt-mouse-pc -no-glib -plugin-mouse-tslib -I/usr/local/tslib1.4/include -L/usr/local/tslib1.4/lib -D__ARM_ARCH_5TEJ__
你们看一下是否有问题阿
wuliaodewutan 2010-08-01
  • 打赏
  • 举报
回复
非常感谢deep_pro我的问题安你的建议已经解决了,我以为-qt-mouse-pc,plugin-mouse-tslib与-qt-mouse-tslib是等同的,这个在qt creator的help中我也看到过,只是没有当回事,呵呵
好了,这个贴可以结题了,也感谢feiyinzilgd的参与,现在分钱了
deep_pro 2010-07-31
  • 打赏
  • 举报
回复
还可能
export TSLIB_TSDEVICE=/dev/event0
export set TSLIB_TSDEVICE=/dev/event0

/dev/event0不是tslib生成的input节点,可以使用 hexdump /dev/event0
读取这个节点,然后点触屏看看有没输出
deep_pro 2010-07-31
  • 打赏
  • 举报
回复
还可能是触屏烧了,检查下ts_calibrate 矫正时显示的坐标,
坏触屏坐标值可能x或y固定

tslib是好的,不代表qt跟它能配合好啊,仔细检查所有跟tslib相关的变量

还有,你移植qt的configure里有关于tslib的配置没
wuliaodewutan 2010-07-31
  • 打赏
  • 举报
回复
可是我能正常运行tslib/bin下的文件如ts_calibrate,并且也在/etc下生成了pointercal文件,如果运行./ts_test光标也能跟着运动,说明触摸屏是已经可以了,
后来我发现:Couldnt load module pthres
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory'
Please check your tslib installation!
不是由tslib引起的,我把上面的export set QT_PLUGIN_PATH=$QTDIR/plugins/
注释掉,就没有这个提示了,但触摸屏在运行qt运用程序的时候还是没有反应
deep_pro 2010-07-31
  • 打赏
  • 举报
回复
QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory'
很可能就是没找到配置文件
export TSLIB_CONFFILE=/tslib/etc/ts.conf 真的存在吗

再不行直接source insight跟进ts_config()看看
谭海燕 2010-07-31
  • 打赏
  • 举报
回复
不要重复发帖哈

linux/Unix这几个板块发其中一个板块就可以了,都看得到。

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧