path: root/udev
AgeCommit message (Collapse)AuthorFilesLines
2018-09-10udev: tighten the conditions when we call the model quirksPeter Hutterer1-1/+1
All we do now is to set the fuzz, so we only ever need to care about this when a device has absolute axes. Signed-off-by: Peter Hutterer <>
2018-09-10udev: re-instate the model-quirks calloutPeter Hutterer1-0/+12
This was removed accidentally as part of a9ef4ba1f33bf8 and then completely dropped in 870ddce9e47a89 when the hwdb was deprecated completely. The model quirks call is also the one that reads and sets the LIBINPUT_FUZZ property, effectively making that code a noop. Fixes #138 Signed-off-by: Peter Hutterer <>
2018-06-18Drop the udev hwdb model quirksPeter Hutterer3-634/+0
Replaced with the quirks files in merge commit 000ac14c27f1920fc84c0ecb1512eb7495e67634 Signed-off-by: Peter Hutterer <>
2018-06-08udev: remove duplicate Chromebook Falco hwdb entryPeter Hutterer1-2/+1
We can expand the first one and re-use it. Signed-off-by: Peter Hutterer <>
2018-06-05udev: the IBM X41 Tablet must not disable the keyboard in tablet modePeter Hutterer1-0/+5 Signed-off-by: Peter Hutterer <>
2018-06-04Revert "udev: copy the trackpoint sensitivity directly from sysfs"Peter Hutterer1-4/+0
The lenovo compact keyboard with trackpoint has a sensitivity of 5, which causes the trackpoint range to be 0. This in turn causes inf/NaN during pointer acceleration as we divide by 0 and makes the cursor go unpredictably somewhere it probably shouldn't be. This is part of a wider problem in that the current sensitivity handling doesn't work well for values well below the default of 128. Any such values are scaled up to multiples of pixels instead of just working as-is. Reverting the automatic sensitivity parsing, any systemd udev property set to change the sensitivity increases it, so we don't run into this bug. This reverts commit a4036a33ca6ca8da7d2417cac6b840a89b295e5f.
2018-05-31udev: drop the JUMPING_SEMI_MT quirk, no-one uses itPeter Hutterer1-40/+0
Obsolete since 342bc510164e89d7c9a742406fb98f9deabf5c8f when we disabled MT on all semi-mt touchpads. Signed-off-by: Peter Hutterer <>
2018-05-31udev: drop the custom firmware detection code in favor of a modaliasPeter Hutterer4-59/+19
This was overengineered. The separation between the model quirks file and the udev hwdb matches allowed for more complex firmware detection. Except we never used it anywhere but on ALPS and there we can, thankfully, just get it from the version number in the input_id field exposed in the modalias. So let's drop this and use that match instead. We just need an extra udev rule to match on ID_INPUT_POINTINGSTICKs so we can differ between ALPS touchpads and ALPS trackpoints. Signed-off-by: Peter Hutterer <>
2018-05-30touchpad: replace the hardcoded thumb threshold with a udev propPeter Hutterer2-0/+5
LIBINPUT_ATTR_THUMB_PRESSURE_THRESHOLD now determines whether we do thumb pressure detection or not. Much better than having a hardcoded default that may or may not be correct on any given device. This patch is likely to break thumb detection on some touchpads, the only property so far is to restore the default of 100 for all Lenovo Thinkpad touchpads. More rules are needed, we'll just wait until someone shouts. Signed-off-by: Peter Hutterer <>
2018-05-30udev: default to a trackpoint range of 160 for the new ALPS trackpointsPeter Hutterer1-0/+3 Signed-off-by: Peter Hutterer <>
2018-05-30udev: support firmware detection for pointing sticksMartin Wilck2-6/+25
Add support for firmware detection on pointing stick devices. This is needed for ALPS only at this time. Signed-off-by: Martin Wilck <> Signed-off-by: Peter Hutterer <>
2018-05-24udev: fix entry for Lenovo X280, missing dmi: prefixPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <>
2018-05-17evdev: add three more Logitech K400-like devices to the debouncing quirkPeter Hutterer1-2/+8
And rename the model flag, no point in having separate flags here, we likely have to add more devices over time. Signed-off-by: Peter Hutterer <>
2018-05-15Add quirk to fix spurious palm detections on MacBook Pro (13-inch, Mid 2009)Veli-Jussi Raitila1-0/+4 Signed-off-by: Peter Hutterer <>
2018-05-09udev: Fix Chromebook R13 CB5-312T hwdb namePaul Kocialkowski1-1/+1
This fixes a typo in the Chromebook R13 CB5-312T hwdb name match and extends it to the full model name, so that potential future other Chromebook R13 devices (that are not CB5-312T) won't use these quirks. Signed-off-by: Paul Kocialkowski <> Signed-off-by: Peter Hutterer <>
2018-05-03udev: copy the trackpoint sensitivity directly from sysfsPeter Hutterer1-0/+4
Rather than going the roundabout way of having systemd set the sensitivity followed by us reading that udev property and hoping, just take the sensitivity directly from sysfs. This makes us basically independent of what systemd does (or the lack of systemd, where that is a problem). It does remove the chance of users to trick libinput by manually adjusting the sensitivity after the udev rules kicked in, but seriously, we should work on fixing acceleration properly in that case. Signed-off-by: Peter Hutterer <>
2018-05-02Fix spurious palm detections for Logitech Wireless TouchpadMike Hogye1-0/+4
This device frequently reports large pressure values during normal usage. It does not require a tight palm threshold, because it is a desktop device -- not built into a laptop surface -- so we can avoid false positives by setting a very high threshold. Signed-off-by: Peter Hutterer <>
2018-04-26fallback: Add IBM/Lenovo Scrollpoint mice quirk to enable smooth scrolling.Peter Ganzhorn1-0/+15
Instead of a scroll wheel these mice feature trackpoint-like sticks which generate a huge amount of scroll events that need to be handled differently than scroll wheel events. Signed-off-by: Peter Ganzhorn <> Signed-off-by: Peter Hutterer <>
2018-04-20evdev: disable ABS_MT_TOOL_PALM on the Lenovo X1 Carbon 6th genPeter Hutterer1-0/+4
This device randomly decides that a touch is now a palm, based on the moon phase, the user's starsign and possibly what the dog had for breakfast. Since libinput assumes that a touchpad that labels a touch as palm has reasons to do so, let's unassume this for this device by disabling that axis altogether and relying on the touch pressure only. Signed-off-by: Peter Hutterer <> Reviewed-by: Benjamin Tissoires <>
2018-04-19Improve responsiveness for Apple Magic TrackpadDaniel van Vugt1-2/+3
The touch size threshold was too high, so occasionally libinput would think the finger had lifted when it hadn't and events would be ignored. Similarly, the palm threshold was too low, so occasionally libinput would think a heavy single finger was a palm and ignored that too. This fixes both of those issues. Signed-off-by: Peter Hutterer <>
2018-04-18udev: add the P50 to the T450 jumping motion quirksPeter Hutterer1-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. This patch was initially applied as ab55302ef and reverted as e8cb7e4523. Turns out the issues are unrelated to this patch, so let's re-apply it. Signed-off-by: Peter Hutterer <>
2018-04-18evdev: don't suspend keyboard on ThinkPad X1 Yoga 1st in tablet modeDavide Depau1-0/+5
When the X1 Yoga is in tablet mode, one capacitative touch button (windows key, sends KEY_LEFTMETA) and two side volume buttons are accessible on the front. The key event comes through the internal keyboard that we disabled in tablet mode so it stops working. Luckily the Yoga physically disables the "main" keyboard when in tablet mode, so all we have to do is skip our code to disable the keyboard and the keys are working again. Signed-off-by: Peter Hutterer <>
2018-04-17Add Dell XPS13 L322X touchpad quirksSean Lanigan1-0/+4
Signed-off-by: Sean Lanigan <> Signed-off-by: Peter Hutterer <>
2018-04-17Revert "Add Dell XPS13 L322X touchpad quirks"Peter Hutterer1-4/+0
The current match doesn't capture all L322X devices, the 'pn' element of the dmi modalias can read 'pnXPSL322X' or 'pnDellSystemXPSL322X'. Reverting in favour of the following patch. This reverts commit 69fe467fbacbc8376d548c335c79cca71b606b07.
2018-04-13Add Dell XPS13 L322X touchpad quirksSean Lanigan1-0/+4 Signed-off-by: Sean Lanigan <> Signed-off-by: Peter Hutterer <>
2018-04-13debounce: disable debouncing on the Logitech K400Peter Hutterer1-0/+4
This is an external keyboard+touchpad but not recognised as touchpad by the kernel so it's in mouse emulation mode. Double-taps are sent with impossibly close timestamps and filtered out by the debouncing code. Since this isn't a real button that can wear out anyway, let's just disable debouncing on this device. Signed-off-by: Peter Hutterer <>
2018-04-10Revert "udev: add the P50 to the T450 jumping motion quirks"Peter Hutterer1-1/+0
Apparently this negatively affects scrolling behavior. This reverts commit ab55302ef88c3827ecc32f3dd3dc58ca7ebfb7a9. Signed-off-by: Peter Hutterer <>
2018-03-23udev: add T450s trackpoint rangePeter Hutterer1-0/+4
From Signed-off-by: Peter Hutterer <>
2018-03-23udev: add trackpoint range for the T440sPeter Hutterer1-0/+4
Measured at 200 sensitivity because that's what systemd sets for us Signed-off-by: Peter Hutterer <>
2018-03-23udev: add the T440p to the T450 jumping motion quirksPeter Hutterer1-0/+6
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. This is for RMI4 and PS/2, RMI4 is confirmed in the bug below, let's assume PS/2 has that issue too. Signed-off-by: Peter Hutterer <>
2018-03-23udev: add trackpoint range for Lenovo X280Peter Hutterer2-0/+5 Signed-off-by: Peter Hutterer <>
2018-03-20udev: add the P50 to the T450 jumping motion quirksPeter Hutterer1-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. Signed-off-by: Peter Hutterer <>
2018-03-09Merge branch 'wip/hysteresis-wobbles'Peter Hutterer2-1/+58
2018-03-09Extract and reset the abs fuzz value for the x/y axesPeter Hutterer2-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. Signed-off-by: Peter Hutterer <>
2018-03-05touchpad: enable palm detection on tablets' touchpadsPeter Hutterer1-0/+4 Signed-off-by: Peter Hutterer <>
2018-03-02Fix Apple Magic Trackpad sensitivityMario Di Raimondo1-0/+2 Signed-off-by: Mario Di Raimondo <> Signed-off-by: Peter Hutterer <>
2018-02-27udev: fix flake8-3 complaint in parse_hwdb.pyPeter Hutterer1-0/+1
Signed-off-by: Peter Hutterer <>
2018-02-16Silence coverity warning about uninitialized entryPeter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <>
2018-02-13Add a test device for aiptek tabletsPeter Hutterer1-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: Related to: Signed-off-by: Peter Hutterer <>
2018-02-13evdev: add a quirk to disable debouncing on the MS Nano TranscieversPeter Hutterer1-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. Signed-off-by: Peter Hutterer <>
2017-11-14udev: add integration flag for the Lenovo Compact Keyboard with TrackPointPeter Hutterer1-0/+4
From Signed-off-by: Peter Hutterer <>
2017-10-26udev: drop the version field in device groupsBenjamin Tissoires1-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 <> Signed-off-by: Peter Hutterer <>
2017-09-25fallback: allow for multiple keyboards to toggle the lid switchPeter Hutterer1-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. Signed-off-by: Peter Hutterer <>
2017-09-21tablet: always enable the no-proximity-out quirk on HUION tabletsPeter Hutterer3-10/+9
And instead disable it when we do get a proximity out. Signed-off-by: Peter Hutterer <> Reviewed-by: Benjamin Tissoires <>
2017-09-20tablet: add a quirk for the HUION PenTablet that doesn't send proximity out ↵Peter Hutterer1-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 <> Yay-by: Benjamin Tissoires <>
2017-09-07udev: move the EKR into the parent's device groupPeter Hutterer1-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 <> Signed-off-by: Peter Hutterer <>
2017-08-21udev: update pressure range for Dell Latitude E6620Peter Hutterer1-1/+1
"This gives some more sensitivity to the fingers without introducing spurious touches and movements." Signed-off-by: Peter Hutterer <>
2017-07-11touchpad: add touch-size-based palm detectionPeter Hutterer2-0/+2
Signed-off-by: Peter Hutterer <>
2017-07-11touchpad: add touch-size based touch handlingPeter Hutterer2-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 <>
2017-07-10udev: fix flake8 style warningsPeter Hutterer1-25/+43
Signed-off-by: Peter Hutterer <>