summaryrefslogtreecommitdiff
path: root/udev
AgeCommit message (Collapse)AuthorFilesLines
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>
2015-08-11udev: use prop_value() to fetch the ID_INPUT_PROP propertyPeter Hutterer1-1/+1
This will thus work if the property is only set on a parent device, not on the device directly. https://github.com/systemd/systemd/issues/763 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-08-04udev: include new udev rule in EXTRA_DISTPeter Hutterer1-0/+1
Fixes distcheck Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-08-03touchpad: elantech touchpads can use a 2mm gesture motion thresholdPeter Hutterer1-0/+1
Unlike ALPS and Synaptics semi-mt touchpads, the Elantech touchpads appear to be precise enough to allow a smaller motion threshold before we decide on the type of gesture (pinch vs scroll). https://bugs.freedesktop.org/show_bug.cgi?id=91475 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-07-28Ignore test devices for libinput contexts not run from the test suiteJonas Ådahl2-1/+5
Add a LIBINPUT_TEST_DEVICE udev parameter to test devices created by the test suite. When an application tries to add such a device to the path backend or when the udev backend discovers such a device, it will be ignored. Only the context when run via the test suite will actually handle these devices. Doing this will enable a user to run the libinput test suite on a system running libinput without having the test suite devices interfering with the actual system. Note that X.org users running an input device driver that is not the libinput X input driver will still need to manually configure the X server to ignore such devices (see test/50-litest.conf). Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-07-27touchpad: disable 2fg scrolling on Synaptics semi-mt touchpadsPeter Hutterer1-0/+26
These touchpads have a terrible resolution when two fingers are down, causing scrolling to jump around a lot. That then turns into bug reports that we can't do much about, the data is simply garbage. 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>
2015-07-22Tag synaptics serial touchpads with a LIBINPUT_MODEL tagPeter Hutterer1-0/+6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Hallelujah-expressed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-07-22evdev: allow for multiple LIBINPUT_MODEL_* flags per devicePeter Hutterer1-8/+2
On some devices we need to set more than one flag, i.e. make it into actual flags. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Hallelujah-expressed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-07-16udev: don't install the litest udev rulesPeter Hutterer1-1/+1
They are installed by the test. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-07-15evdev: parse LIBINPUT_ATTR_RESOLUTION_HINTPeter Hutterer1-0/+6
For Elantech touchpads, we know that the resolution is 31u/mm (800dpi) for v1-v3 firmware. Set this as a hint until we get either the kernel or systemd to set this for us. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-07-14udev: add size hint for apple touchpadsPeter Hutterer1-0/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>