Cannot calibrate FT5306 based capacitive touch screen on Qt 4.8



  • Hardware:
    Board: SabreLite imx6 - Boundary Devices
    Screen: New Heaven Display - NHD-5.0-800480TF-ATXI#-CTP - 800x480x24 capacitive touch FT5306 controller

    Software:
    kernel 3.0.35
    Qt 4.8.4 - cross compiled
    ./configure -prefix /home/martin/Qt_E/qt-4.8.4_tslib -embedded arm -xplatform qws/linux-mx6-g++ -confirm-license -opensource -little-endian -host-little-endian -qvfb -no-qt3support -v -qt-mouse-tslib -nomake examples -no-webkit -L /usr/lib -I /usr/include

    Environment variables:
    export LD_LIBRARY_PATH=/usr/lib
    export TSLIB_TSEVENTTYPE=INPUT
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export TSLIB_TSDEVICE=/dev/input/event1

    /etc/ts.conf
    module_raw input
    module pthres pmin=1 --> tried removing this line, makes no difference
    module variance delta=30 --> tried removing this line, makes no difference
    module dejitter delta=100 --> tried removing this line, makes no difference
    module linear

    Problem:
    When I run my Qt (with QML QtQuick front) application the mouse pointer does not follow the finger touching the screen. It seems that the pointer movements are amplified by approximately 2. Almost like the touch area is a rectangle in the middle of the screen which is half the x and y of the full screen.

    ts_calibrate and ts_test runs fine and the cursor follows the finger so it is definitely an issue isolated to Qt.

    Any suggestions will be greatly appreciated!



  • UPDATE:
    problem solved by updating env variables as shown below:

    export LD_LIBRARY_PATH=/usr/lib
    export TSLIB_TSEVENTTYPE=INPUT
    export QTDIR=/home/martin/Qt_E/qt-4.8.4_tslib/
    export QWS_MOUSE_PROTO=tslib:/dev/input/event1
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export TSLIB_TSDEVICE=/dev/input/event1
    export QWS_DISPLAY=LinuxFB:mmWidth=800:mmHeight=480

    I have not nailed down which exact line fixed it but I have a feeling the QWS_DISPLAY is the one.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.