Hello community, here is the log from the commit of package libinput for openSUSE:Factory checked in at 2015-08-07 00:19:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libinput (Old) and /work/SRC/openSUSE:Factory/.libinput.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinput" Changes: -------- --- /work/SRC/openSUSE:Factory/libinput/libinput.changes 2015-07-19 11:45:33.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libinput.new/libinput.changes 2015-08-07 00:19:44.000000000 +0200 @@ -1,0 +2,34 @@ +Tue Aug 4 16:35:20 UTC 2015 - zai...@opensuse.org + +- Update to version 0.21.0: + * A new addition to the API is the configuration option to toggle + disable-while-typing. It's still enabled by default, but can + now be disabled for the use-cases where it is problematic + (games, for example). The API is the usual quartett of + configuration options: + - libinput_device_config_dwt_is_available + - libinput_device_config_dwt_set_enabled + - libinput_device_config_dwt_get_enabled + - libinput_device_config_dwt_get_default_enabled + * The second addition to the API is the ability to get the time + in microseconds from an event: + - libinput_event_gesture_get_time_usec + - libinput_event_keyboard_get_time_usec + - libinput_event_pointer_get_time_usec + - libinput_event_touch_get_time_usec + * libinput switched internally to use µs for all timestamps which + will help those devices that have a sampling frequency of more + than 1000Hz. + * Thumb detection, added for 0.20, has seen fine-tuning to reduce + the number of misdetection. Likewise, the gesture code has seen + a bunch of changes to tune the reliability of gesture + detection, especially on semi-mt touchpads. + * Scrolling is now more reactive too, with reduced thresholds + before scrolling kicks in. + * Merged a bunch of device-specific device handling to + work around quirks and deficiencies in some touchpad hardware. +- Add + libinput-touchpad-serial-synaptics-needto-fake-new-touches.patch + following upstreams advice for kernel 4.1. + +------------------------------------------------------------------- Old: ---- libinput-0.20.0.tar.xz libinput-0.20.0.tar.xz.sig New: ---- libinput-0.21.0.tar.xz libinput-0.21.0.tar.xz.sig libinput-touchpad-serial-synaptics-needto-fake-new-touches.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libinput.spec ++++++ --- /var/tmp/diff_new_pack.t5zH2l/_old 2015-08-07 00:19:45.000000000 +0200 +++ /var/tmp/diff_new_pack.t5zH2l/_new 2015-08-07 00:19:45.000000000 +0200 @@ -18,8 +18,8 @@ Name: libinput %define lname libinput10 -%define rversion 0.20.0 -Version: 0.20 +%define rversion 0.21.0 +Version: 0.21 Release: 0 Summary: Input device and event processing library License: MIT @@ -33,6 +33,7 @@ Source2: http://freedesktop.org/software/libinput/%name-%rversion.tar.xz.sig Source3: baselibs.conf Source4: %name.keyring +Patch1: libinput-touchpad-serial-synaptics-needto-fake-new-touches.patch #git#BuildRequires: autoconf >= 2.64 #git#BuildRequires: automake >= 1.11 #git#BuildRequires: libtool >= 2.2 @@ -99,6 +100,7 @@ %prep %setup -qn %name-%rversion +%patch -P 1 -p1 %build if [ ! -e configure ]; then ++++++ libinput-0.20.0.tar.xz -> libinput-0.21.0.tar.xz ++++++ ++++ 12947 lines of diff (skipped) ++++++ libinput-touchpad-serial-synaptics-needto-fake-new-touches.patch ++++++ From: Peter Hutterer <peter.hutte...@who-t.net> References: http://lists.freedesktop.org/archives/wayland-devel/2015-August/023782.html On the 4.1 kernels synaptics pretends to have 3 slots (the serial fw only does 2). This was added to avoid cursor jumps but has since been reverted for 4.2 (kernel commit dbf3c37086, 4.1.3 is still buggy). In some cases a TRIPLETAP may be triggered without slot 2 ever activating. While there are still those kernels out there, work around this bug by opening a new touch point where none exists if the fake finger count exceeds the slot count. Reported-by: Jan Alexander Steffens <jan.steffens at gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net> Tested-by: Jan Alexander Steffens <jan.steffens at gmail.com> Reviewed-by: Hans de Goede <hdegoede at redhat.com> --- Changes to v2: - split out the handling instead of having a tmp state variable, see Hans' comments from v2 Mainly sending this to the list again so I have a link to point people to. If you're on 4.1.x add this patch to your distribution package. src/evdev-mt-touchpad.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index a683d9a..5ef03d5 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -369,13 +369,23 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp, for (i = 0; i < tp->num_slots; i++) { struct tp_touch *t = tp_get_touch(tp, i); - if (t->state != TOUCH_END) + switch(t->state) { + case TOUCH_HOVERING: + case TOUCH_BEGIN: + case TOUCH_UPDATE: continue; - - /* new touch, move it through begin to update immediately */ - tp_new_touch(tp, t, time); - tp_begin_touch(tp, t, time); - t->state = TOUCH_UPDATE; + case TOUCH_NONE: + /* new touch, move it through to begin immediately */ + tp_new_touch(tp, t, time); + tp_begin_touch(tp, t, time); + break; + case TOUCH_END: + /* touch just ended, we need need to restore it to update */ + tp_new_touch(tp, t, time); + tp_begin_touch(tp, t, time); + t->state = TOUCH_UPDATE; + break; + } } } -- 2.4.3