Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-110771

QT ignoring uinput touch inputs without ABS_MT_TRACKING_ID

    XMLWordPrintable

Details

    • Linux/Other display system

    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

       

      Attachments

        Activity

          People

            srutledg Shawn Rutledge
            smayrhofer Stefan Mayrhofer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: