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

XInput: Touch events are only received from devices with use 'XISlavePointer'

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3: Somewhat important
    • Resolution: Invalid
    • Affects Version/s: 5.3.2, 5.4.1, 5.5.0 Alpha
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      OS: Linux, Touchscreen: Elo TouchSystems 2515 iTouch Plus USB Touchmonitor

      Description

      In our use case, we have a touchscreen that we do not want to affect a master pointer. For that reason, the touchscreen device has been set to act as a floating slave in XInput (not attached to any master pointer). However, we still want to receive multi-touch events from the device in our Qt widgets.

      The device discovery code in QXcbConnection::xi2SetupDevices() skips any device that does not have the 'use' field set to XISlavePointer.

      We have resolved this problem by modifying the if-statement in QXcbConnection::xi2SetupDevices() to not discard pointers with use XIFloatingSlave on top of the regular slave pointers.

      I don't know if such a change would have any adverse effects in other situations, but I don't see why you would want to ignore events from floating slaves.

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              paeglis Gatis Paeglis
              Reporter:
              henrik.nyberg Henrik Nyberg
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes