From ccf5918e1eeeefccc5c475d328025adb01c43a6c572f7f825f7612afedb6425a Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 8 Feb 2018 00:03:47 +0000 Subject: [PATCH 1/2] - Add 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libinput?expand=0&rev=147 --- ...k-to-disable-debouncing-on-the-MS-Na.patch | 211 ++++++++++++++++++ libinput.changes | 5 + libinput.spec | 3 +- 3 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch diff --git a/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch b/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch new file mode 100644 index 0000000..ff26a07 --- /dev/null +++ b/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch @@ -0,0 +1,211 @@ +From 3c84788c376a50c0e3453855712d764f02494f17 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 31 Jan 2018 16:18:15 +1000 +Subject: [PATCH libinput] evdev: add a quirk to disable debouncing on the MS + Nano Transcievers + +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. + +https://bugs.freedesktop.org/show_bug.cgi?id=104415 + +Signed-off-by: Peter Hutterer +--- + meson.build | 1 + src/evdev-debounce.c | 38 ++++++++++++++++++++++++++++++++++++- + src/evdev-fallback.h | 2 + + src/evdev.c | 1 + src/evdev.h | 1 + test/litest.h | 3 ++ + test/test-pointer.c | 14 ++++++------- + udev/90-libinput-model-quirks.hwdb | 4 +++ + 8 files changed, 56 insertions(+), 8 deletions(-) + +Index: libinput-1.9.4/meson.build +=================================================================== +--- libinput-1.9.4.orig/meson.build ++++ libinput-1.9.4/meson.build +@@ -561,6 +561,7 @@ if get_option('tests') + 'test/litest-device-mouse-low-dpi.c', + 'test/litest-device-mouse-wheel-click-angle.c', + 'test/litest-device-mouse-wheel-click-count.c', ++ 'test/litest-device-ms-nano-transceiver-mouse.c', + 'test/litest-device-ms-surface-cover.c', + 'test/litest-device-protocol-a-touch-screen.c', + 'test/litest-device-qemu-usb-tablet.c', +Index: libinput-1.9.4/src/evdev-debounce.c +=================================================================== +--- libinput-1.9.4.orig/src/evdev-debounce.c ++++ libinput-1.9.4/src/evdev-debounce.c +@@ -83,6 +83,7 @@ debounce_state_to_str(enum debounce_stat + CASE_RETURN_STRING(DEBOUNCE_STATE_MAYBE_SPURIOUS); + CASE_RETURN_STRING(DEBOUNCE_STATE_RELEASED); + CASE_RETURN_STRING(DEBOUNCE_STATE_PRESS_PENDING); ++ CASE_RETURN_STRING(DEBOUNCE_STATE_DISABLED); + } + + return NULL; +@@ -395,6 +396,31 @@ debounce_press_pending_event(struct fall + } + + static void ++debounce_disabled_event(struct fallback_dispatch *fallback, ++ enum debounce_event event, ++ uint64_t time) ++{ ++ switch (event) { ++ case DEBOUNCE_EVENT_PRESS: ++ fallback->debounce.button_time = time; ++ debounce_notify_button(fallback, ++ LIBINPUT_BUTTON_STATE_PRESSED); ++ break; ++ case DEBOUNCE_EVENT_RELEASE: ++ fallback->debounce.button_time = time; ++ debounce_notify_button(fallback, ++ LIBINPUT_BUTTON_STATE_RELEASED); ++ break; ++ case DEBOUNCE_EVENT_TIMEOUT_SHORT: ++ case DEBOUNCE_EVENT_TIMEOUT: ++ log_debounce_bug(fallback, event); ++ break; ++ case DEBOUNCE_EVENT_OTHERBUTTON: ++ break; ++ } ++} ++ ++static void + debounce_handle_event(struct fallback_dispatch *fallback, + enum debounce_event event, + uint64_t time) +@@ -434,6 +460,9 @@ debounce_handle_event(struct fallback_di + case DEBOUNCE_STATE_PRESS_PENDING: + debounce_press_pending_event(fallback, event, time); + break; ++ case DEBOUNCE_STATE_DISABLED: ++ debounce_disabled_event(fallback, event, time); ++ break; + } + + evdev_log_debug(fallback->device, +@@ -484,7 +513,8 @@ fallback_debounce_handle_state(struct fa + for (size_t i = 0; i < nchanged; i++) { + bool is_down = hw_is_key_down(dispatch, changed[i]); + +- if (flushed) { ++ if (flushed && ++ dispatch->debounce.state != DEBOUNCE_STATE_DISABLED) { + debounce_set_state(dispatch, + !is_down ? + DEBOUNCE_STATE_IS_DOWN : +@@ -538,6 +568,12 @@ fallback_init_debounce(struct fallback_d + struct evdev_device *device = dispatch->device; + char timer_name[64]; + ++ if (device->model_flags & EVDEV_MODEL_MS_NANO_TRANSCEIVER) { ++ dispatch->debounce.state = DEBOUNCE_STATE_DISABLED; ++ return; ++ } ++ ++ + dispatch->debounce.state = DEBOUNCE_STATE_IS_UP; + + snprintf(timer_name, +Index: libinput-1.9.4/src/evdev-fallback.h +=================================================================== +--- libinput-1.9.4.orig/src/evdev-fallback.h ++++ libinput-1.9.4/src/evdev-fallback.h +@@ -41,6 +41,8 @@ enum debounce_state { + DEBOUNCE_STATE_MAYBE_SPURIOUS, + DEBOUNCE_STATE_RELEASED, + DEBOUNCE_STATE_PRESS_PENDING, ++ ++ DEBOUNCE_STATE_DISABLED = 999, + }; + + struct fallback_dispatch { +Index: libinput-1.9.4/src/evdev.c +=================================================================== +--- libinput-1.9.4.orig/src/evdev.c ++++ libinput-1.9.4/src/evdev.c +@@ -1237,6 +1237,7 @@ evdev_read_model_flags(struct evdev_devi + MODEL(APPLE_TOUCHPAD_ONEBUTTON), + MODEL(LOGITECH_MARBLE_MOUSE), + MODEL(TABLET_NO_PROXIMITY_OUT), ++ MODEL(MS_NANO_TRANSCEIVER), + #undef MODEL + { "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL }, + { NULL, EVDEV_MODEL_DEFAULT }, +Index: libinput-1.9.4/src/evdev.h +=================================================================== +--- libinput-1.9.4.orig/src/evdev.h ++++ libinput-1.9.4/src/evdev.h +@@ -123,6 +123,7 @@ enum evdev_device_model { + EVDEV_MODEL_APPLE_TOUCHPAD_ONEBUTTON = (1 << 25), + EVDEV_MODEL_LOGITECH_MARBLE_MOUSE = (1 << 26), + EVDEV_MODEL_TABLET_NO_PROXIMITY_OUT = (1 << 27), ++ EVDEV_MODEL_MS_NANO_TRANSCEIVER = (1 << 28), + }; + + enum evdev_button_scroll_state { +Index: libinput-1.9.4/test/litest.h +=================================================================== +--- libinput-1.9.4.orig/test/litest.h ++++ libinput-1.9.4/test/litest.h +@@ -268,6 +268,8 @@ enum litest_device_type { + LITEST_WACOM_BAMBOO_2FG_PAD, + LITEST_WACOM_BAMBOO_2FG_PEN, + LITEST_WACOM_BAMBOO_2FG_FINGER, ++ LITEST_HP_WMI_HOTKEYS, ++ LITEST_MS_NANO_TRANSCEIVER_MOUSE, + }; + + enum litest_device_feature { +@@ -301,6 +303,7 @@ enum litest_device_feature { + LITEST_LEDS = 1 << 25, + LITEST_SWITCH = 1 << 26, + LITEST_IGNORED = 1 << 27, ++ LITEST_NO_DEBOUNCE = 1 << 28, + }; + + /* this is a semi-mt device, so we keep track of the touches that the tests +Index: libinput-1.9.4/test/test-pointer.c +=================================================================== +--- libinput-1.9.4.orig/test/test-pointer.c ++++ libinput-1.9.4/test/test-pointer.c +@@ -2602,11 +2602,11 @@ litest_setup_tests_pointer(void) + + litest_add("pointer:time", pointer_time_usec, LITEST_RELATIVE, LITEST_ANY); + +- litest_add_ranged("pointer:debounce", debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD, &buttons); +- litest_add("pointer:debounce", debounce_bounce_check_immediate, LITEST_BUTTON, LITEST_TOUCHPAD); +- litest_add_ranged("pointer:debounce", debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD, &buttons); +- litest_add("pointer:debounce", debounce_spurious_multibounce, LITEST_BUTTON, LITEST_TOUCHPAD); +- litest_add("pointer:debounce_otherbutton", debounce_spurious_dont_enable_on_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); +- litest_add("pointer:debounce_otherbutton", debounce_spurious_cancel_debounce_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); +- litest_add("pointer:debounce_otherbutton", debounce_spurious_switch_to_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); ++ litest_add_ranged("pointer:debounce", debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); ++ litest_add("pointer:debounce", debounce_bounce_check_immediate, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); ++ litest_add_ranged("pointer:debounce", debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); ++ litest_add("pointer:debounce", debounce_spurious_multibounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); ++ litest_add("pointer:debounce_otherbutton", debounce_spurious_dont_enable_on_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); ++ litest_add("pointer:debounce_otherbutton", debounce_spurious_cancel_debounce_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); ++ litest_add("pointer:debounce_otherbutton", debounce_spurious_switch_to_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); + } +Index: libinput-1.9.4/udev/90-libinput-model-quirks.hwdb +=================================================================== +--- libinput-1.9.4.orig/udev/90-libinput-model-quirks.hwdb ++++ libinput-1.9.4/udev/90-libinput-model-quirks.hwdb +@@ -225,6 +225,10 @@ libinput:name:*Lid Switch*:dmi:*svnMicro + libinput:name:*Microsoft Surface Type Cover Keyboard*:dmi:*svnMicrosoftCorporation:pnSurface3:* + LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal + ++# Microsoft Microsoft® Nano Transceiver v2.0" ++libinput:mouse:input:b0003v045Ep0800* ++ LIBINPUT_MODEL_MS_NANO_TRANSCEIVER=1 ++ + ########################################## + # Razer + ########################################## diff --git a/libinput.changes b/libinput.changes index 8af07f6..dde398f 100644 --- a/libinput.changes +++ b/libinput.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Feb 8 00:02:32 UTC 2018 - jengelh@inai.de + +- Add 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch + ------------------------------------------------------------------- Thu Dec 14 08:33:23 UTC 2017 - jengelh@inai.de diff --git a/libinput.spec b/libinput.spec index 8031a73..91942d6 100644 --- a/libinput.spec +++ b/libinput.spec @@ -1,7 +1,7 @@ # # spec file for package libinput # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -34,6 +34,7 @@ Source3: baselibs.conf Source4: %name.keyring Source5: libinput-rpmlintrc Patch1: kill-env.diff +Patch2: 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ From c352d8b0678772e2ae2a4b6f4730b372bd453fa217bcc3ffdb08b20a26b5af36 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 13 Feb 2018 09:04:38 +0000 Subject: [PATCH 2/2] - Update to new upstream release 1.10.0 OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libinput?expand=0&rev=148 --- ...k-to-disable-debouncing-on-the-MS-Na.patch | 211 ------------------ libinput-1.10.0.tar.xz | 3 + libinput-1.10.0.tar.xz.sig | Bin 0 -> 95 bytes libinput-1.9.4.tar.xz | 3 - libinput-1.9.4.tar.xz.sig | Bin 95 -> 0 bytes libinput.changes | 26 +++ libinput.spec | 3 +- 7 files changed, 30 insertions(+), 216 deletions(-) delete mode 100644 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch create mode 100644 libinput-1.10.0.tar.xz create mode 100644 libinput-1.10.0.tar.xz.sig delete mode 100644 libinput-1.9.4.tar.xz delete mode 100644 libinput-1.9.4.tar.xz.sig diff --git a/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch b/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch deleted file mode 100644 index ff26a07..0000000 --- a/0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch +++ /dev/null @@ -1,211 +0,0 @@ -From 3c84788c376a50c0e3453855712d764f02494f17 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 31 Jan 2018 16:18:15 +1000 -Subject: [PATCH libinput] evdev: add a quirk to disable debouncing on the MS - Nano Transcievers - -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. - -https://bugs.freedesktop.org/show_bug.cgi?id=104415 - -Signed-off-by: Peter Hutterer ---- - meson.build | 1 - src/evdev-debounce.c | 38 ++++++++++++++++++++++++++++++++++++- - src/evdev-fallback.h | 2 + - src/evdev.c | 1 - src/evdev.h | 1 - test/litest.h | 3 ++ - test/test-pointer.c | 14 ++++++------- - udev/90-libinput-model-quirks.hwdb | 4 +++ - 8 files changed, 56 insertions(+), 8 deletions(-) - -Index: libinput-1.9.4/meson.build -=================================================================== ---- libinput-1.9.4.orig/meson.build -+++ libinput-1.9.4/meson.build -@@ -561,6 +561,7 @@ if get_option('tests') - 'test/litest-device-mouse-low-dpi.c', - 'test/litest-device-mouse-wheel-click-angle.c', - 'test/litest-device-mouse-wheel-click-count.c', -+ 'test/litest-device-ms-nano-transceiver-mouse.c', - 'test/litest-device-ms-surface-cover.c', - 'test/litest-device-protocol-a-touch-screen.c', - 'test/litest-device-qemu-usb-tablet.c', -Index: libinput-1.9.4/src/evdev-debounce.c -=================================================================== ---- libinput-1.9.4.orig/src/evdev-debounce.c -+++ libinput-1.9.4/src/evdev-debounce.c -@@ -83,6 +83,7 @@ debounce_state_to_str(enum debounce_stat - CASE_RETURN_STRING(DEBOUNCE_STATE_MAYBE_SPURIOUS); - CASE_RETURN_STRING(DEBOUNCE_STATE_RELEASED); - CASE_RETURN_STRING(DEBOUNCE_STATE_PRESS_PENDING); -+ CASE_RETURN_STRING(DEBOUNCE_STATE_DISABLED); - } - - return NULL; -@@ -395,6 +396,31 @@ debounce_press_pending_event(struct fall - } - - static void -+debounce_disabled_event(struct fallback_dispatch *fallback, -+ enum debounce_event event, -+ uint64_t time) -+{ -+ switch (event) { -+ case DEBOUNCE_EVENT_PRESS: -+ fallback->debounce.button_time = time; -+ debounce_notify_button(fallback, -+ LIBINPUT_BUTTON_STATE_PRESSED); -+ break; -+ case DEBOUNCE_EVENT_RELEASE: -+ fallback->debounce.button_time = time; -+ debounce_notify_button(fallback, -+ LIBINPUT_BUTTON_STATE_RELEASED); -+ break; -+ case DEBOUNCE_EVENT_TIMEOUT_SHORT: -+ case DEBOUNCE_EVENT_TIMEOUT: -+ log_debounce_bug(fallback, event); -+ break; -+ case DEBOUNCE_EVENT_OTHERBUTTON: -+ break; -+ } -+} -+ -+static void - debounce_handle_event(struct fallback_dispatch *fallback, - enum debounce_event event, - uint64_t time) -@@ -434,6 +460,9 @@ debounce_handle_event(struct fallback_di - case DEBOUNCE_STATE_PRESS_PENDING: - debounce_press_pending_event(fallback, event, time); - break; -+ case DEBOUNCE_STATE_DISABLED: -+ debounce_disabled_event(fallback, event, time); -+ break; - } - - evdev_log_debug(fallback->device, -@@ -484,7 +513,8 @@ fallback_debounce_handle_state(struct fa - for (size_t i = 0; i < nchanged; i++) { - bool is_down = hw_is_key_down(dispatch, changed[i]); - -- if (flushed) { -+ if (flushed && -+ dispatch->debounce.state != DEBOUNCE_STATE_DISABLED) { - debounce_set_state(dispatch, - !is_down ? - DEBOUNCE_STATE_IS_DOWN : -@@ -538,6 +568,12 @@ fallback_init_debounce(struct fallback_d - struct evdev_device *device = dispatch->device; - char timer_name[64]; - -+ if (device->model_flags & EVDEV_MODEL_MS_NANO_TRANSCEIVER) { -+ dispatch->debounce.state = DEBOUNCE_STATE_DISABLED; -+ return; -+ } -+ -+ - dispatch->debounce.state = DEBOUNCE_STATE_IS_UP; - - snprintf(timer_name, -Index: libinput-1.9.4/src/evdev-fallback.h -=================================================================== ---- libinput-1.9.4.orig/src/evdev-fallback.h -+++ libinput-1.9.4/src/evdev-fallback.h -@@ -41,6 +41,8 @@ enum debounce_state { - DEBOUNCE_STATE_MAYBE_SPURIOUS, - DEBOUNCE_STATE_RELEASED, - DEBOUNCE_STATE_PRESS_PENDING, -+ -+ DEBOUNCE_STATE_DISABLED = 999, - }; - - struct fallback_dispatch { -Index: libinput-1.9.4/src/evdev.c -=================================================================== ---- libinput-1.9.4.orig/src/evdev.c -+++ libinput-1.9.4/src/evdev.c -@@ -1237,6 +1237,7 @@ evdev_read_model_flags(struct evdev_devi - MODEL(APPLE_TOUCHPAD_ONEBUTTON), - MODEL(LOGITECH_MARBLE_MOUSE), - MODEL(TABLET_NO_PROXIMITY_OUT), -+ MODEL(MS_NANO_TRANSCEIVER), - #undef MODEL - { "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL }, - { NULL, EVDEV_MODEL_DEFAULT }, -Index: libinput-1.9.4/src/evdev.h -=================================================================== ---- libinput-1.9.4.orig/src/evdev.h -+++ libinput-1.9.4/src/evdev.h -@@ -123,6 +123,7 @@ enum evdev_device_model { - EVDEV_MODEL_APPLE_TOUCHPAD_ONEBUTTON = (1 << 25), - EVDEV_MODEL_LOGITECH_MARBLE_MOUSE = (1 << 26), - EVDEV_MODEL_TABLET_NO_PROXIMITY_OUT = (1 << 27), -+ EVDEV_MODEL_MS_NANO_TRANSCEIVER = (1 << 28), - }; - - enum evdev_button_scroll_state { -Index: libinput-1.9.4/test/litest.h -=================================================================== ---- libinput-1.9.4.orig/test/litest.h -+++ libinput-1.9.4/test/litest.h -@@ -268,6 +268,8 @@ enum litest_device_type { - LITEST_WACOM_BAMBOO_2FG_PAD, - LITEST_WACOM_BAMBOO_2FG_PEN, - LITEST_WACOM_BAMBOO_2FG_FINGER, -+ LITEST_HP_WMI_HOTKEYS, -+ LITEST_MS_NANO_TRANSCEIVER_MOUSE, - }; - - enum litest_device_feature { -@@ -301,6 +303,7 @@ enum litest_device_feature { - LITEST_LEDS = 1 << 25, - LITEST_SWITCH = 1 << 26, - LITEST_IGNORED = 1 << 27, -+ LITEST_NO_DEBOUNCE = 1 << 28, - }; - - /* this is a semi-mt device, so we keep track of the touches that the tests -Index: libinput-1.9.4/test/test-pointer.c -=================================================================== ---- libinput-1.9.4.orig/test/test-pointer.c -+++ libinput-1.9.4/test/test-pointer.c -@@ -2602,11 +2602,11 @@ litest_setup_tests_pointer(void) - - litest_add("pointer:time", pointer_time_usec, LITEST_RELATIVE, LITEST_ANY); - -- litest_add_ranged("pointer:debounce", debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD, &buttons); -- litest_add("pointer:debounce", debounce_bounce_check_immediate, LITEST_BUTTON, LITEST_TOUCHPAD); -- litest_add_ranged("pointer:debounce", debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD, &buttons); -- litest_add("pointer:debounce", debounce_spurious_multibounce, LITEST_BUTTON, LITEST_TOUCHPAD); -- litest_add("pointer:debounce_otherbutton", debounce_spurious_dont_enable_on_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); -- litest_add("pointer:debounce_otherbutton", debounce_spurious_cancel_debounce_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); -- litest_add("pointer:debounce_otherbutton", debounce_spurious_switch_to_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD); -+ litest_add_ranged("pointer:debounce", debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); -+ litest_add("pointer:debounce", debounce_bounce_check_immediate, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); -+ litest_add_ranged("pointer:debounce", debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); -+ litest_add("pointer:debounce", debounce_spurious_multibounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); -+ litest_add("pointer:debounce_otherbutton", debounce_spurious_dont_enable_on_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); -+ litest_add("pointer:debounce_otherbutton", debounce_spurious_cancel_debounce_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); -+ litest_add("pointer:debounce_otherbutton", debounce_spurious_switch_to_otherbutton, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); - } -Index: libinput-1.9.4/udev/90-libinput-model-quirks.hwdb -=================================================================== ---- libinput-1.9.4.orig/udev/90-libinput-model-quirks.hwdb -+++ libinput-1.9.4/udev/90-libinput-model-quirks.hwdb -@@ -225,6 +225,10 @@ libinput:name:*Lid Switch*:dmi:*svnMicro - libinput:name:*Microsoft Surface Type Cover Keyboard*:dmi:*svnMicrosoftCorporation:pnSurface3:* - LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal - -+# Microsoft Microsoft® Nano Transceiver v2.0" -+libinput:mouse:input:b0003v045Ep0800* -+ LIBINPUT_MODEL_MS_NANO_TRANSCEIVER=1 -+ - ########################################## - # Razer - ########################################## diff --git a/libinput-1.10.0.tar.xz b/libinput-1.10.0.tar.xz new file mode 100644 index 0000000..b0a61e4 --- /dev/null +++ b/libinput-1.10.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2c72c2e0c63498b34d887c28ea84b8570b50fef7ffe489179a1253280d33f57 +size 491444 diff --git a/libinput-1.10.0.tar.xz.sig b/libinput-1.10.0.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..e447ea214e547ea5de6f50ea47df33d3984cde8481d2903da8d279f811e18284 GIT binary patch literal 95 zcmeB(WnmCxVvrS6WUx`Hj~ANI2{MK!r>W8mTxfQd|#XPBp# vQDgX6A!4THpXuAqO4;x`Hj~ANI2{MHz{2W#HlzfQj7u#IRtY v!OL~Yy|-tnT`Eso7<4|d&uNw`w)f6X{ diff --git a/libinput.changes b/libinput.changes index dde398f..f96a67e 100644 --- a/libinput.changes +++ b/libinput.changes @@ -1,3 +1,29 @@ +------------------------------------------------------------------- +Tue Feb 13 08:59:48 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 1.10.0 + * Dropping of the touchpad hysteresis. Previously, we employed + a hysteresis to avoid pointer wobbles. A side-effect of that + hysteresis was that small pointer motion wasn't as reactive + as it should be. A previous attempt in 2016 to drop it failed + (too many devices still needed it) so this time round we have + a different approach: we analyse the event sequence from the + touchpad and if we find it doesn't wobble, we disable the + hysteresis for good. In most cases, this happens fast enough + that you won't even notice, resulting in a more reactive + pointer. + * Touchpad tapping now handles palm detection where applicable, + resting a palm on a touchpad while tapping should not confuse + libinput anymore. Previously, palm touches were treated like + any other touch, causing unexpected 2 and 3-finger clicks. + * Some of the newer Wacom tablets (and older, worn-out ones) + can have a leftover pressure on tip up. This caused libinput + to miss out on the proximity event, leading to a constantly + in-proximity tool. A new threshold for proximity out fixes + this. +- Remove 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch + (included upstream) + ------------------------------------------------------------------- Thu Feb 8 00:02:32 UTC 2018 - jengelh@inai.de diff --git a/libinput.spec b/libinput.spec index 91942d6..0f0a9d9 100644 --- a/libinput.spec +++ b/libinput.spec @@ -18,7 +18,7 @@ Name: libinput %define lname libinput10 -Version: 1.9.4 +Version: 1.10.0 Release: 0 Summary: Input device and event processing library License: MIT @@ -34,7 +34,6 @@ Source3: baselibs.conf Source4: %name.keyring Source5: libinput-rpmlintrc Patch1: kill-env.diff -Patch2: 0001-evdev-add-a-quirk-to-disable-debouncing-on-the-MS-Na.patch BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++