Hi folks, I have a strange issue with detecting swipe / drag gestures.
We have two custom designed devices running an ARM processor, Linux 2.6.34 and both have touch panels on top of an LCD display. I built Qt 4.8.0 for this hardware without much difficulty, with no changes to the source code or drivers.
Qt on this platform currently uses TSLIB (the latest as on 2012-01-30, checked out from GIT) to handle touch panel events. I've got most Qt / touch panel features working fine. The Qt libraries are exactly the same on both hardware variants.
The problem : Qt only detects swipe / drag events on one platform and not on the other. I first thought it may be a problem with TSLIB not detecting continuous events, so ran ts_calibrate and ts_print / ts_print_raw. Sure enough, it does keep printing position / pressure data as I swipe or drag on *both* screens. Still, Qt only responds to drag/swipe on one and not on the other.
I also tried disabling TSLIB and using the LinuxTP protocol by changing the QWS_MOUSE_PROTO variable from "tslib:/dev/input/event0" to "linuxtp:/dev/input/event0" but Qt doesn't detect any touch panel events that way.
I can see the same behaviour differences (swipe/drag working on one and not the other platform) on the Qt demo applications in demos/embedded/flickable and fluidlauncher.
Has anyone come across similar behaviour? If so, what did you do to solve it?
Am I missing something in trying to get LinuxTP to work?
Let me know what details will be helpful and I'll post them.
Thanks in advance.
Bookmarks