1. 03 Jun, 2020 1 commit
  2. 27 May, 2020 1 commit
  3. 26 May, 2020 1 commit
  4. 22 May, 2020 3 commits
  5. 21 May, 2020 1 commit
    • Peter Hutterer's avatar
      Deprecate wheel tilt as separate axis source · 4ff6d6e3
      Peter Hutterer authored
      This has never been supported through the stack. No device ever had the
      required MOUSE_WHEEL_TILT_VERTICAL/HORIZONTAL udev property set, so
      libinput never set the right axis source. Neither weston nor mutter
      added the code for it. Even if we added wheel tilt for devices now, it
      would break those devices. And the benefit we get from having those
      separate is miniscule at best.
      So let's do the long-term thing and just deprecate this axis source.
      The wheel tilt mouse test device remains in the test suite, with the
      udev properties set just to verify that we do indeed ignore those now.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
  6. 13 May, 2020 2 commits
    • Peter Hutterer's avatar
      evdev: warn if our event processing lags by 10ms or more · bd7b9106
      Peter Hutterer authored
      Take a snapshot of the time every 10 libinput_dispatch() calls. During event
      processing, check if the event timestamp is more than 10ms in the past and
      warn if it is. This should provide a warning to users when the compositor is
      too slow to processes events but events aren't coming in fast enough to
      trigger SYN_DROPPED.
      Because we check the device event time against the dispatch time we may get
      warnings for multiple devices on delayed processing. This is intended, it's
      good to know which devices were affected.
      In the test suite we need to ignore the warning though, since we compose the
      events in very specific ways it's common to exceed that threshold
      (particularly when calling litest_touch_move_to).
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    • Peter Hutterer's avatar
      test: fix the lookup for the timer offset warnings · 2ff0c342
      Peter Hutterer authored
      This was changed in 5e25bdfb but the litest
      message lookup wasn't changed. Let's do that now and change to a generic
      wording we can re-use for other messages.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
  7. 30 Mar, 2020 1 commit
  8. 22 Mar, 2020 2 commits
  9. 21 Mar, 2020 1 commit
  10. 05 Mar, 2020 1 commit
  11. 02 Mar, 2020 1 commit
  12. 24 Feb, 2020 2 commits
  13. 18 Feb, 2020 2 commits
    • Peter Hutterer's avatar
      touchpad: sync the initial tracking id state to the touchpad · 06591e59
      Peter Hutterer authored
      Where fingers are down during startup we need to sync them to the known state
      of the device so our slot count is correct. Otherwise, when the fingers are
      lifted we will trigger the new assert for nactive_slots being less than 0.
      Regression introduced in eb6ef9fe
      Fixes #429Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    • Peter Hutterer's avatar
      touchpad: never reduce the slot count to 0 · 1e1b9c0e
      Peter Hutterer authored
      Where a user releases all touches during a SYN_DROPPED and then puts more than
      one finger back down before we sync, we end up with nonzero fake touches but
      a zero slot count. This is caused by a wrong event sequences provided by
      libevdev in that case.
      This really needs to be fixed in libevdev, see
      In the meantime, put a check in to ignore that case and never reduce the slot
      count to 0. It still leaves us open for some issues where 3fg gestures may
      stop working if the right sequences are triggered during SYN_DROPPED but
      updating libevdev will eventually make that go away too.
      Fixes #422Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
  14. 13 Feb, 2020 4 commits
  15. 12 Feb, 2020 2 commits
  16. 02 Feb, 2020 3 commits
  17. 31 Jan, 2020 1 commit
  18. 29 Jan, 2020 3 commits
  19. 09 Jan, 2020 3 commits
  20. 04 Jan, 2020 1 commit
    • Michael Forney's avatar
      litest: Fix warnings about discarded qualifiers with check-0.13.0 · 25a940a5
      Michael Forney authored
      check 0.13.0 introduced a new struct type TTest for test functions
      instead of just a function. However, now the tcase_add_* functions use
      `const Ttest *`, and since litest stores the test case in a `void *`,
      we get warnings like the following:
      ../test/test-touchpad.c:7079:30: warning: passing argument 3 of '_litest_add' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
        litest_add("touchpad:fuzz", touchpad_fuzz, LITEST_TOUCHPAD, LITEST_ANY);
      To fix this, use `const void *`, which is compatible with both APIs.
      Signed-off-by: Michael Forney's avatarMichael Forney <mforney@mforney.org>
  21. 03 Jan, 2020 2 commits
  22. 04 Dec, 2019 1 commit
    • Peter Hutterer's avatar
      pad: add LIBINPUT_EVENT_TABLET_PAD_KEY for pad keys · 2d1bcf98
      Peter Hutterer authored
      The Wacom Cintiq 24HD and later tablets send specific key events for
      hardware/soft buttons. KEY_PROG1..KEY_PROG3 on earlier tablets,
      We ignore KEY_PROG1-3 because starting with kernel 5.4 older tablets will too
      use the better-named #defines.
      These differ from pad buttons as the key code in itself carries semantic
      information, so we should pass them on as-is instead of mapping them to
      meaningless 0-indexed buttons like we do on the other buttons.
      So let's add a new event, LIBINPUT_EVENT_TABLET_PAD_KEY and the associated
      functions to handle that case.
      Pad keys have a fixed hw-defined semantic meaning and are thus not part of
      a tablet mode group.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
  23. 28 Nov, 2019 1 commit
    • Peter Hutterer's avatar
      test: write our test case results out as junit xml files · 3ac525db
      Peter Hutterer authored
      libcheck has the ability to write out XML files for test results, but
      converting those into junit isn't ideal, for a number of reasons:
      - junit xml is different to libcheck's xml, so not all data is available or
        useful. Especially with our litest wrappers around it.
      - litest forking off tests means we have to wrap around everything anyway to
        avoid multiple forks writing to the same test file.
      This is the minimal implementation since it's only user is likely the CI which
      we control fairly tightly. So there are a few corners we can skip:
      - no filename validation is performed by litest
      - we write out a lot of junit xml files (one per litest fork). Rather than
        collating those we just rely on the CI to find the files.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>