Bug 346871 - [regression] Touchscreen touch doesn't work on any panel / taskbar / start menu
Summary: [regression] Touchscreen touch doesn't work on any panel / taskbar / start menu
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager widgets (other bugs)
Version First Reported In: 5.3.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-28 22:43 UTC by Vincent Petry
Modified: 2015-05-16 14:33 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vincent Petry 2015-04-28 22:43:00 UTC
Before I was using 5.2 (actually plasma5-workspace 5.2.99)
I upgraded to 5.3 using openSUSE RPMs (openSUSE Factory with the KF5 repo).



Reproducible: Always

Steps to Reproduce:
Touch the start menu, the task bar or any icon in the system tray, nothing happens.


Actual Results:  
Same action as mouse

Expected Results:  
Nothing happens.
When touching a task bar item though, it just highlights the icon.


This is a regression from 5.2
I know it worked before because I used the touchscreen to reboot the computer after running "zypper dup".

I have a Dell XPS 13 9333 that came with a touchscreen.
Comment 1 Vincent Petry 2015-04-28 22:46:19 UTC
RPM packages installed:
plasma5-workspace-5.3.0-66.1.x86_64
libQt5Core5-5.4.1-2.1.x86_64

Touchscreen kernel module: hid_multitouch
Kernel 3.19.4-1-desktop (was 3.19.3 before the upgrade)

Please note that the touchscreen works in applications like Firefox or Konsole.

Maybe Plasma is trying to be clever with touch events by differentiating them from click events, but it doesn't work properly ?
Comment 2 Eike Hein 2015-04-28 23:01:47 UTC
Kai, David, you have touch devices ...
Comment 3 David Edmundson 2015-04-29 22:07:19 UTC
Working here.

Vincent,
Can you confirm a mouse is working on those plasma parts?

Under system settings, can you see if this app:
 systemsettings-> workspace -> look and feel  works correctly, underneath it uses the same tech as plasma.
Comment 4 Vincent Petry 2015-04-30 07:50:08 UTC
The following works:
- using the laptop touchpad and using tap (for left clik) on any taskbar item
- with a USB trackball I can also properly click on these elements

The problem is only with the touchscreen.
When I tap the taskbar, the pointer "teleports" there but nothing happens.

I also remember that in Plasma 5.2 when I touched a window entry in the task bar, it wouldn't activate the window but show its thumbnail, and only touching the thumbnail would then activate it. I thought that it was maybe by design, having a different workflow for touch devices.

In system settings, touching any element on the touchscreen doesn't do anything:
- dragging the scrollbar doesn't scroll
- touching "Configure" in the toolbar only hovers on it, doesn't click it
- within the "look and feel" section, same problem: whatever I touch only teleports the pointer there but it doesn't react to events.

Now the reason you asked me to try system settings is probably because it is using Qt 5.
I think we're onto something.

I have also installed the ownCloud client 1.8.1~rc1 which ALSO uses Qt 5: in that app, the touchscreen also doesn't work !

So it is very likely to be a regression in Qt 5.4.1
Comment 5 Kai Uwe Broulik 2015-05-01 15:26:42 UTC
I'm running Plasma 5.3 on Qt 5.4.1 and touch is working flawlessly in all of Plasma (Task Manager, etc) as well as widget applications (System Settings, Dolphin, etc)
Comment 6 Kai Uwe Broulik 2015-05-01 15:28:18 UTC
I had the described issue where the cursor would only move but not actually click anything before Qt 5.3.2 was released with this [1] patch, perhaps there's something else broken in the stack somewhere as well with your particular hardware configuration?

[1] https://codereview.qt-project.org/#/c/88361/
Comment 7 Vincent Petry 2015-05-15 17:54:52 UTC
I tried to update the openSUSE packages and make sure that all plasma packages are from the kde frameworks 5 repo, and also that the libqt5 ones are up to date.

S | Name                                | Type    | Version    | Arch   | Repository                    
--+-------------------------------------+---------+------------+--------+-------------------------------
i | libqt5keychain-devel                | package | 0.4-4.4    | x86_64 | isv:ownCloud:community:testing
i | libqt5keychain0                     | package | 0.4.0-1.2  | x86_64 | repo-oss                      
i | kwin5                               | package | 5.3.0-69.2 | x86_64 | kf5                           
i | kwin5-lang                          | package | 5.3.0-69.2 | noarch | kf5                           
i | plasma5-addons                      | package | 5.3.0-41.1 | x86_64 | kf5                           
i | plasma5-addons-kimpanel             | package | 5.3.0-41.1 | x86_64 | kf5                           
i | plasma5-addons-lang                 | package | 5.3.0-41.1 | noarch | kf5                           
i | plasma5-desktop                     | package | 5.3.0-67.1 | x86_64 | kf5                           
i | plasma5-desktop-branding-openSUSE   | package | 13.2-47.1  | x86_64 | kf5                           
i | plasma5-desktop-lang                | package | 5.3.0-67.1 | noarch | kf5                           
i | plasma5-openSUSE                    | package | 13.2-47.1  | x86_64 | kf5                           
i | plasma5-workspace                   | package | 5.3.0-67.3 | x86_64 | kf5                           
i | plasma5-workspace-branding-openSUSE | package | 13.2-47.1  | x86_64 | kf5                           
i | plasma5-workspace-lang              | package | 5.3.0-67.3 | noarch | kf5                           
i | plasma5-workspace-libs              | package | 5.3.0-67.3 | x86_64 | kf5                           
i | plasma5-workspace-wallpapers        | package | 5.3.0-27.1 | noarch | kf5                           
i | libQt5CLucene5                      | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Concurrent-devel              | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Concurrent5                   | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Core-devel                    | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Core5                         | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5DBus-devel                    | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5DBus5                         | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Declarative5                  | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Designer5                     | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5DesignerComponents5           | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Gui-devel                     | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Gui5                          | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Help5                         | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Multimedia5                   | package | 5.4.1-2.1  | x86_64 | repo-oss                      
i | libQt5Network-devel                 | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Network5                      | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5OpenGL-devel                  | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5OpenGL5                       | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5PlatformHeaders-devel         | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Positioning5                  | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5PrintSupport-devel            | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5PrintSupport5                 | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Script5                       | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Sensors5                      | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Sensors5-imports              | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Sql-devel                     | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Sql5                          | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Sql5-mysql                    | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Sql5-sqlite                   | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Svg5                          | package | 5.4.1-2.1  | x86_64 | repo-oss                      
i | libQt5Test-devel                    | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Test5                         | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5WebChannel5                   | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5WebChannel5-imports           | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5WebKit5                       | package | 5.4.1-3.2  | x86_64 | repo-oss                      
i | libQt5WebKit5-devel                 | package | 5.4.1-3.2  | x86_64 | repo-oss                      
i | libQt5WebKit5-imports               | package | 5.4.1-3.2  | x86_64 | repo-oss                      
i | libQt5WebKitWidgets-devel           | package | 5.4.1-3.2  | x86_64 | repo-oss                      
i | libQt5WebKitWidgets5                | package | 5.4.1-3.2  | x86_64 | repo-oss                      
i | libQt5Widgets-devel                 | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Widgets5                      | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5X11Extras5                    | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Xml-devel                     | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5Xml5                          | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libQt5XmlPatterns5                  | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-linguist                     | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-linguist-devel               | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtbase-common-devel          | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libqt5-qtbase-devel                 | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libqt5-qtbase-doc                   | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libqt5-qtbase-platformtheme-gtk2    | package | 5.4.1-2.2  | x86_64 | repo-oss                      
i | libqt5-qtdeclarative-devel          | package | 5.4.1-2.1  | x86_64 | repo-oss                      
i | libqt5-qtdeclarative-tools          | package | 5.4.1-2.1  | x86_64 | repo-oss                      
i | libqt5-qtgraphicaleffects           | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtimageformats               | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtquickcontrols              | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtsensors-devel              | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtsvg-devel                  | package | 5.4.1-2.1  | x86_64 | repo-oss                      
i | libqt5-qttools                      | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qttools-devel                | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtx11extras-devel            | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libqt5-qtxmlpatterns-devel          | package | 5.4.1-1.1  | x86_64 | repo-oss                      
i | libQt5Core-private-headers-devel    | package | 5.4.1-2.2  | noarch | repo-oss                      
i | libQt5Gui-private-headers-devel     | package | 5.4.1-2.2  | noarch | repo-oss                      
i | libqt5keychain0-lang                | package | 0.4.0-1.2  | noarch | repo-oss

But I still have the issue.

I could try and investigate whether the patch you mentioned is included in Qt5.

But I think I'll wait for the next plasma / qt5 update. Or if it appears in the main repo of openSUSE I could try that at well later.

Anyway this isn't critical, so let's leave the fields as is.
I'll keep you updated. :-)
Comment 8 Kai Uwe Broulik 2015-05-15 17:56:06 UTC
Can you provide the output of xinput list? Maybe there were some unrelated X/kernel updates that came along at the same time that broke it.
Comment 9 Vincent Petry 2015-05-15 18:03:33 UTC
I see mention of the master pointer in the patch description, so posting my devices:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ DLL060A:00 06CB:2734                      id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]


The one with id 11 is the touchpad of my laptop, which works fine.

I'll try and see whether the patch is indeed in the package (possibly this one https://build.opensuse.org/package/show/KDE:Qt54/libqt5-qtbase)
Comment 10 Vincent Petry 2015-05-15 18:09:16 UTC
Ok actually this one is more likely to be my current version: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase

There is also a slight chance that the patch is indeed in, but doesn't work for me for some reason.
Or one of the openSUSE patches cancels the fix.
Comment 11 Vincent Petry 2015-05-15 18:20:12 UTC
I had a quick look in the source code from the package, and I can confirm that the patch is there.
Also there is no package patch that removes/touches it.

So I guess this means I'll need to debug this somehow (adding debug statements in the Qt code).

Just in case it matters, here is my xcb versions:

S | Name                  | Type    | Version   | Arch   | Repository
--+-----------------------+---------+-----------+--------+-----------
i | libX11-xcb1           | package | 1.6.3-1.1 | x86_64 | repo-oss  
i | libxcb-composite0     | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-cursor0        | package | 0.1.2-1.1 | x86_64 | repo-oss  
i | libxcb-damage0        | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-devel          | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-dpms0          | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-dri2-0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-dri3-0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-glx0           | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-icccm4         | package | 0.4.1-3.2 | x86_64 | repo-oss  
i | libxcb-image0         | package | 0.4.0-1.2 | x86_64 | repo-oss  
i | libxcb-keysyms1       | package | 0.4.0-1.1 | x86_64 | repo-oss  
i | libxcb-present0       | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-randr0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-record0        | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-render-util0   | package | 0.3.9-3.1 | x86_64 | repo-oss  
i | libxcb-render0        | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-res0           | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-screensaver0   | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-shape0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-shm0           | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-sync1          | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-util1          | package | 0.4.0-1.2 | x86_64 | repo-oss  
i | libxcb-xevie0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xf86dri0       | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xfixes0        | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xinerama0      | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xkb1           | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xprint0        | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xtest0         | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xv0            | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xvmc0          | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb1               | package | 1.11-3.2  | x86_64 | repo-oss  
i | xcb-util-devel        | package | 0.4.0-1.2 | x86_64 | repo-oss  
i | libX11-xcb1-32bit     | package | 1.6.3-1.1 | x86_64 | repo-oss  
i | libxcb-dri2-0-32bit   | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-dri3-0-32bit   | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-glx0-32bit     | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-present0-32bit | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-render0-32bit  | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-shm0-32bit     | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-sync1-32bit    | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb-xfixes0-32bit  | package | 1.11-3.2  | x86_64 | repo-oss  
i | libxcb1-32bit         | package | 1.11-3.2  | x86_64 | repo-oss

and xinput:
i | xinput | package | 1.6.1-5.2 | x86_64 | repo-oss
Comment 12 Vincent Petry 2015-05-16 09:35:48 UTC
The package containing the xcb handler is the following: libQt5Gui5-5.4.1-2.2.x86_64
From /usr/lib64/qt5/plugins/platforms/libqxcb.so
I managed to compile the package and install it.

The original bug report also mentions that the real bug is in xorg-server, so posting my xorg-server version too:
S | Name                   | Type    | Version        | Arch   | Repository       
--+------------------------+---------+----------------+--------+------------------
i | xorg-x11-Xvnc          | package | 1.4.3-1.1      | x86_64 | (System Packages)
i | xorg-x11-driver-video  | package | 7.6_1-15.1     | x86_64 | repo-oss         
i | xorg-x11-server        | package | 7.6_1.17.1-4.1 | x86_64 | (System Packages)
i | xorg-x11-server-extra  | package | 7.6_1.17.1-4.1 | x86_64 | (System Packages)
i | xorg-cf-files          | package | 1.0.5-5.1      | noarch | repo-oss         
i | xorg-sgml-doctools     | package | 1.11-9.1       | noarch | repo-oss         
i | xorg-x11-devel         | package | 7.6-47.1       | noarch | repo-oss         
i | xorg-x11-driver-input  | package | 7.6_1-13.1     | noarch | repo-oss         
i | xorg-x11-essentials    | package | 7.6_1-16.1     | noarch | repo-oss         
i | xorg-x11-fonts         | package | 7.6-31.2       | noarch | repo-oss         
i | xorg-x11-fonts-core    | package | 7.6-31.2       | noarch | repo-oss         
i | xorg-x11-libX11-ccache | package | 7.6-20.1       | noarch | repo-oss         
i | xorg-x11-libs          | package | 7.6-47.1       | noarch | repo-oss         
i | xorg-x11-util-devel    | package | 7.6_1-10.1     | noarch | repo-oss 

The patch seems to be quite old, however I remember that the touchscreen worked fine a few months ago. So the issue is more likely to be due to some other changes in the stack.

Next step: add debug stuff.
Comment 13 Vincent Petry 2015-05-16 09:41:14 UTC
Hmm, I found something interesting, not sure if relevant:
When I do this: xinput query-state on my touchpad while holding down the button, I get this:
2 classes :
ButtonClass
        button[1]=down
        button[2]=up
        button[3]=up
        button[4]=up
        button[5]=up
        button[6]=up
        button[7]=up
ValuatorClass Mode=Relative Proximity=In
        valuator[0]=780
        valuator[1]=576
        valuator[2]=282
        valuator[3]=1286

However with the touchscreen when I do the same, button[1] is always up (I touch the screen and drag a bit):
2 classes :
ButtonClass
        button[1]=up
        button[2]=up
        button[3]=up
        button[4]=up
        button[5]=up
        button[6]=up
        button[7]=up
ValuatorClass Mode=Absolute Proximity=In
        valuator[0]=2667
        valuator[1]=43780
        valuator[2]=0
        valuator[3]=0

The button 1 is always up.
So this could be a bug in xinput ?

@David could you try the same on your env for comparison ?

Not sure how other apps (like the qt4 ones and xev can get the events then, maybe they use a different mechanism)
Comment 14 Vincent Petry 2015-05-16 09:44:21 UTC
Hmmm no, never mind.
I tested the device with "xinput test" and it can properly get touch events.

button press   1 a[0]=1168 a[1]=37153 
motion a[0]=1168 a[1]=37153 
button release 1 a[0]=1168 a[1]=37153 
motion a[0]=1300 a[1]=38128 
button press   1 a[0]=1300 a[1]=38128 
motion a[0]=1300 a[1]=38167 
motion a[0]=1278 a[1]=38167 
motion a[0]=1278 a[1]=38167 
button release 1 a[0]=1278 a[1]=38167 

(note: I'm still discovering the parameters of xinput, interesting stuff!)
Comment 15 Vincent Petry 2015-05-16 10:59:49 UTC
A bit more tinkering: debugging showed me that has_touch_without_mouse_emulation is true for me.
I tried forcing it to false as well, but it didn't solve my issue.

I added some dummy logging and can confirm that it is going through the XINPUT22 code path.

Similar bug report found here: https://code.google.com/p/chromium/issues/detail?id=350630

Also found this: https://forum.qt.io/topic/20617/qt5-raspbian-egalax-failing-touchscreen-interaction/6

The latter suggest to run Qt5 apps with the following arguments:
% appname -plugin evdevtouch:/dev/input/event13
(where event13 is the touchscreen device)

When I do this, touch events suddenly work in that specific app!
Comment 16 Vincent Petry 2015-05-16 11:11:31 UTC
I discovered "xinput -test-xi2" so I tried it with:
1) touchpad: click events appear as RawButtonPress, RawButtonRelease, etc
2) touchscreen: no clicks, only touch events:

  % xinput test-xi2 9                                                                                                                      !10027
SYNAPTICS Synaptics Large Touch Screen          id=9    [slave  pointer  (2)]
        Reporting 6 classes:
                Class originated from: 9. Type: XIButtonClass
                Buttons supported: 7
                Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
                Button state:
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 0:
                  Label: Abs X
                  Range: 0.000000 - 65535.000000
                  Resolution: 0 units/m
                  Mode: absolute
                  Current value: 4915.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 1:
                  Label: Abs Y
                  Range: 0.000000 - 65535.000000
                  Resolution: 0 units/m
                  Mode: absolute
                  Current value: 9200.000000
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 2:
                  Label: Rel Horiz Scroll
                  Range: -1.000000 - -1.000000
                  Resolution: 0 units/m
                  Mode: relative
                Class originated from: 9. Type: XIValuatorClass
                Detail for Valuator 3:
                  Label: Rel Vert Scroll
                  Range: -1.000000 - -1.000000
                  Resolution: 0 units/m
                  Mode: relative
                Class originated from: 9. Type: XITouchClass
                Touch mode: direct
                Max number of touches: 15

EVENT type 22 (RawTouchBegin)
    device: 9 (9)
    detail: 69
    valuators:
          0: 2887.68 (2887.68)
          1: 11929.63 (11929.63)

EVENT type 18 (TouchBegin)
    device: 9 (9)
    detail: 69
    root: 84.60/196.59
    event: 84.60/147.59
    buttons:
    modifiers: locked 0x10 latched 0 base 0 effective: 0x10
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        0: 2887.68
        1: 11929.63
    windows: root 0xac event 0x1a00001 child 0x1a00001
EVENT type 23 (RawTouchUpdate)
    device: 9 (9)
    detail: 69
    valuators:
          0: 2887.68 (2887.68)
          1: 12085.57 (12085.57)

EVENT type 19 (TouchUpdate)
    device: 9 (9)
    detail: 69
    root: 84.60/199.16
    event: 84.60/150.16
    buttons:
    modifiers: locked 0x10 latched 0 base 0 effective: 0x10
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        0: 2887.68
        1: 12085.57
    windows: root 0xac event 0x1a00001 child 0x1a00001
EVENT type 24 (RawTouchEnd)
    device: 9 (9)
    detail: 69
    valuators:
          0: 2887.68 (0.00)
          1: 12085.57 (0.00)

EVENT type 20 (TouchEnd)
    device: 9 (9)
    detail: 69
    root: 84.60/199.16
    event: 84.60/150.16
    buttons:
    modifiers: locked 0x10 latched 0 base 0 effective: 0x10
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
        0: 2887.68
        1: 12085.57
    windows: root 0xac event 0x1a00001 child 0x1a00001


So I suspect that my device or xinput2 is not synthesizing clicks.
I wonder if there is a way to configure this either at driver level or in xinput2.

From my understanding Qt5 is supposed to synthesize clicks whenever xinput2 does not do it (has_touch_without_mouse_emulation), but maybe that code path isn't working properly.
Comment 17 Vincent Petry 2015-05-16 11:18:51 UTC
I have now raised a ticket in the Qt bug tracker: https://bugreports.qt.io/browse/QTBUG-46142
Comment 18 Kai Uwe Broulik 2015-05-16 11:19:32 UTC
Thanks for your investigation! Closing as Qt bug then.
Comment 19 Vincent Petry 2015-05-16 14:33:17 UTC
I dived deeper and it might even be a XCB bug, see https://bugreports.qt.io/browse/QTBUG-46142?focusedCommentId=281885&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-281885

For you guys where the touchscreen works properly, would you mind sharing your xorg, xcb, xinput and libQt5 versions so I can compare ? (with a bit of hope the fix is around the corner in an update that you guys have but I don't)