1. 07 Mar, 2018 1 commit
  2. 02 Mar, 2018 1 commit
  3. 28 Feb, 2018 1 commit
  4. 27 Feb, 2018 3 commits
  5. 13 Feb, 2018 1 commit
  6. 06 Feb, 2018 1 commit
  7. 01 Feb, 2018 1 commit
  8. 21 Jan, 2018 1 commit
  9. 30 Nov, 2017 1 commit
  10. 29 Nov, 2017 1 commit
  11. 21 Nov, 2017 1 commit
  12. 19 Nov, 2017 2 commits
    • Peter Hutterer's avatar
      evdev: add new debouncing code · de994d13
      Peter Hutterer authored
      The current debouncing code monitors events and switches on when events are
      too close together. From then on, any event can be delayed.
      
      Vicente Bergas provided an algorithm that avoids most of these delays:
      on a button state change we now forward the change without delay but start a
      timer. If the button changes state during that timer, the changes are
      ignored. On timer expiry, events are sent to match the hardware state
      with the client's view of the device. This is only done if needed.
      
      Thus, a press-release sequence of: PRP sends a single press event, a sequence of
      PRPR sends press and then the release at the end of the timeout. The timeout
      is short enough that the delay should not be noticeable.
      
      This new mode is called the 'bounce' mode. The old mode is now referred to as
      'spurious' mode and only covers the case of a button held down that loses
      contact. It works as before, monitoring a button for these spurious contact
      losses and switching on. When on, button release events are delayed as before.
      
      The whole button debouncing moves to a state machine which makes debugging a
      lot easier. See the accompanying SVG for the diagram.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      de994d13
    • Peter Hutterer's avatar
      fallback: create the evdev-fallback.h header file · 87920f49
      Peter Hutterer authored
      So we can split up evdev-fallback.c into multiple files where needed.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      87920f49
  13. 16 Nov, 2017 1 commit
  14. 09 Nov, 2017 1 commit
  15. 30 Oct, 2017 1 commit
  16. 26 Oct, 2017 1 commit
  17. 20 Oct, 2017 1 commit
  18. 19 Oct, 2017 1 commit
  19. 10 Oct, 2017 1 commit
  20. 27 Sep, 2017 1 commit
  21. 25 Sep, 2017 2 commits
  22. 21 Sep, 2017 1 commit
    • Peter Hutterer's avatar
      test: switch to a TEST_DEVICE macro for all the litest test devices · 2346801b
      Peter Hutterer authored
      The test device initialization code was a bit of duplicated boilerplate and
      required adding a reference to the devices to the 'devices' list in litest.c.
      Automate this with a new TEST_DEVICE macro that adds the devices to a custom
      section in the binary, then loops throught that section to get the device out.
      
      This reduces the boilerplate for each test device to just the TEST_MACRO and
      the LITEST_foo device enum entry. It also now automates the shortname of the
      device.
      
      The device's shortname was standardised in this approach as well, lowercase
      and dashes only.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      2346801b
  23. 19 Sep, 2017 1 commit
  24. 05 Sep, 2017 2 commits
  25. 04 Sep, 2017 1 commit
  26. 27 Aug, 2017 1 commit
  27. 23 Aug, 2017 1 commit
    • Peter Hutterer's avatar
      Add support for LIBINPUT_IGNORE_DEVICE · 00272cfb
      Peter Hutterer authored
      The recommended way to have libinput ignore specific devices so far was to
      remove the ID_INPUT* properties from the device. That may also affect other
      pieces of the stack that need access to this device.
      
      For the niche case of a device that should only be ignored by libinput but
      otherwise be treated normally by the system, we now support the
      LIBINPUT_IGNORE_DEVICE property.
      
      If the property is set to "0", it's equivalent to being unset. This gets
      around some technical limitations in udev where unsetting a property is
      impossible via a hwdb entry.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=102229Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      00272cfb
  28. 20 Aug, 2017 1 commit
  29. 17 Aug, 2017 1 commit
  30. 27 Jul, 2017 1 commit
  31. 25 Jul, 2017 1 commit
    • Peter Hutterer's avatar
      pointer: add button debouncing · 55d1bb12
      Peter Hutterer authored
      Some devices have worn-out switches or just cheap switches that trigger
      multiple button events for each press. These can be identified by unfeasably
      short time deltas between the release and the next press event. In the
      recordings I've seen so far, that timeout is 8ms.
      
      We have a two-stage behavior: by default, we do not delay any events but we
      monitor timestamps. The first time a bouncing button is detected we switch to
      debounce mode. From then on, release events are delayed slightly to check for
      subsequent button events. If one occurs, the releas and press are filtered. If
      none occurs, the release event is passed to the caller.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=100057Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      55d1bb12
  32. 20 Jul, 2017 1 commit
  33. 12 Jul, 2017 1 commit
  34. 11 Jul, 2017 1 commit
  35. 04 Jul, 2017 1 commit