summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-08-25buildsystem: add missing uninstalled pkg-config infrauninstalledReynaldo H. Verdejo Pinochet2-0/+11
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2016-08-23touchpad: reset the edge scroll state on touch up if edge scroll is disabledPeter Hutterer2-0/+11
If a touch was down (and up again) before the device was switched to edge scrolling, libinput reported an error message: litest error: libinput bug: unexpected scroll event 0 in area state While edge scrolling was disabled, any new touch would be set to the area state but it was never reset on touch release. https://bugs.freedesktop.org/show_bug.cgi?id=97425 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-22Read the horizontal wheel click angle property if availablePeter Hutterer6-27/+57
The Logitech MX master has different click angles for the two wheels. https://github.com/systemd/systemd/issues/3947 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-19touchpad: on a non-clickpad, reset the motion history on nfingers changePeter Hutterer1-2/+5
The only reason to have more than one finger on a non-clickpad is to tap, scroll or gesture. In all cases resetting the motion history is a good idea to avoid jumps moving from 2 to 1 finger. https://bugs.freedesktop.org/show_bug.cgi?id=97194 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-18doc: fix wrong argument to udevadm hwdbPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-15test: implement tests for configurable tap button mappingsPeter Hutterer2-15/+206
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-15touchpad: implement configurable button mapping for tappingPeter Hutterer3-8/+50
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-15Add configurable button map to tappingsPeter Hutterer7-0/+173
The previously hardcoded button map for tapping is 1/2/3 to LRM. But the middle button is a common feature on the desktop (used for paste, most prominently) and three-finger tapping is almost impossible to do reliably on some touchpads (e.g. the T440 has a recognition rate of ~1 in 5). Left and right buttons have a prominent physical position (either softbuttons or physical buttons) so make the tap order configurable. Those that require middle buttons reliably can use the [software] buttons for left/right and 2-finger tap for a middle button. https://bugs.freedesktop.org/show_bug.cgi?id=96962 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-15doc: split middle button emulation into a separate pagePeter Hutterer4-16/+43
Easier to link to from bug reports Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: rename all fallback-specific functions to a fallback_ prefixPeter Hutterer1-66/+66
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: pass the dispatch interface aroundPeter Hutterer1-36/+38
The only places we should typecast from device->dispatch is where we have external entry points. Everywhere else keep the pointer to the dispatch interface we already have anyway. This way we avoid papering over a potential re-use of a function from non-evdev code, passing in the wrong dispatch. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move the abs point into the fallback dispatchPeter Hutterer2-15/+27
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: switch three ints to booleansPeter Hutterer4-15/+16
And a minor rename to make it more obvious Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: reshuffle the evdev_device struct fieldsPeter Hutterer1-14/+10
Have the ungrouped items at the top of the struct for better visibility. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: split evdev_dispatch and fallback_dispatch into separate entitiesPeter Hutterer4-44/+58
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move the keyboard mask into the fallback dispatchPeter Hutterer2-27/+31
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move pending_event to the evdev_dispatch structPeter Hutterer2-24/+31
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move the relative deltas for normal devices to the fallback dispatchPeter Hutterer2-16/+24
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move the mt struct into the evdev dispatch structPeter Hutterer2-40/+49
This is only used by the fallback dispatch method, not by any of the others. Anything dispatch-specific should go into that struct. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move axis dimension handling into a single helper functionPeter Hutterer1-21/+23
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: split out slot initPeter Hutterer1-58/+73
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: return the dispatch method from evdev_configure_devicePeter Hutterer1-24/+19
Rather than setting a magic device field and returning true/false just return the dispatch method. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-11evdev: move the fallback dispatch creation to evdev_configure_devicePeter Hutterer1-3/+2
All the other devices are created in there too, unify that approach. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-09Merge branch 'wip/litest-serial-parallel-v3'Peter Hutterer21-372/+401
2016-08-09doc: add build instructionsPeter Hutterer4-9/+82
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-05doc: add some info about configuring devices in wayland/xorgPeter Hutterer1-0/+46
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-05gestures: reduce the 2fg scroll timeout to 150msPeter Hutterer1-1/+1
This timeout is there to switch to scrolling when the fingers rest on the touchpad unmoving and thus avoids the initial scroll threshold for slow scrolls. Since the only other gestures we support are swipe (usually a fast movement) and pinch-and-rotate (also a fast movement) we can drop the timeout down significantly and thus make the scroll feel more reactive. https://bugs.freedesktop.org/show_bug.cgi?id=93504 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-05touchpad: ignore modifier key combos for dwtPeter Hutterer3-6/+196
Inspired by the syndaemon -K switch and Anton Lindqvist's patch. https://patchwork.freedesktop.org/patch/102417/ We already ignored modifiers for dwt. Now we also ignore modifier + key combinations, i.e. hitting Ctrl+s to save does not trigger dwt, the touchpad remains immediately usable. However, if dwt is already active and a modifier combination is pressed, dwt remains active, i.e. while typing, a shift + key does not disable dwt. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-08-04test: add dwt modifier/fkey test casesPeter Hutterer1-0/+82
dwt shouldn't trigger on those keys Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-03udev: check wacom devices for a paired product idPeter Hutterer3-3/+89
The newer Wacom Cintiqs have touch devices with a different PID than the pen device. Use the new libwacom_get_paired_device call where available to pair the two devices and give them the same device group. This isn't that important just yet, so no need to force users to update to a new libwacom version. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2016-08-02Include config.h from libinput-util.hPeter Hutterer1-0/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: just use litest_add_device if we don't have overridesPeter Hutterer1-6/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02evdev: fix typo "device device"Peter Hutterer1-3/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: if we're in a debugger, use single-fork mode onlyPeter Hutterer2-36/+38
Don't fork by default if we're in gdb. Note that is_debugger_attached() is now inside #ifndef LITEST_NO_MAIN, gdb for the litest selftest will now require a manual CK_FORK=no. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: if a filter is specified, don't parallelize jobs by defaultPeter Hutterer1-0/+16
Likely testing a specific set of tests, possibly in gdb. So don't parallelize. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: split the tap tests into more tap groupsPeter Hutterer1-43/+43
We're grouping by test suites, so split up the suites a bit further. The tap tests all have timeouts and thus take forever, splitting them across multiple forks means we can finish the test suite quicker. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: remove NOTPARALLELPeter Hutterer1-2/+0
We only have a single test runner now, so no need to restrict it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: add a make-like job control to run tests in parallelPeter Hutterer2-27/+119
Add a make-like -j/--jobs option to split the number of parallel test processes. Defaults to 8 if not specified, future patches will default this to 1 for special cases where filters are specified or gdb is detected. Each subprocess overwrites argv[0] to be easier identifiable in the ps output when we're trying to figure out which tests are still running. A -j1 is equivalent to the previous functionality, i.e. we don't fork. One quirk needed for check: any test case not part of a test runner will not be freed and thus triggers valgrind. We do test filtering by splitting up the tests across multiple forks (i.e. each process has several tests that are in the list but not added to the runner). Thus we need to mark those we expect check to free as used. Then on cleanup we traverse the test list, add all the unused one to a test runner and free that test runner (without actually running it). This cleans up both the filtered tests in each subprocess and the whole test list in the parent process which doesn't run a test itself. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: drop the sysname comparison in the device add/remove testPeter Hutterer1-7/+1
Running tests in parallel virtually guarantees a different device is added in between. What we're testing here is that the device comes back and the original ref doesn't send events, so a false test failure would still indicate a bug anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02Revert "test: create a lock file to avoid parallel udev reloads during ↵Peter Hutterer2-66/+0
device add" Not needed anymore, we only have one process creating the udev rules. This reverts commit 030ec053fbbc17f9bd0a3a8c6003318864986de7.
2016-08-02test: restore the hwdb/udev rules on SIGINTPeter Hutterer1-0/+6
We can't call system() in the signal handler but we are allowed to fork. Do that, update the hwdb and immediately exit the child again. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: make sure we remove all udev rules when we SIGINT the testPeter Hutterer1-1/+34
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: only init the device rules oncePeter Hutterer2-67/+23
The udev hwdb takes about 200ms and we still trigger it on each device. The udev rules don't actually change after compiling, so simply create them once and remove them after the test run. For multiple test binaries this needed to be synchronized (which is hard), hence the previous merge into a single binary for all tests. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: merge all tests into a single binaryPeter Hutterer20-109/+78
Call it a libinput-test-suite-runner, in subsequent patches we'll handle doing parallel tests ourselves instead of relying on automake features. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01test: store created udev rules in a list for easier deletionPeter Hutterer1-25/+54
Easier to clean up than knowing all the destination paths we'll install. Only affects global udev rules so far. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01test: make the valgrind test an actual dependency of the test runPeter Hutterer1-1/+1
With parallel builds the valgrind test run would run at the same time as the normal run, the test suite isn't designed for that. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01touchpad: use the udev ID_INPUT_TOUCHPAD_INTEGRATION property if availablePeter Hutterer1-0/+18
udev now labels touchpads as "internal" or "external" for us, use that value where available and only fall back onto our own labelling if it's missing or unknown. systemd commit: https://github.com/systemd/systemd/pull/3638 https://bugs.freedesktop.org/show_bug.cgi?id=96735 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01doc: add links to the two debugging tools as examplesPeter Hutterer1-0/+17
These are the simplest examples on how to use libinput and should be enough to get any potential user started. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01test: make the interfaces staticPeter Hutterer4-4/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-01test: namespace the bitfield helper testsPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>