summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-02evdev-mt-touchpad: Enable timestamp smoothing support for bluetooth touchpadsHEADmasterHans de Goede4-4/+12
Bluetooth wreaks havoc with the timestamp of the input events coming from the touchpad, enable timestamp smoothing support to counter this. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2017-07-02filter: Add timestamp smoothing supportHans de Goede1-7/+18
Some devices, specifically some bluetooth touchpads generate quite unreliable timestamps for their events. The problem seems to be that (some of) these touchpads sample at aprox 90 Hz, but the bluetooth stack only communicates about every 30 ms (*) and then sends mutiple HID input reports in one batch. This results in 2-4 packets / SYNs every 30 ms. With timestamps really close together. The finger coordinate deltas in these packets change by aprox. the same amount between each packet when moving a finger at constant speed. But the time deltas are e.g. 28 ms, 1 ms, 1 ms resulting in calculate_tracker_velocity returning vastly different speeds for the 1st and 2nd packet, which in turn results in very "jerky" mouse pointer movement. *) Maybe it is waiting for a transmit time slot or some such. This commit adds support for a real simple timestamp smoothing algorithm, intended *only* for use with touchpads. Since touchpads will send a contineous stream of events at their sample rate when a finger is down, this filter simply assumes that any events which are under event_delta_smooth_threshold us apart are part of a smooth continuous stream of events with each event being event_delta_smooth_value us apart. Theoritically a very still finger may send the exact same coordinates and pressure twice, but even if this happens that is not a problem because a still finger generates coordinates changes below the hyst treshold so we ignore it anyways. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2017-06-28meson: install the libinput-debug-gui if we build itPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-28README: fix link to libinput-debug-eventsPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26configure.ac: libinput 1.7.902Peter Hutterer2-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26tools: fix invocation of subtoolsPeter Hutterer1-1/+1
One dash too many. Oops. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26meson: add preceding spaces before colons where neededPeter Hutterer1-15/+15
Meson does not have a single style but the "foo : bar" style is more common in the docs and in our meson.build file. Make it consistent. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26test: strdup the suite and test namePeter Hutterer1-10/+40
The check framework takes and stores the pointer and expects it to be live for the livetime of the test but it doesn't strdup it. We have to keep those pointers around ourselves. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26tools: split the configuration option parsing outPeter Hutterer7-292/+290
We had one shared parsing function for all config options so tools parse options that don't actually make sense (e.g. --quiet or --show-keycodes for libinput-list-devices). This patch splits the actual libinput device configuration out and reshuffles everything to make use of that. One large patch, because splitting this up is more confusing than dumping it all. This means the actual option parsing is partially duplicated between debug-gui and debug-events but hey, not everything in life is perfect. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26touchpad: ignore the tap motion threshold if fingers > slotsPeter Hutterer2-0/+66
Do so on the synaptics serial touchpads at least, they're known to cause cursor jumps when the third finger is down. Not detecting a tap move means three-finger taps get more reliable on these touchpads. This change affects gestures who now effectively have to wait for the tap timeout to happen. It's a trade-off. https://bugs.freedesktop.org/show_bug.cgi?id=101435 https://bugzilla.redhat.com/show_bug.cgi?id=1455443 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-26meson: swap libinput dependenciesPeter Hutterer1-1/+1
Since meson commit ae9b238 "ninja: De-dup libraries and use --start/end-group" we get linker errors with the tools. The duplication is apparently a bit too agressive, swapping the order here make sure libinput isn't removed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reported-by: Michel Dänzer <michel@daenzer.net> Tested-by: Michel Dänzer <michel.daenzer@amd.com>
2017-06-23Skip restorecon if it cannot be foundPeter Hutterer1-2/+4
https://bugs.freedesktop.org/show_bug.cgi?id=101557 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-22tools: shorten the --help output for the commandsPeter Hutterer7-88/+89
The full information is now in the man page, the usage() now just tells you how to use it. This way there's only one place to maintain it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-22test: remove duplicate testPeter Hutterer1-1/+0
Copy/paste error, no functional changes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-21touchpad: update the timestamp even when we only get other axesPeter Hutterer1-0/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-21touchpad: rename tp_touch->millis to tp_touch->timePeter Hutterer4-11/+11
This is in µs and hasn't been in ms for a long time. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-21meson: restore the SELinux context for our .so file on installPeter Hutterer3-1/+17
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2017-06-21doc: update build instructions for ArchEric Engestrom1-3/+4
`abs` has been deprecated, and shut down last month. [1] `asp` replaces it, so rewrite the instructions to use this instead. Also, add `--noextract` to the makepkg command, as there is no point downloading and extracting the sources since they're not going to be built here. [1] https://www.archlinux.org/news/deprecation-of-abs/ Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-21doc: add instructions for handling SELinux denialsPeter Hutterer1-0/+24
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-06-20tools: add the compat scripts installer script to the tarballPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-06-20meson: build docs by default, but allow disabling itPeter Hutterer2-3/+6
This is the behavior of configure as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-06-20meson: rename 'enable-tests' option to just 'tests'Peter Hutterer2-2/+2
All the other config options have a simple true/false as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-06-20doc: Fix mistake in Matrix example to relect only X along Y axisPhilippe Coval1-1/+1
On some devices, X coordinate is not working well, like if it is swapped: click on right, pointer appear on left and vice versa. To sort this issue, coordinates should be reflected on Y axis: - new X position is changed (width is subtracted by X position) - Y is unchanged (it was wrongly set to X) In landscape (or portrait) mode: [ x ] [ y ] [ 1 ] * = [ -1 0 1 ] [ x' ] = -x + 0*y + 1*width [ 0 1 0 ] [ y' ] = 0*x + 1*y + 0*height [ 0 0 1 ] [ 1 ] This was verified using this touch screen (usb="0eef:0001") E: ID_VENDOR=eGalax_Inc. E: ID_VENDOR_ENC=eGalax\x20Inc. E: ID_VENDOR_ID=0eef https://bugs.freedesktop.org/show_bug.cgi?id=101474 Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-19touchpad: use the "is internal keyboard" tag to enable dwtPeter Hutterer2-101/+13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-19doc: drop the Fedora "ninja-build" notePeter Hutterer1-3/+0
The packages have been in stable for 6 weeks as of this patch, let's not worry about the old ones. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-19tools: assert on malloc failurePeter Hutterer1-1/+3
No need for proper recovery here in this debugging tool. Also sneak in a whitespace fix while we're here. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-19evdev: default to log error priorityPeter Hutterer1-1/+1
Fixes compiler warning: evdev.c:2899:2: warning: 'pri' may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-19configure.ac: libinput 1.7.901Peter Hutterer2-6/+6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-15tools: grab the pointer in the debug guiPeter Hutterer2-1/+15
Because it's too annoying to trigger the hot corner every few seconds while pointer debugging. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-15gitignore: drop test/test-* patternPeter Hutterer1-2/+0
Obsolete since the libinput-test-suite-runner was added Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-15Remove vestiges of the event-guiPeter Hutterer2-2/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13tools: note that the touchpad-tap measuring tool picks a touchpadPeter Hutterer1-0/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13doc: use the same formatting for the gcc command as for everything elsePeter Hutterer1-0/+2
Without the @code tag, the font size differs to everything else in this file Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13doc: update building notes with the bug to ninja vs ninja-build on FedoraPeter Hutterer1-2/+2
Up-to-date Fedora doesn't need to use ninja-build anymore Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13tools: update the publish-doc tool to use ninjaPeter Hutterer1-3/+7
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13doc: add a short blurb regarding lid switch handlingPeter Hutterer1-0/+18
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13test: decouple our tests/test suites from the ones used by checkPeter Hutterer1-73/+62
Check arranges the tests into suites and test cases (which then can have multiple test functions). The primary feature for suites is the ability to select them with environment variables and that the log messages are printed per suite, not per test case. We used the suites to distribute tests across the processes forked by the test runner, but that also resulted in slow suites relying on timeouts (tap/dwt) to take a lot longer than other suites and hold everything else up. This patch basically drops the use of check test suites. Our test runner has a --filter-group argument which selects on suite names, the log messages are more useful if they immediately include the device and the test case name. So we just save the test metatdata in our own struct and then assemble a suite/test case on the fly for each test. The advantage of this is that tests of the same suite are now distributed across the forks so slow tests that rely on length timeouts are now run in parallel. This brings the test runs down to under 6 min again. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13tools: free the tap data on errorPeter Hutterer1-1/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-13tools: add missing toffset copy from src to dest while duplicatingPeter Hutterer1-0/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-09tools: point out that measuring taps may be different to what libinput seesPeter Hutterer1-0/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-09test: localise the open/close function counter in the path testsPeter Hutterer1-68/+69
Reduces the chance of interference between tests. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-09test: use unique names for all the test suite namesPeter Hutterer1-9/+16
This makes it possible to run multiple test suite simultaneously on the same host without messing up the other runs (provided that all instances use the same udev/hwdb files). Previously, removing the udev rules/hwdb at the end of a test run would cause test case failures in other runs that hadn't completed yet. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-06-07test: remove unused devices field from struct testPeter Hutterer1-1/+0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-07udev: Add specific pressure range for the Chromebook R13 CB5-312TPaul Kocialkowski1-0/+5
This adds specific pressure range values for the Elan touchpad found in the Chromebook R13 CB5-312T (codename elm). These values allow using the touchpad from the tip of the finger and makes scrolling generally more reactive. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-07udev: Add generic pressure range values for I2C Elan touchpadsPaul Kocialkowski1-0/+3
This adds generic pressure range values for I2C Elan touchpads used with device-tree. These values were tested to work with various devices and should be acceptable in most cases. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-07udev: Add support for device-tree-based model selectionPaul Kocialkowski2-0/+5
This adds support for detecting input peripherals based on their name and the device-tree model of the device they're used with. This is mostly an equivalent to dmi-based model detection (e.g. on x86 devices) for device that use device-tree (e.g. on ARM devices). Note that this requires systemd updates, see https://github.com/systemd/systemd/pull/5837 Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-06tools: fix linker error with the debug-guiPeter Hutterer1-4/+4
Make sure we link libudev into everything that requires it Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-06tools: link libinput.la for libshared.laPeter Hutterer1-1/+1
Hopefully fixes the Semaphore CI build failures, apparently things are a bit more restrictive there than in Fedora 26. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-06configure.ac: require libevdev 1.3 or laterPeter Hutterer1-1/+1
b5e3fd04b2ab667e844e34 added hooks for the libevdev log handler and that one was added in libevdev 1.3 (released in Sep 2014). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-06-02tools: escape all dashes in man pages (for commands and options)Peter Hutterer6-42/+42
Apparently the rule is that if a dash may end up being copy/pasted, it needs to be escaped. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>