Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / 
libinput


Commits:
1e61cf67 by Peter Hutterer at 2018-08-16T02:28:00Z
doc/user: fix two links for sphinx syntax

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
c476524a by Peter Hutterer at 2018-08-16T02:39:15Z
doc/user: move the trackpoint multiplier debugging to Troubleshooting

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
18aef326 by Matt Mayfield at 2018-08-19T16:54:52Z
doc/user: correct some small typos

- - - - -
02c9c240 by Peter Hutterer at 2018-08-20T00:06:42Z
doc/user: move the tablet capabilities debugging to a separate page

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
eca2f8c9 by Peter Hutterer at 2018-08-20T00:23:21Z
touchpad: improve pointer jump detection

Previously, we had a hard threshold of 20mm per event frame. That is just
about achievable by really fast movements (in which case you don't care too
much about the jumps anyway because you've already hit the edge of the 
screen).

Sometimes pointer jumps have lower deltas that are achievable even on slower,
more likely motions. Analysis of finger motion has shown that while a delta
>7mm per event is possible, jumping _by_ 7mm between two events is unlikely
and indicates a pointer jump. So let's diff the most recent delta and the
current delta, if it increases by 7mm between two event frames let's say 
it's
a pointer jump and discard it.

Helps with but does not fully resolve:
https://gitlab.freedesktop.org/libinput/libinput/issues/80
https://gitlab.freedesktop.org/libinput/libinput/issues/36

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
db8b6f4e by Peter Hutterer at 2018-08-20T08:08:31Z
quirks: remove the multiplier for the Lenovo UltraNav SK-8845

Looks like this isn't needed, see #112. Or Lenovo re-used USB IDs for this
device in which case we'll have to figure out some other solution once 
someone
complains.

Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/112

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
0d62c8fb by Atri Bhattacharya at 2018-08-21T00:45:26Z
Add quirks for Lenovo MIIX 720.

* Lenovo MIIX 720 is a tablet with a detachable keyboard. To keep
  the volume rockers on the tablet enabled even when the keyboard
  is detached, add `ModelTabletModeNoSuspend=1` to the internal
  keyboard.
* The external keyboard is a keyboard-touchpad combo. Assign
  `AttrTPKComboLayout=below` to the touchpad to allow features
  like disable-while-typing and palm-detection.

- - - - -
8371a0d7 by Atri Bhattacharya at 2018-08-21T01:35:00Z
Lenovo MIIX 720 quirk: MatchBus should be usb.

Fixes commit 0d62c8fb.

- - - - -
a52f0db3 by Carlos Garnacho at 2018-08-21T11:10:01Z
quirks: Add quirks for Acer Switch Alpha 12

This is a 2-in-1 laptop with detachable keyboard. The AT keyboard
device is used for tablet-integrated keys (volume, leftmeta) and
should not get disabled with tablet-mode enabled.

The touchpad integrated in the detachable keyboard is already
handled through the "Acer Hawaii Keyboard" chicony rule.

Related: https://gitlab.freedesktop.org/libinput/libinput/issues/115

Signed-off-by: Carlos Garnacho <[email protected]>

- - - - -
621e224d by Peter Hutterer at 2018-08-21T21:35:12Z
gitlab CI: increase the artifacts expiry to 6h

20 min for the "this docker image is ok" marker should be enough but 
not when
we're hit with random stuck containers in the next stage. By the time those
time out the artefacts have been removed and we now get a dependency error,
forcing us to re-run the whole pipeline.

Since the marker is only a few bytes, we can keep this for a bit longer
without risking running out of space.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
f82eeae2 by Kim Lindberger at 2018-08-22T09:18:05Z
tools: fix ptraccel-debug tool for the new trackpoint multiplier

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
99334e11 by Kim Lindberger at 2018-08-22T10:12:55Z
Add quirk to control velocity averaging, disable it by default

libinput applies averaging to the velocity of most pointer devices. Averaging
the velocity makes the motion look smooth and may be of benefit to bad input
devices. For good devices, however, it comes at the unfortunate price of
decreased accuaracy.

This change turns velocity averaging off by default (sets ntrackers to 2 instead
of 16) and allows for it to be turned back on via a quirk, for bad devices which
require it.

- - - - -
11987b41 by Peter Hutterer at 2018-08-26T23:19:46Z
quirks: explicitly mark bluetooth keyboards as external

Required by #119

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
b44f6b4e by Peter Hutterer at 2018-08-26T23:19:46Z
fallback: explicitly ignore external keyboards for the tablet mode switch

We already had a check to only pair trackpoints and internal keyboards
but for the ThinkPad Compact Bluetooth Keyboard with TrackPoint that isn't
sufficient - it's an external keyboard that contains a trackpoint. 
Explicitly
ignore external keyboard, we never want to shut those down in tablet mode
anyway.

Fixes #119

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
e640bac8 by Peter Hutterer at 2018-08-27T07:04:51Z
tools: fix grab handling in libinput debug-gui

The libinput context's user_data was used for deciding whether to grab the
event device but also to hold the struct window data for the debug-gui. Worked
fine for the initial batch of devices, but any device coming in late would
just use the first field of the struct window to decide whether to grab or
not.

Fixes #122

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
04089257 by Peter Hutterer at 2018-08-27T07:21:01Z
test: re-use code in litest_touch_move_to()

We can use the _extended version here. And it turns out the behavior was
slightly different, with the _extended version doing one step too few.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
c2877fdb by Peter Hutterer at 2018-08-27T07:21:45Z
test: don't use move_to for a single-step movement

If we only want one event anyway...

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
b9b4065c by Peter Hutterer at 2018-08-27T07:21:45Z
test: drop two erroneous checks in the dwt tests

These only succeeded because the test suite doesn't use frame intervals - as
soon as the time between event frames is nonzero, we may fail these.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
f9b1875a by Peter Hutterer at 2018-08-27T07:21:45Z
test: fix a DWT test, only worked because of timing success

This test only succeeded because all events were sent within the dwt timeout.
Change it to actually test the behavior of a touch being disabled by DWT and
staying disabled.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
3b97de9a by Peter Hutterer at 2018-08-27T07:21:45Z
test: rename the diagonal scroll test for more clarity

This one only starts with diagonal but continues vertically. Make it clearer.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
74f4491f by Peter Hutterer at 2018-08-27T07:21:45Z
test: fix pad_button_ignored test to not trigger the proximity timeout

Once we start working with real event frames (i.e. intervals after SYN_REPORT)
we'll always trigger the proximity timeout here. Avoid this by sending one
event with all buttons.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
f1668b33 by Peter Hutterer at 2018-08-28T00:50:14Z
test: fix a touchpad test using the wrong coordinates

We moved to 60/60 before, not 50/50.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
edd336b4 by Peter Hutterer at 2018-08-28T00:50:15Z
test: fix the late tripletap test

The coordinates ended up being in the first touch detected as palm. Not
relevant for this test, but let's not do that to avoid false positives.
Also change to 10ms intervals, more realistic given the hardware.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
974425f8 by Peter Hutterer at 2018-08-28T00:50:15Z
test: don't run the 2fg pressure tap test on single-touch devices

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
35b100a2 by Peter Hutterer at 2018-08-28T00:51:04Z
test: make the touchpad jump test more robust for timing errors

move_to() now uses delays, let's make this test more robust for timing 
errors
so we don't fall below the threshold movement we want to trigger.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
bdc7ef8b by Peter Hutterer at 2018-08-28T01:26:08Z
test: change a few tests to use 10ms intervals

Change a number of tests to use 10ms intervals between finger events and fix
the coordinates up accordingly to avoid pointer jumps. This is in preparation
for a test-suite wide use of 10ms intervals.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
20a9c38d by Peter Hutterer at 2018-08-28T01:26:12Z
test: force 10ms intervals for touch moves, unless specified otherwise

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
7768d7d9 by Peter Hutterer at 2018-08-28T01:26:12Z
test: drop the sleep_ms argument

This forces events for every ~10ms now. If we want a slower movement, we need
more steps - just like a real touchpad does it.

Cocinelle spatch files were variants of:
        @@
        expression A, B, C, D, E, F, G, H, I, J, K;
        @@

        - litest_touch_move_two_touches(A, B, C, D, E, F, G, H, I)
        + litest_touch_move_two_touches(A, B, C, D, E, F, G, H)

The only test that needed a real fix was touchpad_no_palm_detect_2fg_scroll,
it used 12ms before, now it's using 10ms so on the bcm5974 touchpad the 
second
finger was a speed-thumb. Increasing the events and thus slowing down the
pointer means it's a normal finger and the test succeeds again.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
65f890a3 by Peter Hutterer at 2018-08-28T01:26:12Z
test: abort when we detect a touch jump during the tests

We never want to accidentally trigger this one. Where we trigger them on
purpose, we can swap the log handler out first.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
a1effa16 by Peter Hutterer at 2018-08-29T21:35:07Z
touchpad: clean up the thumb pressure handling out a bit

Use a boolean for whether we need to use it and drop the unneded absinfo
assignment (together with the goto).

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
66ac659e by Peter Hutterer at 2018-08-29T21:35:14Z
touchpad: add support for size-based thumb detection

Fixes #97

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
27c42990 by Matt Mayfield at 2018-08-29T21:35:22Z
touchpad: fine tune size-based thumb detection

In testing on an Apple Magic Trackpad, thumb touches are reliably
detected by being quite large in the major dimension, but around
half the size in the minor dimension.

- - - - -
a661d7b7 by Peter Hutterer at 2018-08-29T22:17:33Z
tools: handle a finger down at startup for measure pressure/touch-size

Fixes #117

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
50837e6f by Peter Hutterer at 2018-08-29T22:21:58Z
doc/user: expand the Contributing document

This is mostly taken from the Weston Contributing.md document.
Main changes from there are:
- more detailed step-by-step on how to create a MR
- commit history/messages in two sections
- s/Weston/libinput/

I skipped the Review/Commit Rights sections for now until there's some 
demand
for it. Same with the Licensing/Stabilising for releases sections.

Signed-off-by: Peter Hutterer <[email protected]>
Acked-by: Pekka Paalanen <[email protected]>
Acked-by: Daniel Stone <[email protected]>

- - - - -
7d0e1875 by Peter Hutterer at 2018-08-30T22:47:57Z
touchpad: make tp_detect_jumps() time-independent

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 <[email protected]>

- - - - -
06f8e02d by Peter Hutterer at 2018-08-30T22:48:42Z
quirks: add missing i2c and rmi bus matching

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
0e2f1bab by Peter Hutterer at 2018-08-31T01:12:42Z
quirks: add a quirk to monitor MSC_TIMESTAMP for pointer jumps

Currently enabled on all Dell i2c touchpads, these seem to be the ones that
needed it.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
1f5c0119 by Peter Hutterer at 2018-08-31T01:12:42Z
touchpad: add timestamp-based jump detection

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 <[email protected]>

- - - - -
98bfb9f1 by Peter Hutterer at 2018-09-04T00:44:02Z
touchpad: style fix, add missing curlies

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
cc8c5101 by Peter Hutterer at 2018-09-04T00:50:16Z
libinput 1.11.903

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
139cf6e8 by Peter Hutterer at 2018-09-04T04:58:18Z
doc/user: update the trackpoint pointer acceleration graph

Never got updated when the new code was merged

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
bf9c8e06 by Peter Hutterer at 2018-09-05T04:33:28Z
tools: debug-events - print axes on tablet tip events

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 <[email protected]>

- - - - -
f8fec24c by Peter Hutterer at 2018-09-05T06:15:35Z
tablet: always set the changed axis bits if the coordinates differ

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 <[email protected]>

- - - - -
f38fae3a by Peter Hutterer at 2018-09-06T04:11:23Z
tablet: on tip down/up, force the delta to zero

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 <[email protected]>

- - - - -
e09c822f by Peter Hutterer at 2018-09-10T05:57:27Z
udev: re-instate the model-quirks callout

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 <[email protected]>

- - - - -
6c1e3487 by Peter Hutterer at 2018-09-10T05:57:34Z
udev: tighten the conditions when we call the model quirks

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 <[email protected]>

- - - - -
cb49e904 by Peter Hutterer at 2018-09-11T03:18:48Z
tools: drop the libinput measure trackpoint-range tool

This tool is now obsolete, we don't use that range anywhere.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
14e47ed2 by Peter Hutterer at 2018-09-11T03:33:42Z
libinput 1.12.0

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
f0c74661 by Timo Aaltonen at 2018-09-11T06:05:18Z
Merge branch 'upstream-unstable' into debian-unstable

- - - - -
de0f9f61 by Timo Aaltonen at 2018-09-11T06:09:21Z
bump version

- - - - -
a0d01ef5 by Timo Aaltonen at 2018-09-11T06:10:13Z
source: Add .gitlab-ci.yml to extend-diff-ignore.

- - - - -
bb87ca97 by Timo Aaltonen at 2018-09-11T06:13:07Z
upload to unstable

- - - - -


30 changed files:

- + .gitlab-ci.yml
- debian/changelog
- debian/source/local-options
- doc/user/absolute-axes.rst
- doc/user/configuration.rst
- doc/user/contributing.rst
- doc/user/gestures.rst
- doc/user/meson.build
- doc/user/palm-detection.rst
- doc/user/svg/ptraccel-trackpoint.svg
- + doc/user/tablet-debugging.rst
- doc/user/tablet-support.rst
- doc/user/touchpad-pressure.rst
- + doc/user/trackpoint-configuration.rst
- doc/user/trackpoints.rst
- doc/user/troubleshooting.rst
- meson.build
- quirks/10-generic-keyboard.quirks
- + quirks/50-system-acer.quirks
- quirks/50-system-apple.quirks
- quirks/50-system-chicony.quirks
- quirks/50-system-dell.quirks
- quirks/50-system-lenovo.quirks
- src/evdev-fallback.c
- src/evdev-mt-touchpad.c
- src/evdev-mt-touchpad.h
- src/evdev-tablet.c
- src/evdev.c
- src/evdev.h
- src/filter-low-dpi.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libinput/compare/6f5ade6652d5cc116ace4a87510f0ac45e9c0e12...bb87ca97e2cd6bf87659e2108151612e4191b78c

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libinput/compare/6f5ade6652d5cc116ace4a87510f0ac45e9c0e12...bb87ca97e2cd6bf87659e2108151612e4191b78c
You're receiving this email because of your account on salsa.debian.org.

Reply via email to