summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-12-07libinput 1.5.31.5.3Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06touchpad: sync BTN_TOOL_FINGER state on initPeter Hutterer2-0/+32
The Elantech touchpad on my Asus Vivobook doesn't release BTN_TOOL_FINGER on up. If the touchpad was used before libinput initializes, the kernel filters the event because its state is already set. We never receive it and keep ignoring all events until the first switch to BTN_TOOL_DOUBLETAP and back. On touchpad init sync the BTN_TOOL_FINGER state and set it accordingly. This is the only event that can be legitimately down on init. We don't care about BTN_TOUCH because ignoring an ongoing touch on init is generally a good idea and we can ignore any multifinger gesture as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 5552a6f145b9cb9d8e00f2fdf25e0acb75fe6c72)
2016-12-06touchpad: add a quirk for the HP Pavilion dm4Peter Hutterer4-1/+17
This touchpad has cursor jumps for 2-finger scrolling that also affects the single-finger emulation. So disable any multitouch bits on this device and disallow the 2-finger scroll method. This still allows for 2-finger tapping/clicking. https://bugs.freedesktop.org/show_bug.cgi?id=91135 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 996b845d68cfa23b7f8a8f9da1bbc40527da562b)
2016-12-06evdev: use safe_atod to convert the matrix valuesPeter Hutterer1-10/+16
Avoids parsing issues when we're in different locales https://bugs.freedesktop.org/show_bug.cgi?id=98828 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 98793f6b435abf8c17b84102de1d7c59ba8e3f54)
2016-12-06util: add a helper function to split a string into substringsPeter Hutterer3-0/+145
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 33100fe88d7872c0c2af429256349af43a82ae27)
2016-12-06util: add safe_atod for locale-independent conversionPeter Hutterer3-13/+81
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit d6020d7ab28de5d5c6ad3e8db948d6366fb758b3)
2016-12-06path: read the calibration prop on startupPeter Hutterer1-0/+2
We were reading this property in the udev backend, but not in the path backend. Reported-by: Thomas Olszak <olszak.tomasz@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 21f0e2e3b7e826de34cbdd5e719b5653d9fbc74c)
2016-12-06evdev: move reading the calibration prop into a helper functionPeter Hutterer3-25/+43
No functional changes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 50e4a1fada655a9b21c66440d90e79ce404de5fd)
2016-12-06util: if errno is nonzero, exit early from safe_atoiPeter Hutterer1-0/+4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 13428f5d82a25c1f56fa247d4a201f805d80fde6)
2016-12-06util: fix include orderPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 4a5dcbf69b8109cccb4d968a191b4d247677e574)
2016-12-06util: fix indentation for safe_atoiPeter Hutterer1-11/+11
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 3168d86223ab62b8c20f42e1db2f510140aaf6d5)
2016-11-25libinput 1.5.21.5.2Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-23touchpad: only use the last two coordinates for delta calculationPeter Hutterer1-15/+5
Taking the last 4 points means factoring in a coordinate that may be more than 40ms in the past - or even more when the finger moves slowly and we don't get events for a while. This makes the pointer more sluggish and slower to catch up with what the finger is actually doing. We already have the motion hysteresis as a separate item to prevent jumps (and thus adds some delay to the movement), the calculation over time doesn't provide enough benefit to justify the sluggish pointer. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-23doc: remove unnecessary linebreak in doxygen filePeter Hutterer1-2/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-22evdev: simplify hysteresis code and document itPeter Hutterer1-3/+35
center + diff is the input coordinate. Simplify the code so it's clear what we're returning. And document the function to explain what it does. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-22test: allow the first event to be a short one during scroll testsPeter Hutterer1-5/+16
The hysteresis cuts the first pointer motion by the hysteresis margin. On some touchpads this causes the tests to fail when the motion history length is reduced (future patch). Allow the first event to be smaller than the expected minimum. This doesn't trigger in current tests because the hysteresis is per-event and by the time we get past the minimum 4 events to move the pointer, we're already flying unaffected by the hysteresis. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-22test: fix edge-scroll no-motion testPeter Hutterer1-2/+2
The test is supposed to make sure no motion event is sent and that scrolling continues once leaving the edge. It does so by moving down the edge, into the touchpad, then down further. The move from the edge into the touchpad had a vertical component to it though and could cause the scroll minimum test to fail. This is currently covered up by the delta calculations though, but fix it anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-22test: start with the first offset when moving touchesPeter Hutterer1-2/+2
This doesn't have an effect in our current tests because the touchpad always needs 4 motion events to get moving. But for the future, it simplifies the case of "i want to move between x1/y1 and x2/y2", because it fills in only the events in between rather than re-using the touch down coordinates and thus not causing a motion on the first event. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-22udev: move TEST_EXTENSIONS out of the conditionalPeter Hutterer1-1/+2
Fixes: udev/Makefile.am:47: warning: 'TEST_EXTENSIONS' cannot have conditional contents Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-22test: fix maybe-uninitialized compiler warningsPeter Hutterer1-5/+5
touchpad-tap.c: In function ‘touchpad_3fg_tap_btntool_inverted’: touchpad-tap.c:1548:2: warning: ‘button’ may be used uninitialized in this function [-Wmaybe-uninitialized] and similar False positive, if button isn't set by now we would've abort()-ed before we even get here. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-22test: mark the various abort functions as noreturnPeter Hutterer1-0/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-21evdev: add a quirk for the HP Zbook Studio G3Peter Hutterer3-0/+11
Announces 4 slots but only sends data for the first two. This causes libinput to miss three-finger actions (we don't look at BTN_TOOL_TRIPLETAP if we have 3 or more slots). https://bugs.freedesktop.org/show_bug.cgi?id=98100 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-16Use AM_DISTCHECK_CONFIGURE_FLAGS, not just DISTCHECK_CONFIGURE_FLAGSPeter Hutterer1-1/+1
The latter is for commandline overrides. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2016-11-14Disable test runs on 'distcheck'Peter Hutterer3-0/+12
The tests require the creation of udev devices which in turn require root and usually cause distcheck runs to fail. Add a new option to disable the *running* of tests at distcheck (we still want to build them). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-14configure.ac: move the udev test path up into the test sectionPeter Hutterer1-6/+6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-14configure.ac: add some comment markers to see the configure.ac sections easierPeter Hutterer1-0/+15
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-14configure.ac: move all AM_CONDITIONALs into one placePeter Hutterer1-3/+3
Makes it easier to see in one go what is conditional in the build. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-11configure.ac: libinput 1.5.11.5.1Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-10evdev: fix typo / bugzilla urlHermann Gausterer1-1/+1
Signed-off-by: Hermann Gausterer <git-libinput-2016@mrq1.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-04evdev: implement support for the MOUSE_WHEEL_CLICK_COUNT propertyPeter Hutterer10-17/+229
Not all mice have a click angle with integer degrees. The new MOUSE_WHEEL_CLICK_COUNT property specifies how many clicks per full rotation, the angle can be calculated from that. See https://github.com/systemd/systemd/pull/4440 for more information CLICK_COUNT overrides CLICK_ANGLE, so we check for the former first and then fall back to the angle if need be. No changes to the user-facing API. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-03doc: expand trackpoint pointer acceleration documentation a bitPeter Hutterer1-3/+22
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-02evdev: add hwdb quirk for HP Compaq 6910Peter Hutterer3-3/+11
Same as the HP Compat 8510, it doesn't send BTN_TOOL_DOUBLETAP/TRIPLETAP. This may be a general issue with those series but they're 6 years old now, so it's questionable to spend extra effort detecting them. https://bugs.freedesktop.org/show_bug.cgi?id=98538 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-02evdev: actually ignore joysticksPeter Hutterer2-1/+35
A joystick has ID_INPUT_JOYSTICK *and* ID_INPUT set, so we need to check for both. https://bugs.freedesktop.org/show_bug.cgi?id=98009 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-02udev: add the hwdb_parser.py test from systemdPeter Hutterer3-0/+189
upstream for this file lives in systemd, any changes to the actual parser should flow back there. libinput's matches are fairly simple. We have the various LIBINPUT_MODEL_ tags that just take a "1" and the two attributes that are dimensions. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-10-28Move touch_notify_frame declaration to the other touch functionsPeter Hutterer1-4/+4
No functional changes Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-10-28Add missing event type checks to libinput_event_gesture_get_base_eventPeter Hutterer1-0/+10
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-10-28touchpad: check for trackpoint/keyboard at the top of the helpersPeter Hutterer1-3/+7
No functional changes, just to filter out devices that don't match immediately. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-10-28touchpad: split the touchpad->keyboard/trackpoint pairing helpers outPeter Hutterer1-8/+16
No functional changes Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-10-25test: add missing comma to horizontal click angle udev rulePeter Hutterer1-1/+1
Without the comma it now assigns the horizontal click angle property to all devices. Introduced in b02acd346b Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-10-25evdev: add missing space in error messagePeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-10-25doc: add a small page about contributing to libinputPeter Hutterer3-0/+23
To be expanded at some future time... Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-10-25test: fix clang warning about abs(float)Peter Hutterer1-2/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2016-10-25touchpad: switch from fabs() to abs()Peter Hutterer1-2/+2
silence clang warning: evdev-mt-touchpad.c:1017:7: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2016-10-25Mark some internal log functions as printf-style functionPeter Hutterer5-0/+7
Fixes the respective clang warnings Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2016-10-19doc: reshuffle the "reporting bugs" pagePeter Hutterer1-12/+101
Split it into several device-specific sections Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-09-16tools: change pointer to voidEric Engestrom1-1/+1
This makes it clear that it's not meant to be dereferenced. CC: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-09-14doc: 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>
2016-09-14configure.ac: libinput 1.5.01.5.0Peter Hutterer1-3/+3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-09-14udev: 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>
2016-09-12touchpad: 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>