1. 24 Mar, 2015 1 commit
  2. 09 Mar, 2015 1 commit
  3. 06 Mar, 2015 1 commit
    • Peter Hutterer's avatar
      Drop libinput_device_has_button · 595beb93
      Peter Hutterer authored
      And merge all current API versions into the same block. This isn't technically
      necessary since removing libinput_has_button from the code will remove it from
      the exported list. That trips up test/symbols-leak-test though.
      
      Since we break the API and bump the soname in this release anyway, move
      to a single block so the initial stable API is all nicely grouped together.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      595beb93
  4. 23 Feb, 2015 1 commit
  5. 18 Feb, 2015 1 commit
    • Peter Hutterer's avatar
      Add udev bits to assign LIBINPUT_DEVICE_GROUP · 2b2a1b0e
      Peter Hutterer authored
      The easiest way to get a device group is by looking at the phys path of the
      input device (which looks like usb-0000:00:14.0-1/input1) and dropping the
      /inputX bit. The rest is the same for devices that belong together (except on
      the Cintiq 22HD Touch).
      
      Ideally we could just take ATTRS{phys} but we can't select substrings to drop
      into ENV so we need to do it ourselves. This patch adds a callout that takes a
      syspath and prints the mangled path, to be used in LIBINPUT_DEVICE_GROUP.
      
      The rule triggers on any device that has a non-zero phys attribute, this
      groups devices like tablets together but also devices like mice with multiple
      interfaces.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Tested-by: Benjamin Tissoires's avatarBenjamin Tissoires <benjamin.tissoires@gmail.com>
      2b2a1b0e
  6. 13 Feb, 2015 1 commit
  7. 06 Feb, 2015 1 commit
  8. 03 Feb, 2015 1 commit
    • Peter Hutterer's avatar
      test: add per-device udev rule support · 4ec2947c
      Peter Hutterer authored
      Don't rely on a magic version tag, instead let a device define a udev rule and
      drop that into the udev runtime directory before the device is created.
      
      There are a couple of caveats with this approach: first, since this changes
      system-wide state it may cause issues on the device the test suite is run on.
      This can be avoided if the udev rules have filter patterns that ensure only
      test devices are affected.
      
      Second, the check test suite aborts but it doesn't run the teardown() function
      if a test fails. So far this wasn't a problem since uinput devices disappear
      whenever we exit. The rules files will hang around though, so an unchecked
      fixture was added to delete all litest-foo.rules files before and after a test
      case starts. Unchecked fixtures are run regardless of the exit status of the
      test but run in the same address space - i.e. no ck_assert() usage.
      
      Also unchecked fixtures are only run once per test-case, not once per test
      function. For us, that means they're only run once per device (we use the
      devices as test case), i.e. if a test fails and the udev rule isn't tidied up,
      the next test may be unpredictable. This shouldn't matter too much though.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      4ec2947c
  9. 30 Jan, 2015 1 commit
  10. 15 Jan, 2015 1 commit
  11. 18 Dec, 2014 2 commits
  12. 05 Dec, 2014 2 commits
  13. 11 Sep, 2014 2 commits
  14. 22 Jul, 2014 1 commit
  15. 15 Jul, 2014 1 commit
  16. 03 Jul, 2014 1 commit
  17. 02 Jul, 2014 2 commits
  18. 25 Jun, 2014 1 commit
  19. 23 Jun, 2014 1 commit
  20. 10 Jun, 2014 1 commit
  21. 09 Jun, 2014 1 commit
  22. 30 May, 2014 1 commit
  23. 22 May, 2014 2 commits
  24. 10 Apr, 2014 1 commit
  25. 29 Mar, 2014 1 commit
  26. 28 Mar, 2014 1 commit
  27. 26 Feb, 2014 2 commits
  28. 23 Feb, 2014 1 commit
    • Peter Hutterer's avatar
      Hook up libevdev as backend · f925cee8
      Peter Hutterer authored
      libevdev wraps the various peculiarities of the evdev kernel API into a
      type-safe API. It also buffers the device so checking for specific features at
      a later time is easier than re-issuing the ioctls. Plus, it gives us almost
      free support for SYN_DROPPED events (in the following patch).
      
      This patch switches all the bit checks over to libevdev and leaves the event
      processing as-is. Makes it easier to review.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      f925cee8
  29. 31 Jan, 2014 1 commit
    • Peter Hutterer's avatar
      tools: add a tool for basic event debugging · 3444b29c
      Peter Hutterer authored
      Simply prints the various events to make it easier to check what's coming out
      of libinput. Works for --udev (the default) or for --device /dev/input/event0.
      Example output:
      
      event7 	DEVICE_ADDED	seat0	default
      event8 	DEVICE_ADDED	seat0	default
      event4 	POINTER_BUTTON	 +1.35s	272 pressed
      event5 	POINTER_MOTION	 +2.31s	 -3.00/  2.00
      
      Time is displayed relative to the starting time.
      
      Note: statically linked for easier debugging, but we don't distribute it
      (yet) anyway.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
      3444b29c
  30. 15 Jan, 2014 1 commit
    • Peter Hutterer's avatar
      Add a device test suite · 3a344169
      Peter Hutterer authored
      A rather large commit, copied from a similar (almost identical) suite in
      libtouchpad and ported for libinput.
      
      The goal here is to make testing for various devices easy, so the litest
      ("libinput test") wrappers do that. The idea is that each device has some
      features, and tests are likely to exercise some features or won't work with
      other features.
      
      Each test case takes a list of required features and a list of excluded
      features. The test suite will create a new test case for each device in the
      suite that matches that set.
      
      For example, the set of required LITEST_TOUCHPAD, excluded LITEST_BUTTON would
      run on clickpads only, not on touchpads with buttons.
      
      check supports suites and test cases, both named. We wrap that so that each
      named set of cases we add are a test suite, with the set of devices being the
      test cases. i.e.
      
      litest_add("foo:bar", some_test_function, LITEST_ANY, LITEST_ANY);
      
      adds a suite named "foo:bar" and test cases for both devices given, with their
      shortnames as test case name, resulting in:
         "foo:bar", "trackpoint"
         "foo:bar", "clickpad"
         ...
      
      Multiple test functions can be added to a suite. For tests without a device
      requirement there is litest_add_no_device_test(...).
      
      The environment variables CK_RUN_SUITE and CK_RUN_CASE can be used to narrow
      the set of test cases. The test suite detects when run inside a debugger and
      disables fork mode (the default).
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      3a344169
  31. 10 Jan, 2014 1 commit
  32. 15 Dec, 2013 2 commits
  33. 07 Dec, 2013 1 commit