- Oct 03, 2018
-
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
We rely on the udev keyboard builtin to set the fuzz but that builtin isn't run during udevadm test. So running sudo udevadm test shows the LIBINPUT_FUZZ properties the first time round (still set from boot), but not the second time. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Oct 02, 2018
-
-
Peter Hutterer authored
tp_detect_thumb_while_moving() assumes that of the 2 fingers down, at least one must be in TOUCH_UPDATE, otherwise we wouldn't have a speed to analyze for thumb. If a touch starts in HOVERING and exceeds the speed limit, we were previously increasing the 'exceeded count'. This later leads to an assert() in tp_detect_thumb_while_moving() when the second finger comes down because although we have multiple fingers, none of them are in TOUCH_UPDATE. This only happens when fingers 2 and 3 come down in the same event frame, because then we have nfingers_down at 2 (the hovering one doesn't count) but we don't yet have a finger in TOUCH_UPDATE. Fix this twofold, first by now calculating the speed on anything but TOUCH_UPDATE. And second by force-resetting the speed count on TOUCH_BEGIN/TOUCH_END so we definitely cover all the hover transitions. Fixes #150 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Fixes #148 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 28, 2018
-
-
Peter Hutterer authored
-
- Sep 27, 2018
-
-
Peter Hutterer authored
When we disable the touch device, any existing touches should be cancelled, not just released. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Because that's how we use it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
This is a 0-360 ranged value, so let's print it aligned. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 26, 2018
-
-
Peter Hutterer authored
This touchpad stops sending pressure data after the first frame of the second finger down. If the initial pressure is too light, the finger doesn't get detected even when the pressure increases in the future. This thing is from 2014, so let's just disable the pressure axes on it and skip the pressure-based touch detection code. Let's hope that it doesn't also have ghost touches on light interactions... Fixes #145 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Pretends to have a middle button where there is none. Fixes #142 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 20, 2018
-
-
Peter Hutterer authored
Reduces the places we need to update bits for new quirks. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Anything that merely requires a once-off check during initialization can just use the quirks directly, no need to copy them over to the model flags. Fixes #146 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
-
Peter Hutterer authored
-
- Sep 18, 2018
-
-
Diego Rondini authored
Fix libinput_event_destroy call by passing the correct parameter (event) in the example code. Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 17, 2018
-
-
Peter Hutterer authored
The hwdb match entry used to be this one: libinput:name:*Elan Touchpad*:dt:* LIBINPUT_ATTR_PRESSURE_RANGE=10:8 from commit 596777a3. It was intended to match for devicetree only but the way the udev rules were composed, it ended up matching on any system. Restore that for all systems to have compatibility with 1.11. For this one, let's also add the resolution hint and hope that that works too. Fixes #140 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Copy/paste typos introduced in the hwdb to quirks transition Fixes #141 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Was 0x800 in the hwdb, became 0x8000 in th quirks transition because of inflation, but let's pretend the economy is back to normal and devalue our currency. (aka: "it was a typo", whoops and whatnot) https://bugs.freedesktop.org/show_bug.cgi?id=104415 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Bennett Hardwick authored
-
-
- Sep 14, 2018
-
-
Peter Hutterer authored
If sizeof(long) == sizeof(int), this test won't pass so let's drop it altogether. Fixes #137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 12, 2018
-
-
Peter Hutterer authored
The previous check only worked if sizeof(long) > sizeof(int). Rather than be fancy about it, just cast to a signed long, check for negativity and continue based on that. Fixes #137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Fixes #137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 11, 2018
-
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
This tool is now obsolete, we don't use that range anywhere. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 10, 2018
-
-
Peter Hutterer authored
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 <peter.hutterer@who-t.net>
-
Peter Hutterer authored
This was removed accidentally as part of a9ef4ba1 and then completely dropped in 870ddce9 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 <peter.hutterer@who-t.net>
-
- Sep 06, 2018
-
-
Peter Hutterer authored
We may get a pointer jump on tip down/up, see #128. For absolute coordinates we reset the history to avoid smoothing across that jump but deltas still used to be calculated based on the previous position to the current one. This can result in a large jump on tip down. Since the delta is supposed to be useful (and not physically accurate, see the docs), let's force it to 0/0 on tip down/up to avoid that scenario. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 05, 2018
-
-
Peter Hutterer authored
Because we're doing axis smoothing, we may get a nonzero delta between events even when the real axis hasn't updated. Make sure the bit is set in this case. One part of #128 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Bit of a weird diff, print_tablet_axes() was moved up and a single call to print_tablet_axes() was added in the tablet tip event handler. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Sep 04, 2018
-
-
Peter Hutterer authored
Never got updated when the new code was merged Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Aug 31, 2018
-
-
Peter Hutterer authored
On Dell i2c touchpads, the controller appears to go to sleep after about 1s of inactivity on the touchpad. The wakeup takes a while so on the next touch, we may see a pointer jump, specifially on the third event (i.e. touch down, event, event+jump). The MSC_TIMESTAMP value carries a hint for what's happening here, the event sequence for a touchpad with scanout intervals 7300µs is: ... MSC_TIMESTAMP 0 SYN_REPORT ... MSC_TIMESTAMP 7300 SYN_REPORT +2ms ... MSC_TIMESTAMP 123456 SYN_REPORT +7ms ... MSC_TIMESTAMP 123456+7300 SYN_REPORT +8ms Note how the SYN_REPORT timestamps don't reflect the MSC_TIMESTAMPS. This patch adds a quirk activate MSC_TIMESTAMP watching. When we do so, we monitor for a 0 MSC_TIMESTAMP. Let's assume that the first event after that is the interval, then check the third event. If that third event's timestamp is too large rewrite the touches' motion history to reflect the correct timestamps, i.e. instead of the SYN_REPORT timestamps the motion history now uses "third-event SYN_REPORT timestamps minus MSC_TIMESTAMP values". The pointer accel filter code uses absolute timestamps (#123) so we have to restart the pointer acceleration filter when we detect this jump. This allows us to reset the 0 time for the filter to the previous event's MSC_TIMESTAMP time, so that our new large delta has the correct time delta too. This calculates the acceleration correctly for that window. The result is that the pointer is still delayed by the wake-up window (not fixable in libinput) but at least it ends up where it should've. There are a few side-effects: thumb, gesture, and hysteresis all still use the unmodified SYN_REPORT time. There is a potential for false detection of either of these now, but we'll have to fix those as they come up. Fixes #36 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
Currently enabled on all Dell i2c touchpads, these seem to be the ones that needed it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
- Aug 30, 2018
-
-
Peter Hutterer authored
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
Peter Hutterer authored
This function expected distances per-frame, not per-time which gives us different behaviors depending on the hardware scanout rate. Fix this by normalizing to a 12ms frame rate which reflects the touchpad I measured all the existing thresholds on. This is a bit of a problem for the test suite which doesn't use proper intervals and the change to do so is rather invasive. So for now we set the interval for test devices to whatever the time delta is so we can test the jumps without having to worry about intervals. Fixes #121 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-