- 论坛徽章:
- 0
|
问题是这样的: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/秒...我把速度降低后,还是同样的问题 |
|