Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15
-
None
Description
My setup:
- i.MX 8 based Linux device with framebuffer
- Multitouch touchscreen
- QT compiled with buildroot
- x11vnc running
Problem description:
My qt app (simple hello world with a button) reacts to inputs from the touchscreen but not from inputs sent using VNC (x11vnc as a server).
Running evtest on ts_uinput shows the following:
Input with touchscreen (handled by QT):
Event: time 1674089640.781220, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1674089640.781220, type 3 (EV_ABS), code 0 (ABS_X), value 26 Event: time 1674089640.781220, type 3 (EV_ABS), code 1 (ABS_Y), value 2 Event: time 1674089640.781220, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 26 Event: time 1674089640.781220, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 2 Event: time 1674089640.781220, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 22 Event: time 1674089640.781220, -------------- SYN_REPORT ------------ Event: time 1674089640.897989, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1 Event: time 1674089640.897989, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1674089640.897989, -------------- SYN_REPORT ------------
Input with x11vnc (Ignored by QT):
Event: time 1674089607.895369, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1674089607.895369, type 3 (EV_ABS), code 0 (ABS_X), value 49 Event: time 1674089607.895369, type 3 (EV_ABS), code 1 (ABS_Y), value 12 Event: time 1674089607.895369, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 49 Event: time 1674089607.895369, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 12 Event: time 1674089607.895369, -------------- SYN_REPORT ------------ Event: time 1674089610.170949, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1674089610.170949, -------------- SYN_REPORT ------------
When I modify x11vnc to also send ABS_MT_TRACKING_ID, qt does handle the inputs coming from it (https://github.com/LibVNC/x11vnc/pull/218/files).
In my opinion, qt should not ignore input events without ABS_MT_TRACKING_ID.
This behaviour was also mentioned here: https://github.com/ponty/framebuffer-vncserver/issues/6