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 controllerSoftware:
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/includeEnvironment 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 linearProblem:
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=480I have not nailed down which exact line fixed it but I have a feeling the QWS_DISPLAY is the one.