[maemo-developers] How to simulate "drag" event in N900 for controling other applications
From: 百封 whitewinds at 126.comDate: Mon Jan 17 09:40:16 EET 2011
- Previous message: maemo.org Extras Bug Jar 2011.03
- Next message: AKA-based authentication in Maemo
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I need to simulate the "drag" event in N900 to control other applications. When my application is in background, I would like to sent drag event to the foreground application, for example, sending a "drag from left to right" event to control image browsing application to show the previous image. Currently I implement it using following code.Sometimes, it worked. However, sometimes, the drag event will not be responsed.For example, sometimes, when I simulate a drag event to the image browser, the image switching does not happen. But I can felt that a vibration has been triggered. It seems that the device has received a press event (XTestFakeButtonEvent), but the motion (XTestFakeMotionEvent) is ignored. So does anyone know how to solved this problem? Thanks. voidNokiaTouchX11EventHandler::dragLeft() { qDebug()<<"DragLeft"; Display*dpy=NULL; XEventevent; inti; dpy=XOpenDisplay(NULL); XQueryPointer(dpy,RootWindow(dpy,0), &event.xbutton.root,&event.xbutton.window, &event.xbutton.x_root,&event.xbutton.y_root, &event.xbutton.x,&event.xbutton.y, &event.xbutton.state); XTestFakeButtonEvent(dpy,1,True,CurrentTime); for(i=400;i>=300;i-=50) { XTestFakeMotionEvent(dpy,-1,i, 250,CurrentTime); usleep(10000); XSync(dpy,0); } usleep(10000); XTestFakeButtonEvent(dpy,1,False,CurrentTime); XCloseDisplay(dpy); } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.maemo.org/pipermail/maemo-developers/attachments/20110117/4d40d253/attachment.htm>
- Previous message: maemo.org Extras Bug Jar 2011.03
- Next message: AKA-based authentication in Maemo
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]