summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-22configure.ac: libinput 1.4.31.4.31.4-branchPeter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-09-22touchpad: require at least 3 events before enabling trackpoint palm detectionPeter Hutterer3-1/+35
Some trackpoints, notably the one on the Lenovo T460s have a tendency to send the odd event even when they're not actually used. Trackpoint events trigger palm detection (see 0210f1fee193) and thus effectively disable the touchpad, causing the touchpad to appear nonresponsive. Fix this by requiring at least 3 events from a trackpoint before palm detection is enabled. For normal use it's hard enough to trigger a single event anyway so this should not affect the normal use-case. https://bugzilla.redhat.com/show_bug.cgi?id=1364850 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 416fa44d80b0f2c53b652ddfa35dd4a156a65c65)
2016-09-22test: add trackpoint palm detection testsPeter Hutterer3-0/+81
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit df781aad2fa24fc176ac017aa948e00108dbca4f)
2016-09-22doc: specify the https path for mathjaxPeter Hutterer1-0/+1
freedesktop.org always serves https for the documentation. if Mathjax is pulled in from http, browsers reject it [1] Let's take the default doxygen value but just add the https to it. In the future we should just ship a copy of mathjax with our documentation. [1] https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content/How_to_fix_website_with_mixed_content Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Wheres-my-beer-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> (cherry picked from commit 31a168abcd78178e5091372ae14719f9cd968e99)
2016-09-20udev: fix hwdb match for the HP Stream 11Peter Hutterer1-1/+1
prefix must be libinput, not evdev Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit f43a072d2c7ea87a2430c373765190f785e57fa0)
2016-09-20Force the HP Stream 11 touchpad as a clickpadPeter Hutterer3-0/+12
INPUT_PROP_BUTTONPAD is not set on this device and RMI4 which should fix this is a bit too far into the future at this point. Hack around it. https://bugs.freedesktop.org/show_bug.cgi?id=97147 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 18adfed4c14ae21d55164350d9f9e0a8b6142430)
2016-09-20udev: add missing touchpad model name for the HP 8510wPeter Hutterer1-1/+2
(cherry picked from commit 43a8502ecf5823455b697a4c3cc1bb4dec2c0759)
2016-09-06tablet: if a serial comes in late, discard itPeter Hutterer2-7/+106
If a tool starts reporting with serial 0 and later updates to a real serial, discard that serial and keep reporting as serial 0. We cannot really change the tool after proximity in as we don't know when callers query for the serial (well, we could know but any well-written caller will ask for the serial on the proximity in event, so what's the point). Thus if we do get a serial in and the matching tool, check if we have a tool with the serial 0 already. If so, re-use that. This means we lose correct tool tracking on such tablets but so far these seem to only be on devices where the use of multiple tools is unlikely. https://bugs.freedesktop.org/show_bug.cgi?id=97526 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> (cherry picked from commit d686e13338522ce920a88dffb636facbb90658a5)
2016-09-06test: add a Wacom HID 4800 test devicePeter Hutterer4-0/+123
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> (cherry picked from commit 9550cd47b21413374ea791d28e614b57b416aecd)
2016-09-06evdev: add quirk for the HP85810 touchpadPeter Hutterer3-0/+17
The touchpad's says it can do two- and three-finger detection but it never sends events for it. Disable them so we treat it as pure single-finger touchpad. https://bugzilla.redhat.com/show_bug.cgi?id=1351285 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 64c8939911ef1c625119131bcfef2c6699106af1)
2016-09-06test: add the valgrind test suite output to the distcleanfilesPeter Hutterer1-0/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 3ecd389c94305f4dba1b3305555a8e989e9f3e27)
2016-08-30configure.ac: libinput 1.4.21.4.2Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-30touchpad: always reset the motion history on finger changesPeter Hutterer2-5/+56
We've already been doing this for semi-mt devices and for non-clickpads but let's do it for clickpads as well. On Synaptics touchpads (PS/2 and RMI4) we see slot jumps where two slots are active, slot X ends but slot Y continues with the other slot's positional data. This causes a cursor jump on finger lift after a two-finger scrolling motion. Simply resetting the motion history fixes it. The only multi-finger interaction where a user could expect perfect fluid motion is when using a second finger to touch cone of the software button areas. Let's see if we have complaints first before we implement something more complex. https://bugs.freedesktop.org/show_bug.cgi?id=91695 Signed-off-by:Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit aa87d2b25b88b86ddd1471f65e1afceff7fca9c4)
2016-08-30test: prevent cursor jumps in the various tap testsPeter Hutterer1-6/+6
Probably a copied typo in the original tests, 5 events with 40ms in between makes less sense than the now-replacement 20 events every 2ms. The previous one could trigger the cursor jump detection. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit bc9e9267f0f67ea4562a053f8ff94e94790243e3)
2016-08-30touchpad: 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> (cherry picked from commit b1a811ee521dc56ed5d1c789251fad245b758a80)
2016-08-30touchpad: 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> (cherry picked from commit 3cb60130c182cb4bbfa8f908218fb12e84866cd5)
2016-08-18doc: fix wrong argument to udevadm hwdbPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 60c8b0769501d9fa19c0494d2c335c3519ff50c9)
2016-08-05libinput 1.4.11.4.1Peter Hutterer1-2/+2
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> (cherry picked from commit ae30353a739cf059a987cdc5b41173212bd66500)
2016-08-05touchpad: 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> (cherry picked from commit 64e39411892fa4897f6e018daaa2de2ffaf8b671)
2016-08-05doc: 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> (cherry picked from commit 14d0cd9d38520295fb9244869edfa4648dd9424b)
2016-08-05udev: don't overwrite a previously set device groupPeter Hutterer1-0/+1
In some cases a device may need a device group assigned by a custom udev rule or hwdb entry. Don't overwrite that with our generated one. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 188bad48668661378827818a8706aa621a1182dd)
2016-08-05evdev: prefix "tablet unknown to libwacom" error with the device namePeter Hutterer1-1/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 45a574a7859cb83e589c6f2d33d81a3f666ba60d)
2016-07-18configure.ac: libinput 1.4.01.4.0Peter Hutterer1-3/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-18test: make one ALPS and the Synaptics i2c test devices Dell touchpadsPeter Hutterer2-0/+22
The i2c one came from an Dell XPS13. The ALPS one I can't remember but highly likely they were on Dells and if not, nothing really changes here anyway because it's not a clickpad and right now only clickpads have dell-specific behaviour. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-18touchpad: change offset ints to device_coordsPeter Hutterer1-15/+15
No functional changes, just makes the unit more explicit Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-18evdev: constify evdev_device_get_sizePeter Hutterer2-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-15touchpad: don't init a horizontal scroll area on touchpads <50mm highPeter Hutterer2-2/+94
We simply don't have enough space on those touchpads to have an area carved out for horizontal scrolling. Given that horizontal scrolling is rarely needed anyway users of these touchpads will just have to cling to scroll bars or use two-finger scrolling. Exception are small clickpads because they already have an area blocked off for software buttons and those small clickpads generally come from a time when clickfinger wasn't much of a thing yet. https://bugs.freedesktop.org/show_bug.cgi?id=96910 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-15test: split edge scroll tests into one for vert, one for horizPeter Hutterer1-2/+13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-14touchpad: reduce middle button size on Dell touchpads to 10mmPeter Hutterer4-3/+30
All Dell touchpas appear to have a visual marker on their touchpads. With a visible marker our middle button can (and should) be much smaller since we can rely on users to hit the button precisely. https://bugs.freedesktop.org/show_bug.cgi?id=96710 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Andy Lutomirski <luto@kernel.org> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-13touchpad: drop unused argument diagonal from tp_init_accelPeter Hutterer1-4/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-13tablet: catch potential segfault if the filter fails to allocatePeter Hutterer1-0/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-13Fix some indentation issuesPeter Hutterer1-5/+5
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-12test: add a Cintiq 13 HDT test devicePeter Hutterer6-0/+382
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-12configure.ac: libinput 1.4rc11.3.901Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-11Remove LIBINPUT_EVENT_TABLET_PAD_MODE eventPeter Hutterer5-41/+0
Unimplemented and it wasn't supposed to be in the series. https://lists.freedesktop.org/archives/wayland-devel/2016-June/029376.html Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
2016-07-11Fix and improve mode group documentationPeter Hutterer1-18/+29
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-06test: write the valgrind test results to a different output filePeter Hutterer1-1/+1
Otherwise we overwriting the output from the normal test run. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-05test: up the timeout to 30sPeter Hutterer1-1/+1
10s is not enough when running the test suite in parallel as any test may have to wait longer than that to get access to the udev lock. Especially for tests with multiple timeouts it was too easy to trigger timeouts. Up the timeout to 30s, this seems reliable enough now. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-07-05test: create a lock file to avoid parallel udev reloads during device addPeter Hutterer2-0/+66
litest_add_device and litest_delete_device trigger a udev rule reload. This messes with some test devices and when we run multiple tests in parallel we get weird errors like "keyboard $BLAH failed the touchpad sanity test". Still not 100% reliable to run tests in parallel, but it's vastly improved now. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
2016-07-05test: fix a memleak when creating udev devicesPeter Hutterer1-2/+6
If the first device we got didn't have the expected syspath we'd leak the device and cause the valgrind tests to fail. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-04Merge branch 'wip/tablet-pad-modes-v3'Peter Hutterer22-163/+2367
2016-07-04touchpad: remove software middle button when emulation is enabledPeter Hutterer10-13/+382
Expose the middle button emulation on software buttons as proper config option. When enabled, remove the middle button software button area. https://bugs.freedesktop.org/show_bug.cgi?id=96663 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-07-04evdev: return the desired middle button emulation statePeter Hutterer1-1/+1
Middle button emulation may be delayed in turning on, but during that delay we already need to return the desired state. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-04touchpad: unify internal/external touchpad taggingPeter Hutterer3-20/+55
To unify this we need to move the tagging process forward so tp_init() can rely on it for config setup. This means moving it to the touchpad init code. Other than that no real functional changes, the rules stay the same: * serial/i2c/etc. are considered internal touchpads * Bluetooth is always external * USB is external for Logitech devices * USB is external for Wacom devices * USB is internal for Apple touchpads And if we can't figure it out, we assume it's external and log a message so we can put a quirk in place. https://bugs.freedesktop.org/show_bug.cgi?id=96735 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-07-04gestures: make the gesture movement threshold depending on finger countPeter Hutterer2-8/+11
Increase the mm move threshold for 3 and 4 finger gestures to 2 and 3 mm, respectively. In multi-finger gestures it's common to have minor movement while all fingers are being put down or before the conscious movement starts. This can trigger invalid gesture detection (e.g. a pinch instead of a swipe). Increase the movement threshold to make sure we have sufficient input data. No changes to 2-finger movements. https://bugs.freedesktop.org/show_bug.cgi?id=96687 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-06-30gitignore: add pattern for gcov detritusPeter Hutterer1-0/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-06-30doc: add a section to the FAQ on how to retrigger hwdb changesPeter Hutterer1-0/+31
I'm typing this way too often into bugreports Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-06-29touchpad: only check for vertical finger distribution on 2fg gesturesPeter Hutterer1-12/+13
A natural hand position for a 4-finger swipe will have one finger well below the other triggering the pinch detection. This is obviously wrong, only do the finger position analysis when we have 2 fingers. This is only a partial fix, for 3-4 finger gestures chances are high that the third/fourth finger come in a different event frame. Before that we likely detect 2 fingers in a possible pinch position and still trigger the code path. This issue has to be fixed separately. https://bugs.freedesktop.org/show_bug.cgi?id=96687 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-06-28tablet: make the cursor/lens tool behave like a 1000dpi mousePeter Hutterer3-21/+80
The current code tried to emulate the relative motion to be equivalent to the absolute motion, except in screen coordinates. This is way too slow for the cursor tool that we want to behave like a mouse. Tablets have high resolution (e.g. an Intuos 4 is a 5080dpi mouse) and that motion is way too fast to be usable. Scale it down to match a 1000dpi device instead. Since the cursor and lens tool are still high precision devices leave them in a flat acceleration profile without actual acceleration. For the stylus-like devices leave the current accel, pointer acceleration on a stylus is hard to handle. This also adds the missing bits for actually using the speed factor set through the config interface. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com> Reviewed-by: Carlos Garnacho <carlosg@gnome.org>