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

Logitech mice and touchpads that send lots of events with small angleDelta cause overreaction

    XMLWordPrintable

Details

    • Linux/X11

    Description

      On X11 this is a relatively new feature; on other platforms maybe it has been happening for a while. Some Logitech mice with smooth-scrolling-capable wheels (like MX Master 2S and others) have fine-grained encoders that can send a lot of events with small angleDelta. In various places in widgets (at least QTabBar) we have code that just handles each QWheelEvent as if it was a full "click" of a clicky mouse wheel; but we may rather need to accumulate the deltas until a threshold of 120 is reached, to avoid reacting too soon; or else react in proportion to the angleDelta each time (i.e. scroll something by a shorter distance than we do for the usual 120 delta).

      If the mouse provides pixelDelta but does not have the new PixelScroll flag, then we can consider the pixelDelta to be more synthetic in some sense, and perhaps rely only on angleDelta. (I'm not 100% sure about that.)

      event->device()->capabilities().testFlag(QInputDevice::Capability::PixelScroll)
      

      Likewise I think maybe WheelHandler is overreacting; needs investigation.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-97844
          # Subject Branch Project Status CR V

          Activity

            People

              ndavis Noah Davis
              srutledg Shawn Rutledge
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes