标题:suspend/resume之后触摸屏不能使用
作者:uytlm
日期:2010-04-02 18:56
内容:
各位大侠,我已经移植成功了触摸屏,我们用的是USB连接的intellipen超声波模块和一个超声波笔,
启动的时候触摸屏是ok的,但是在将整个系统suspend并resume之后触摸屏不能使用,
这时使用ts_read和ts_read_raw又可以看到有数据传来,仅仅是界面上没有反应,猜想是USB在suspend
之后断开了一次,如果之后再使用readMouseData就要重新open一下/dev/ts这个设备啊,求达人见解~
我们使用的是qt-embedded-linux-opensource-src-4.5.3\src\gui\embedded\qmousetslib_qws.cpp
void QWSTslibMouseHandlerPrivate::readMouseData()
{
if (!qt_screen)
return;
//在suspend/resuem之后,是不是这里要重新打开一次设备?
for(;;) {
struct ts_sample sample = lastSample;
bool pressed = wasPressed;
// Fast return if there's no events.
if (!get_sample(&sample))
return;
pressed = (sample.pressure > 0);
// Only return last sample unless there's a press/release event.
while (pressed == wasPressed) {
if (!get_sample(&sample))
break;
pressed = (sample.pressure > 0);
}
// work around missing coordinates on mouse release in raw mode
..
#1 [numen 04-08 11:19]
不用,重新打开
我做过类似的,
#2 [numen 04-08 11:20]
这里不应该动,如果要改,你可以在tslib库里动动,看看是不是那里休眠唤醒以后没有了数据
#3 [uytlm 04-19 22:44]
tslib库里休眠唤醒以后仍然有数据传来啊,使用ts_printf可以看到有数据传来,但是就是界面没有反映,所以想到ts_printf重新open了一次设备