1. 15 Sep, 2021 3 commits
  2. 06 Aug, 2021 1 commit
  3. 04 Aug, 2021 2 commits
    • José Expósito's avatar
      Get scroll source in the event handler · ca9042c7
      José Expósito authored
      
      
      Where libinput supports high-resolution scroll events, the scroll source
      is encoded in the event type.
      
      Get the scroll source in xf86libinput_handle_event to facilitate the
      migration.
      
      Refactor, no functional changes.
      Signed-off-by: José Expósito's avatarJosé Expósito <jose.exposito89@gmail.com>
      ca9042c7
    • Peter Hutterer's avatar
      Upgrade the default scroll distance to 120 · bf8dc2e2
      Peter Hutterer authored and José Expósito's avatar José Expósito committed
      This is just a number, to be used as divider and shouldn't have any effect in
      correctly written clients. With the high-res scrolling coming up however, we
      have a few devices where the dist cannot be expressed as an integer fraction
      of 15, so let's up it to 120 because we know all hardware wheels have to be an
      integer fraction of that that, thanks to Microsoft's API requirements.
      
      For non-wheel scrolls we need to now map into the new range. Previously we
      just passed the scroll events on from the touchpad/button scrolling, meaning a
      vdist of 15 meant 15 "libinput pixels" of scrolling resulted in a logical
      wheel click. Now that we have 120 as vdist, we need to times the input data by
      8 to keep the same proportions.
      
      See 39b0bb45
      
       for the previous revert.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      bf8dc2e2
  4. 05 Jul, 2021 1 commit
  5. 23 Jun, 2021 1 commit
  6. 05 May, 2021 2 commits
    • Peter Hutterer's avatar
      Implement a touchpad scroll distance property · 9bb9e635
      Peter Hutterer authored
      To be used for touchpads and continuous (i.e. button-based scrolling).
      
      libinput provides us with pixel data for finger-based and button-based
      scrolling but the X server does support this - XI2.1 smooth scrolling is
      merely centered around a logical scroll click (defined as "increment"), with
      smooth scrolling being a fraction of that increment. For example, in the old
      synaptics driver that value was in device-specific units and thus different
      for every device.
      
      The increment is a constant value set in the ScrollClass and cannot be changed
      at device runtime. So we simply initialize with a random default (15, because
      that works well for wheels) and then scale our pixel delta in to that range.
      
      With the default value, a 15 pixel movement would result in a logical scroll
      click, if the distance is set to 30 the users has to move 30 pixels to trigger
      that scroll click. Pixel here being defined as the deltas that libinput
      provides to us.
      
      From the client's perspective...
      9bb9e635
    • Peter Hutterer's avatar
      Fix a spacing issue · cc10918b
      Peter Hutterer authored
      
      
      yay for copy/paste proliferation
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      cc10918b
  7. 16 Apr, 2021 1 commit
  8. 09 Apr, 2021 1 commit
  9. 06 Apr, 2021 3 commits
  10. 24 Mar, 2021 1 commit
  11. 04 Nov, 2020 1 commit
    • Dorian Stoll's avatar
      Lift canceled touch inputs · 39be9449
      Dorian Stoll authored
      
      
      If a touch input gets turned into a palm (by setting ABS_MT_TOOL_TYPE to
      MT_TOOL_PALM), libinput will emit a cancel event instead of the normal
      up event. The xorg wrapper needs to be able to handle a canceled touch
      and lift it, otherwise these inputs will never get lifted and will stick
      around forever.
      Signed-off-by: Dorian Stoll's avatarDorian Stoll <dorian.stoll@tmsp.io>
      39be9449
  12. 19 Oct, 2020 2 commits
  13. 19 May, 2020 5 commits
  14. 11 Oct, 2019 1 commit
  15. 12 Aug, 2019 3 commits
  16. 31 Jul, 2019 2 commits
  17. 30 Jul, 2019 1 commit
    • Peter Hutterer's avatar
      Revert "Upgrade the default scroll distance to 120" · 39b0bb45
      Peter Hutterer authored
      This was part of the high-resolution wheel work that was factored out ahead of
      time. Problem is: this breaks scroll button emulation in the server as we
      use the distance to determine when we click buttons 4-7.
      
      Before: movement of 15 normalized pixel units on a touchpad - one click. Now:
      120 of those units. So that's a bit less than ideal.
      
      The change to 120 can be done, but needs the corresponding handling in the
      axis distance calculations.
      
      Fixes #24
      
      This reverts commit 05548118.
      39b0bb45
  18. 25 Feb, 2019 1 commit
    • David Rosca's avatar
      Also use type to match tablet tool with device · 8923d18d
      David Rosca authored
      On devices with tools having both serial and id 0,
      it would fail to create separate subdevices.
      
      Thinkpad X220T (Wacom ISDv4 E6) now correctly registers
      Pen and Eraser xinput devices.
      8923d18d
  19. 12 Feb, 2019 1 commit
    • Peter Hutterer's avatar
      Upgrade the default scroll distance to 120 · 05548118
      Peter Hutterer authored
      
      
      This is just a number, to be used as divider and shouldn't have any effect in
      correctly written clients. With the high-res scrolling coming up however, we
      have a few devices where the dist cannot be expressed as an integer fraction
      of 15, so let's up it to 120 because we know all hardware wheels have to be an
      integer fraction of that that, thanks to Microsoft's API requirements.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      05548118
  20. 04 Feb, 2019 1 commit
  21. 25 Jan, 2019 1 commit
    • Peter Hutterer's avatar
      Handle scroll wheel events with a discrete of 0 · e7eafa19
      Peter Hutterer authored
      
      
      The driver currently assumes that any wheel event has a non-zero discrete
      value of 1. This is incorrect, it just hasn't triggered yet with any device.
      
      With the hi-res scroll patches in place in the kernel and libinput, we may get
      wheel events with a discrete value of 0. We assume that if this ever happens,
      the device has some sensible click angle set so all we need to do is ignore
      the discrete 0 events and wait for the first discrete event to come.
      
      Also add an explanatory comment too to make it clear the calculation is only
      done once.
      
      Fixes #19
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      e7eafa19
  22. 23 Jan, 2019 1 commit
  23. 21 Jan, 2019 1 commit
  24. 07 Jan, 2019 1 commit
  25. 25 Nov, 2018 1 commit
  26. 18 Nov, 2018 1 commit