免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1905 | 回复: 0
打印 上一主题 下一主题

关于QT3加入触摸屏的.读取触摸屏数值滞后一个点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-10 09:49 |只看该作者 |倒序浏览
问题是这样的:qt3中,读取触摸屏数值时,一次触摸的最后一个消息即press=0的消息会到下一次读取时才能读到.就是QT3中读取

触摸屏滞后了最后一点.下面是详细描述.

我自己写了个触摸屏驱动.将得到的数值送给输入层.创建了一个/dev/input/event0的设备结点.

当手触摸屏幕的时候,驱动会读取坐标和压力传给event0.在手放开的时候,会送出最后一个坐标以及Press=0的数值.

我用TSLIB来做检验程序.经过五点校验后,运行ts_test来看结果.这个时候一切都是正常的.查看调试信息,一次触摸的最后

打印出来的数值是坐标+press=0.一切正常

然后修改QT3中触摸类读取坐标的方法.用ts_read来得到数值.将触摸屏类编译进去QT.编译通过.然后自己写了个测试程序.

是来接收mousePressEvent和mouseReleaseEvent事件.结果发现,第一次触摸的时候,有出生mousePressEvent.手放开的时候

却没产生mouseReleaseEvent事件.等到第二次触摸的时候,发现先先后出生了mouseReleaseEvent和mousePressEvent事件.

第三次触摸时,同样也是出生了mouseReleaseEvent和mousePressEvent.通过调试信息,发现第一次触摸时候,没有读取最后的

一个坐标即Press=0的数值.而是在第二次触摸时候,才读取它..也就是说,读取触摸屏消息滞后了最后一个点...

可是我单纯的运行ts_read的时候,发现每次触摸结束最后一个点都会读取出来.可是在QT里,就会滞后了最后一个点.

这个问题太困惑我了...请大家帮忙想想.谢谢!

补充说明下

由于要加入手写功能.所以在触摸的时候,数值发送的消息为200/秒...我把速度降低后,还是同样的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP