summaryrefslogtreecommitdiff
path: root/udev
Commit message (Collapse)AuthorAgeFilesLines
...
* udev: add trackpoint range for Lenovo X280Peter Hutterer2018-03-232-0/+5
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=105485 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: add the P50 to the T450 jumping motion quirksPeter Hutterer2018-03-201-0/+1
| | | | | | | | | | On slow finger motion, this device also sends a bunch of events with only pressure updates, followed by a massive coordinate jump. Enable the quirk so we skip that jump. https://bugs.freedesktop.org/show_bug.cgi?id=105022 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Merge branch 'wip/hysteresis-wobbles'Peter Hutterer2018-03-092-1/+58
|\
| * Extract and reset the abs fuzz value for the x/y axesPeter Hutterer2018-03-092-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel fuzz handling is buggy, especially when we want to rely on the fuzz value for our hysteresis. But since this is a hw property and (at least sometimes) set by the driver, we can't make this a pure libinput hwdb set either. So our workaround is: * extract the (non-zero) fuzz into a udev property so we don't lose it * set the fuzz to 0 to disable the in-kernel hysteresis * overwrite our internal absinfo with the property fuzz This way we get to use the hw-specified fuzz without having the kernel muck around with it. We also get to use the EVDEV_ABS_ values in 60-evdev.hwdb to override a driver-set fuzz. Two drawbacks: - we're resetting the kernel fuzz to 0, this affects any other users of the device node. That's probably a minor impact only. - we can only save this in a udev property there's a risk of this information getting lost when playing around with udev rules. That too should be a minor issue. https://bugs.freedesktop.org/show_bug.cgi?id=105303 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* | touchpad: enable palm detection on tablets' touchpadsPeter Hutterer2018-03-051-0/+4
|/ | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=104986 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix Apple Magic Trackpad sensitivityMario Di Raimondo2018-03-021-0/+2
| | | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=103572 Signed-off-by: Mario Di Raimondo <mario.diraimondo@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: fix flake8-3 complaint in parse_hwdb.pyPeter Hutterer2018-02-271-0/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Silence coverity warning about uninitialized entryPeter Hutterer2018-02-161-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add a test device for aiptek tabletsPeter Hutterer2018-02-131-0/+6
| | | | | | | | | | This tablet advertises tilt but doesn't actually have it. Let's rule out tilt for all aiptek devices until someone complains. Recording from: https://bugzilla.redhat.com/show_bug.cgi?id=1535755 Related to: https://bugs.freedesktop.org/show_bug.cgi?id=104911 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: add a quirk to disable debouncing on the MS Nano TranscieversPeter Hutterer2018-02-131-0/+4
| | | | | | | | | | | | A set of wireless devices that can scramble the timestamps, so we get press/release within 8ms even though I doubt the user is capable of doing this. Since they're generally good quality anyway, let's just disable debouncing on those until someone complains and we need something more sophisticated. https://bugs.freedesktop.org/show_bug.cgi?id=104415 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: add integration flag for the Lenovo Compact Keyboard with TrackPointPeter Hutterer2017-11-141-0/+4
| | | | | | From https://bugzilla.redhat.com/show_bug.cgi?id=1510814 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: drop the version field in device groupsBenjamin Tissoires2017-10-261-2/+1
| | | | | | | | | | | | The version field is a per device information. We have no guarantees a touchscreen and a tablet device will share the same version of the firmware (especially if both firmwares are from different vendors). Fixes the touch arbitration for the Dell Canvas 27 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* fallback: allow for multiple keyboards to toggle the lid switchPeter Hutterer2017-09-251-0/+9
| | | | | | | | | | | | | | | Previously we only listened for events on the first one to come up, based on the assumption that there can only be one internal keyboard. The Razer Blade laptop keyboards come with with multiple event nodes, all looking like a normal keyboard. The one that comes up first is one for special keys, so typing on the internal keyboard after a lid switch does not toggle the write state. Fix this by allowing for up to 3 keyboard listeners for a lid switch. https://bugs.freedesktop.org/show_bug.cgi?id=102039 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tablet: always enable the no-proximity-out quirk on HUION tabletsPeter Hutterer2017-09-213-10/+9
| | | | | | | And instead disable it when we do get a proximity out. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* tablet: add a quirk for the HUION PenTablet that doesn't send proximity out ↵Peter Hutterer2017-09-201-0/+19
| | | | | | | | | | | events Could be fixed in the kernel, but these tablets are effectively abandoned and fixing them is a one-by-one issue. Let's put the infrastructure in place to have this fixed once for this type of device and move on. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Yay-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* udev: move the EKR into the parent's device groupPeter Hutterer2017-09-071-2/+90
| | | | | | | | | If we find an EKR, search for the usb hub of the Cintiq, then find the Cintiq Pen (or Touch) device and assume that device's product id. This way we end up in the same device group as the Cintiq. Co-authored-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: update pressure range for Dell Latitude E6620Peter Hutterer2017-08-211-1/+1
| | | | | | | | | "This gives some more sensitivity to the fingers without introducing spurious touches and movements." https://bugs.freedesktop.org/show_bug.cgi?id=101670 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* touchpad: add touch-size-based palm detectionPeter Hutterer2017-07-112-0/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* touchpad: add touch-size based touch handlingPeter Hutterer2017-07-112-0/+2
| | | | | | | | | | | | Apple touchpads don't use ABS_MT_PRESSURE but they are multitouch touchpads, so the current pressure-based handling code doesn't apply because it expects slot-based pressure for mt touchpads. Apple does however send useful data for ABS_MT_WIDTH_MAJOR/MINOR, so let's use that instead. The data provided in those is more-or-less random, so we need a hwdb entry to track the acceptable thresholds. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: fix flake8 style warningsPeter Hutterer2017-07-101-25/+43
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: cleanup hwdb parsingPeter Hutterer2017-07-101-32/+18
| | | | | | | Group into similar props, we really only have value-based properties or type-based properties. Compress those together so it's easier to understand. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Merge branch 'wip/touchpad-palm-pressure'Peter Hutterer2017-07-042-1/+6
|\
| * touchpad: add pressure-base palm detectionPeter Hutterer2017-07-032-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a touch goes past the fixed pressure threshold it is labelled as a palm and stays a palm. Default value is one that works well here on a T440 and is virtually impossible to trigger by a normal finger or thumb. A udev property is exposed so we can handle this in the udev hwdb and the new tool introduce a few commits ago can help finding the palm detection threshold. Unlike the other palm detection features, once a palm goes past the threshold it remains a palm until the touch is released. This means palm overrides any other palm detection features. For code simplicity, we don't combine the states but merely check for pressure before and after the other palm detection functions. If the pressure triggers, it will trigger before anything else. And if something else is already active (e.g. edge where the pressure doesn't work well) it will trigger as soon as the palm is released. The palm threshold should thus be chosen with some room to spare between the highest finger pressure. https://bugs.freedesktop.org/show_bug.cgi?id=94236 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* | Drop autotoolsPeter Hutterer2017-07-042-57/+0
| | | | | | | | | | | | This also makes the gitignore files shorter and/or obsolete. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* | udev: add custom pressure range for Dell Latitude E6620Peter Hutterer2017-07-041-0/+3
|/ | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=101670 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: Add specific pressure range for the Chromebook R13 CB5-312TPaul Kocialkowski2017-06-071-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>
* udev: Add generic pressure range values for I2C Elan touchpadsPaul Kocialkowski2017-06-071-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>
* udev: Add support for device-tree-based model selectionPaul Kocialkowski2017-06-072-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>
* evdev: read LIBINPUT_ATTR_KEYBOARD_INTEGRATION propertyPeter Hutterer2017-05-233-3/+22
| | | | | | | | | | | | | We have heuristics for detecting whether a keyboard is internal or external, but in some cases (e.g. Surface 3) these heuristics fail. Add a udev property that we can apply to these cases so we have something that's reliable. This will likely eventually become ID_INPUT_KEYBOARD_INTEGRATION as shipped by systemd, similar to the touchpad property. https://bugs.freedesktop.org/show_bug.cgi?id=101101 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove write-only CYAPA model tagPeter Hutterer2017-05-221-1/+0
| | | | | | | Obsolete since we moved pressure into the hwdb in 8d5f4decb4086e2b7982c3cd1e24afd9c11f551f Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev/hwdb_parser.py: use python3 from env instead of /usr/binGabriel Laskar2017-05-151-1/+1
| | | | | | | | | python installation does not always lives in /usr/bin, this allows to use virtualenv for example. Signed-off-by: Gabriel Laskar <gabriel@lse.epita.fr> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: Add specific pressure range for the ASUS ZenBook UX21EPaul Kocialkowski2017-05-021-0/+3
| | | | | | | | | | | This adds specific pressure range values for the Elantech touchpad found in the ASUS ZenBook UX21E. https://bugs.freedesktop.org/show_bug.cgi?id=99975 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>
* udev: Select more generic pressure range values for Elantech touchpadsPaul Kocialkowski2017-05-021-1/+1
| | | | | | | | | | | The current pressure values for Elantech touchpads are too high for various devices and make the touchpad almost unusable on them. Decreasing the pressure range values makes those devices usable again. 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>
* udev: Remove unused Elantech touchpad model bindingPaul Kocialkowski2017-05-021-1/+0
| | | | | | | | | | | The Elantech touchpad model binding in udev is currently unused, since pressure values were moved to a udev binding of their own. This gets rid of the deprecated model binding. 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>
* touchpad: move the pressure range to a hwdb entryPeter Hutterer2017-04-262-1/+9
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: set size hint for the Apple Magic TrackpadPeter Hutterer2017-03-301-0/+3
| | | | | | | | | Not required because it sets the resolution in the kernel, but we have a generic "Apple touchpads" rule with a different size. Even though libinput won't use this property, let's override the generic one with the right dimensions. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: add quirk for Logitech Marble MousePeter Hutterer2017-02-201-0/+4
| | | | | | | | Device needs BTN_MIDDLE disabled, this way middle button emulation is present by default. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* touchpad: add a hwdb quirk for (external) touchpad/keyboard combosPeter Hutterer2017-02-132-1/+13
| | | | | | | | | | Specify the layout of the combo so we know when to initialize palm detection. This allows us to drop palm detection on external touchpads otherwise, replacing the wacom-specific check with something more generic.. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* touchpad: mark the Apple onebutton touchpad as clickfinger-defaultPeter Hutterer2017-02-091-0/+3
| | | | | | | | | | We don't initialize click methods on devices with physical buttons. This model is a special case, it's not a clickpad but it only has one button (because one button is all you ever need and whatnot). https://bugs.freedesktop.org/show_bug.cgi?id=99283 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* switch: for surface 3 tablets, write the lid open to the devicePeter Hutterer2017-01-302-10/+18
| | | | | | | | | | | | These tablets only ever give us a close event, the open event is broken. So when we detect keyboard events, fix the kernel device's state by writing the event to the fd. We still sync the lid state manually, in case this fails and we don't get the SW_LID through the normal event sequence. If it works fine, the real open event will just be ignored. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: mark all laptops as lid switch reliablePeter Hutterer2017-01-302-1/+16
| | | | | | | If the chassis type is 9 or 10 (Laptop, Notebook) let's assume that our lid switch works. On anything else we leave it at unknown. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: fix parse_hwdb.py to work with pyparsing 2.1.10Peter Hutterer2017-01-161-1/+1
| | | | | | | | From systemd commit f644a6da7a: "pyparsing 2.1.10 fixed the handling of LineStart to really just apply to line starts and not ignore whitespace and comments any more. Adjust EMPTYLINE to this." Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* udev: mark Asus X555LAB as touchpad with visible markerPeter Hutterer2017-01-111-0/+6
| | | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=99200 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* touchpad: add a model tag to mark touchpads with visible markerPeter Hutterer2017-01-111-1/+1
| | | | | | | | We used to mark dell touchpads this way but let's make this more generic. Nothing else used the dell touchpad model flag, so we can simply replace it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* touchpad: add a quirk for the HP Pavilion dm4Peter Hutterer2016-12-011-0/+4
| | | | | | | | | | | | 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>
* udev: move TEST_EXTENSIONS out of the conditionalPeter Hutterer2016-11-221-1/+2
| | | | | | | | Fixes: udev/Makefile.am:47: warning: 'TEST_EXTENSIONS' cannot have conditional contents Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: add a quirk for the HP Zbook Studio G3Peter Hutterer2016-11-211-0/+4
| | | | | | | | | | | 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>
* evdev: add hwdb quirk for HP Compaq 6910Peter Hutterer2016-11-021-1/+5
| | | | | | | | | | | 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>
* udev: add the hwdb_parser.py test from systemdPeter Hutterer2016-11-022-0/+185
| | | | | | | | | | | 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>
* udev: fix hwdb match for the HP Stream 11Peter Hutterer2016-09-141-1/+1
| | | | | | prefix must be libinput, not evdev Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>