summaryrefslogtreecommitdiff
path: root/udev
AgeCommit message (Collapse)AuthorFilesLines
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-05-23evdev: read LIBINPUT_ATTR_KEYBOARD_INTEGRATION propertyPeter Hutterer3-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>
2017-05-22Remove write-only CYAPA model tagPeter Hutterer1-1/+0
Obsolete since we moved pressure into the hwdb in 8d5f4decb4086e2b7982c3cd1e24afd9c11f551f Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-05-15udev/hwdb_parser.py: use python3 from env instead of /usr/binGabriel Laskar1-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>
2017-05-02udev: Add specific pressure range for the ASUS ZenBook UX21EPaul Kocialkowski1-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>
2017-05-02udev: Select more generic pressure range values for Elantech touchpadsPaul Kocialkowski1-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>
2017-05-02udev: Remove unused Elantech touchpad model bindingPaul Kocialkowski1-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>
2017-04-26touchpad: move the pressure range to a hwdb entryPeter Hutterer2-1/+9
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-03-30udev: set size hint for the Apple Magic TrackpadPeter Hutterer1-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>
2017-02-20evdev: add quirk for Logitech Marble MousePeter Hutterer1-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>
2017-02-13touchpad: add a hwdb quirk for (external) touchpad/keyboard combosPeter Hutterer2-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>
2017-02-09touchpad: mark the Apple onebutton touchpad as clickfinger-defaultPeter Hutterer1-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>
2017-01-30switch: for surface 3 tablets, write the lid open to the devicePeter Hutterer2-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>
2017-01-30udev: mark all laptops as lid switch reliablePeter Hutterer2-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>
2017-01-16udev: fix parse_hwdb.py to work with pyparsing 2.1.10Peter Hutterer1-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>
2017-01-11udev: mark Asus X555LAB as touchpad with visible markerPeter Hutterer1-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>
2017-01-11touchpad: add a model tag to mark touchpads with visible markerPeter Hutterer1-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>
2016-12-01touchpad: add a quirk for the HP Pavilion dm4Peter Hutterer1-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>
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-21evdev: add a quirk for the HP Zbook Studio G3Peter Hutterer1-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>
2016-11-02evdev: add hwdb quirk for HP Compaq 6910Peter Hutterer1-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>
2016-11-02udev: add the hwdb_parser.py test from systemdPeter Hutterer2-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>
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-07Force the HP Stream 11 touchpad as a clickpadPeter Hutterer1-0/+4
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>
2016-09-05udev: fix comment describing permitted match stringsPeter Hutterer1-1/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-09-05udev: add missing touchpad model name for the HP 8510wPeter Hutterer1-1/+2
2016-09-01evdev: add quirk for the HP85810 touchpadPeter Hutterer1-0/+7
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>
2016-08-03udev: check wacom devices for a paired product idPeter Hutterer2-3/+70
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-01udev: 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>
2016-07-14touchpad: reduce middle button size on Dell touchpads to 10mmPeter Hutterer1-0/+7
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-06-20Merge branch 'wip/touchpad-drop-hysteresis'Peter Hutterer1-2/+0
2016-06-20touchpad: re-enable hysteresis by default for all devicesPeter Hutterer1-2/+0
The removal of the hysteresis even on precise touchpads has led to difficulties controlling the cursor in a few instances. Since 27078b2667d we only have the hysteresis on Apple touchpads and the Lenovo *40 series and later. Even on those do we see some positioning difficulties (bug 94379). So restore the hysteresis by default again for all touchpads. In the future a knob could be exposed for precision vs reactivity or something, but for now the drawback of imprecise positioning does not outweigh the benefits we get on those few devices. https://bugs.freedesktop.org/show_bug.cgi?id=94379 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-06-20test: add an apple magicmouse devicePeter Hutterer1-0/+3
This device has a touchpad on the mouse but it's labeled as mouse. For litest we only label it as LITEST_MOUSE feature and test the touchpad directly on the device. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-06-06touchpad: restore the hysteresis by defaultPeter Hutterer1-18/+2
A large part of the bugs seen right now are related to touchpads jittering too much. Fixing them one by one is entertaining, but time consuming. Right now the number of touchpads that require a hysteresis seem to outnumber those that don't, so switch the approach around: leave the hysteresis in place but disable it for those touchpads that don't need it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-05-30udev: mark the Logitech M570 as trackballPeter Hutterer1-0/+6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-05-23Drop the ALPS_RUSHMORE tagPeter Hutterer1-3/+1
Was only used for the touchpad hysteresis, we can re-use the wobbly touchpad tag for this. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-05-23udev: mark ALPS touchpads fw version 300 as wobbly touchpadsPeter Hutterer1-0/+4
Includes the Dell Lattitude E5420 but since all alps touchpads with the same fw version are the same (as far as we know) hooking this off the firmware version should cover this generation. https://bugzilla.redhat.com/show_bug.cgi?id=1336084 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-05-23udev: add the Yoga 2 to the wobbly touchpadsPeter Hutterer1-0/+4
https://bugs.freedesktop.org/show_bug.cgi?id=95290 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-05-03Add tagging of trackballsPeter Hutterer1-0/+6
Currently unused, but oh, the possibilities... The only thing we have to go on for trackballs at the moment is whether they have "Trackball" in the name string. All others need to be manually tagged. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-04-15touchpad: add LIBINPUT_MODEL_WOBBLY_TOUCHPAD for the HP 14-ac157tuPeter Hutterer1-0/+8
If some elantech touchpads require a hysteresis, let's use some more generic tag for those touchpads that require correct handling of pointer wobbles. https://bugs.freedesktop.org/show_bug.cgi?id=94897 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-04-14udev: update the hwdb matches to avoid use of ( and )Peter Hutterer1-10/+10
libudev's util_replace_chars() replaces the () with underscores so that match would work too but let's use ? instead to make it look like a regex. This now activates the rules for all cyapa touchpads, before they wouldn't have applied to any device. https://bugs.freedesktop.org/show_bug.cgi?id=93846#c12 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-03-11touchpad: add quirk for the T450 and T460 generation hardwarePeter Hutterer1-0/+7
The touchpad's sensors are too far apart (or the firmware interferes), causing in a jerky movement visible especially on slow motion. We get a bunch of normal motion events, then only ABS_MT_PRESSURE updates without x/y updates. After about one mm of movement x/y updates resume, with the first event covering the distance between the last motion event. That event is usually accelerated and thus causes a large jump. Subsequent events are sufficiently fine-grained again. This patch counts the number of non-motion events. Once we hit 10 in a row, we mark the first motion update as non-dirty, effectively discarding the motion and thus stopping the pointer jumps. https://bugs.freedesktop.org/show_bug.cgi?id=94379 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2016-02-10touchpad: init a default hysteresis for ALPS rushmore touchpadsPeter Hutterer2-1/+5
https://bugs.freedesktop.org/show_bug.cgi?id=90590 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-02-10udev: fix ALPS firmware detectionPeter Hutterer2-4/+4
The firmware version is in id.version, not id.model which is always PSMOUSE_ALPS for ALPS devices. The various fw versions are listed in <kernel>/drivers/input/mouse/alps.h and are all hex numbers. Version 8 is actually 0x800, change the match accordingly. Expected side-effect: earlier versions of ALPS touchpads now lose their (erroneous) size assignment. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-02-04touchpad: drop motion hysteresis by defaultPeter Hutterer1-0/+3
Some older touchpad devices jitter a fair bit when a finger is resting on the touchpad. That's why the hysteresis was introduced in the synaptics driver back in 2011. However, the default value of the hysteresis in the synaptics driver ended up being 0, even though the code looks like it's using a fraction of the touchpad diagonal. When the hysteresis code was ported to libinput it was eventually set to 0.5mm. Turns out this is still too high and tiny finger motions are either nonreactive or quite jumpy, making it hard to select small targets. Drop the default hysteresis by reducing its margin to 0, but leave it in place for those devices where we need them (e.g. the cyapa touchpads). https://bugs.freedesktop.org/show_bug.cgi?id=93503 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-02-01evdev: disable the mode button on the Cyborg RAT 5Peter Hutterer2-0/+11
This button sends a release N, press N+1 on each press, cycling through the three event codes supported. This causes a stuck button since the current mode is never released. Long-term this better served by a set of switches that toggle accordingly, for now disable the button codes. https://bugs.freedesktop.org/show_bug.cgi?id=92127 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-01-11touchpad: fix DWT pairing for Macbook Pro 2015Caibin Chen1-0/+3
Label internal keyboards through the udev hwdb and only pair the internal (usb) Apple touchpads with those keyboards labelled as such. https://bugs.freedesktop.org/show_bug.cgi?id=93367 Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-12-14touchpad: add a special quirk for the Lenovo x220 with updated firmwarePeter Hutterer1-0/+12
If an x220 is updated to the touchpad firmware version 8.1, the touchpad suffers from the same issues as the x230 and needs custom acceleration code. Unfortunately we cannot detect this otherwise, so it is left to the user as a custom hwdb setting. https://bugzilla.redhat.com/show_bug.cgi?id=1264453 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>