[Interest] QT Touch handling bug
Görling, Per
per.gorling at crosscontrol.com
Fri Nov 17 09:11:55 CET 2017
Hello!
I am not sure how to contact you in the correct way or if I need to subscribe/join
to your organization, before asking questions about QT...
But I have the same problem with the qevdevtouch-handler, as described below.
I found this post, when googling the Net for info on the problem!
My question is, have anyone looked at this and is there a recommended
solution/work-around to solve this issue?
We are currently using the Qt version 5.6.2 and 5.7.1, but have not got around
to test this on the 5.7 version.
We have customers using the 5.6 version and they have the touch-problem...
Any information would be helpful!
The following was found at:
http://lists.qt-project.org/pipermail/development/2016-August/026786.html
Regards
Per
Per Görling
Field Application Engineer
Office: +46(0)21 40 32 18
Cell: +46(0) 702 488 087
Address: CrossControl AB
Varmvalsvägen 13
721 30 Västerås, SWEDEN
www.crosscontrol.com<http://www.crosscontrol.com/>
CrossControl
Making machines smart, safe and productive
Meet us at Agritechnica 2017
you find us in Hall 15, booth K08
FROM: Rob Martens
Mon Aug 8 16:04:10 CEST 2016
I'm relatively sure this problem exposes a bug in qevdevtouchhandler.cpp. I
sometimes get a 0 reported from a touch event when I know the locations
from the driver never included a 0. I hope someone with experience
in QEvdevTouchScreenData::processInputEvent would look at it and see if
this isn't the case.
Thanks,
Rob
Problem Summary
Driver:
FocalTech ft5x06 TouchScreen driver.
ft5x06_ts.c
QT Code:
qevdevtouchhandler.cpp, within libQt5EglDeviceIntegration.so.5.5.0
Configuration:
type A processing (or not B type)
single touch is true
Description of problem:
When QEvdevTouchScreenData::processInputEvent gets the following (see
below) set of events an invalid touch location (always zero) is reported to
the qt Window. You can see below the full output trace (no other events
occurred). When QT is processing the input events the second touch up
reports the y as 0, which is wrong.
The patterns seems to be the following. When QT doesn't get a ABS_Y
location after the last BTN_TOUCH Down, it reports y as 0 which is
incorrect. This always happens when y or x does not change between touches.
So if a user happens to touch in the same spot (like on a button) the
second click may not register.
Is this a problem with QT not keeping the previous Y or X location and
using that or is it a problem with the driver not reporting the X or Y
location after the touch down event? This is an annoying problem because it
means that on screens button presses are randomly missed.
QEvdevTouchScreenData::processInputEvent EV_KEY, BTN_TOUCH, 1 DOWN ******
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_X, 334
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_Y, 174
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_PRESSURE, 100
QEvdevTouchScreenData::processInputEvent EV_SYN, SYN_REPORT, 0
QEvdevTouchScreenData::addTouchPoint tp.rawPositions.append(QPointF(334,
174));
QEvdevTouchScreenData::processInputEvent reportPoints()
QWindowSystemInterface::handleTouchEvent m_touchPoints.count()=1 1
x=0.695833 y=0.639706
QEvdevTouchScreenData::processInputEvent EV_KEY, BTN_TOUCH, 0 UP
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_PRESSURE, 0
QEvdevTouchScreenData::processInputEvent EV_SYN, SYN_REPORT, 0
QEvdevTouchScreenData::addTouchPoint tp.rawPositions.append(QPointF(334,
174));
QEvdevTouchScreenData::processInputEvent reportPoints()
QWindowSystemInterface::handleTouchEvent m_touchPoints.count()=1 1
x=0.695833 y=0.639706
QEvdevTouchScreenData::processInputEvent EV_KEY, BTN_TOUCH, 1 DOWN
***************
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_X, 336
>>>>>>>>>>>>>>>>>>>>>>>>>> NOTICE Y not reported because it is the same
location as before
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_PRESSURE, 100
QEvdevTouchScreenData::processInputEvent EV_SYN, SYN_REPORT, 0
QEvdevTouchScreenData::addTouchPoint tp.rawPositions.append(QPointF(336, 0
));
QEvdevTouchScreenData::processInputEvent reportPoints()
QWindowSystemInterface::handleTouchEvent m_touchPoints.count()=1 1 0.700000
0.000000
QEvdevTouchScreenData::processInputEvent EV_KEY, BTN_TOUCH, 0 UP
QEvdevTouchScreenData::processInputEvent EV_ABS, ABS_PRESSURE, 0
QEvdevTouchScreenData::processInputEvent EV_SYN, SYN_REPORT, 0
QEvdevTouchScreenData::addTouchPoint tp.rawPositions.append(QPointF(336, 0
));
QWindowSystemInterface::handleTouchEvent m_touchPoints.count()=1 1
x=0.700000 y=0.000000
DTS for ft5x06
dts
ft5x06_ts at 38<http://lists.qt-project.org/mailman/listinfo/development> {
compatible = "focaltech,5x06";
reg = <0x38>;
focaltech,family-id = <0x55>;
pinctrl-names = "default";
pinctrl-0 = <&ctw6120_pins>;
interrupt-parent = <&gpio0>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
vdd-supply = <&touch_3v3_regulator>;
vcc_i2c-supply = <&touch_3v3_regulator>;
focaltech,irq-gpio = <&gpio0 3 0x00>;
focaltech,display-coords = <0 0 480 272>;
focaltech,name = "ft6x06";
focaltech,no-force-update;
focaltech,group-id = <1>;
focaltech,hard-reset-delay-ms = <20>;
focaltech,soft-reset-delay-ms = <150>;
focaltech,num-max-touches = <1>;
focaltech,fw-name = "ft_8610_qrd_fw.bin";
focaltech,fw-delay-aa-ms = <100>;
focaltech,fw-delay-55-ms = <30>;
focaltech,fw-upgrade-id1 = <0x79>;
focaltech,fw-upgrade-id2 = <0x08>;
focaltech,fw-delay-readid-ms = <10>;
focaltech,fw-delay-era-flsh-ms = <2000>;
focaltech,fw-auto-cal;
//focaltech,mirror_h;
//focaltech,mirror_v;
};
--
Rob Martens
________________________________
Actuant Corporation Email Notice
This message is intended only for the use of the Addressee and may contain information that is PRIVILEGED and/or CONFIDENTIAL.
This email is intended only for the personal and confidential use of the recipient(s) named above. If the reader of this email is not an intended recipient, you have received this email in error and any review, dissemination, distribution or copying is strictly prohibited.
If you have received this email in error, please notify the sender immediately by return mail and permanently delete the copy you received.
Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20171117/5e7de68c/attachment.html>
More information about the Interest
mailing list