Important: Please read the Qt Code of Conduct -

Troubleshooting swipe motion: doesn't work as expected

  • p{color:black}. 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.

    p{color:black}. 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.

    p{color:black}. 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.

    p{color:black}. 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.

    p{color:black}. 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.

    p{color:black}. 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.

    p{color:black}. Thanks in advance.

Log in to reply