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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P3: Somewhat important
    • None
    • 5.3.2, 5.4.1, 5.5.0 Alpha
    • None
    • 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

              paeglis Gatis Paeglis
              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