Hello community,

here is the log from the commit of package libinput for openSUSE:Factory 
checked in at 2019-10-30 14:41:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libinput (Old)
 and      /work/SRC/openSUSE:Factory/.libinput.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libinput"

Wed Oct 30 14:41:54 2019 rev:80 rq:743437 version:1.14.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libinput/libinput.changes        2019-10-23 
15:36:40.449738402 +0200
+++ /work/SRC/openSUSE:Factory/.libinput.new.2990/libinput.changes      
2019-10-30 14:42:05.713817085 +0100
@@ -1,0 +2,13 @@
+Mon Oct 28 08:37:10 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Update to release 1.14.3
+  * This release changes the horizontal scroll direction of the
+    Logitech MX Master 3 back to what users would expect (this
+    device ships with the wheel inverted). Tablet no longer force
+    a proximity out while the tip is logically down. Single-touch
+    screens sent superfluous (and wrong) motion events within the
+    same touch down - that's fixed now. Finally, touchpad
+    scrolling now matches the 'default' speed of the cursor,
+    previously it was 10% too fast.
+
+-------------------------------------------------------------------

Old:
----
  libinput-1.14.2.tar.xz
  libinput-1.14.2.tar.xz.sig

New:
----
  libinput-1.14.3.tar.xz
  libinput-1.14.3.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libinput.spec ++++++
--- /var/tmp/diff_new_pack.Oofzo4/_old  2019-10-30 14:42:06.345817758 +0100
+++ /var/tmp/diff_new_pack.Oofzo4/_new  2019-10-30 14:42:06.349817762 +0100
@@ -18,7 +18,7 @@
 
 Name:           libinput
 %define lname  libinput10
-Version:        1.14.2
+Version:        1.14.3
 Release:        0
 Summary:        Input device and event processing library
 License:        MIT

++++++ libinput-1.14.2.tar.xz -> libinput-1.14.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/doc/user/conf.py.in 
new/libinput-1.14.3/doc/user/conf.py.in
--- old/libinput-1.14.2/doc/user/conf.py.in     2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/doc/user/conf.py.in     2019-10-28 05:23:05.000000000 
+0100
@@ -167,10 +167,6 @@
 
 from recommonmark.parser import CommonMarkParser
 
-source_parsers = {
-    '.md': CommonMarkParser,
-}
-
 extlinks = { 'commit' :
                ('https://gitlab.freedesktop.org/libinput/libinput/commit/%s',
                        'git commit ')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/meson.build 
new/libinput-1.14.3/meson.build
--- old/libinput-1.14.2/meson.build     2019-10-17 03:26:59.000000000 +0200
+++ new/libinput-1.14.3/meson.build     2019-10-28 05:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 project('libinput', 'c',
-       version : '1.14.2',
+       version : '1.14.3',
        license : 'MIT/Expat',
        default_options : [ 'c_std=gnu99', 'warning_level=2' ],
        meson_version : '>= 0.41.0')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/quirks/30-vendor-logitech.quirks 
new/libinput-1.14.3/quirks/30-vendor-logitech.quirks
--- old/libinput-1.14.2/quirks/30-vendor-logitech.quirks        2019-10-17 
03:26:59.000000000 +0200
+++ new/libinput-1.14.3/quirks/30-vendor-logitech.quirks        2019-10-28 
05:23:05.000000000 +0100
@@ -55,3 +55,9 @@
 MatchVendor=0x46D
 MatchProduct=0x4082
 ModelInvertHorizontalScrolling=1
+
+# MX Master 3 has a different PID on bluetooth
+[Logitech MX Master 3]
+MatchVendor=0x46D
+MatchProduct=0xB023
+ModelInvertHorizontalScrolling=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/src/evdev-fallback.c 
new/libinput-1.14.3/src/evdev-fallback.c
--- old/libinput-1.14.2/src/evdev-fallback.c    2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/src/evdev-fallback.c    2019-10-28 05:23:05.000000000 
+0100
@@ -977,9 +977,7 @@
        if (dispatch->pending_event & EVDEV_ABSOLUTE_TOUCH_DOWN) {
                if (fallback_flush_st_down(dispatch, device, time))
                        need_touch_frame = true;
-       }
-
-       if (dispatch->pending_event & EVDEV_ABSOLUTE_MOTION) {
+       } else if (dispatch->pending_event & EVDEV_ABSOLUTE_MOTION) {
                if (device->seat_caps & EVDEV_DEVICE_TOUCH) {
                        if (fallback_flush_st_motion(dispatch,
                                                     device,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/src/evdev-tablet.c 
new/libinput-1.14.3/src/evdev-tablet.c
--- old/libinput-1.14.2/src/evdev-tablet.c      2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/src/evdev-tablet.c      2019-10-28 05:23:05.000000000 
+0100
@@ -1944,6 +1944,11 @@
        };
        struct input_event *e;
 
+       if (tablet_has_status(tablet, TABLET_TOOL_IN_CONTACT)) {
+               tablet_proximity_out_quirk_set_timer(tablet, now);
+               return;
+       }
+
        if (tablet->quirks.last_event_time > now - FORCED_PROXOUT_TIMEOUT) {
                tablet_proximity_out_quirk_set_timer(tablet,
                                                     
tablet->quirks.last_event_time);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/src/filter-touchpad.c 
new/libinput-1.14.3/src/filter-touchpad.c
--- old/libinput-1.14.2/src/filter-touchpad.c   2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/src/filter-touchpad.c   2019-10-28 05:23:05.000000000 
+0100
@@ -189,10 +189,19 @@
        struct touchpad_accelerator *accel =
                (struct touchpad_accelerator *)filter;
        struct normalized_coords normalized;
+       /* We need to use the same baseline here as the accelerated code,
+        * otherwise our unaccelerated speed is different to the accelerated
+        * speed on the plateau.
+        *
+        * This is a hack, the baseline should be incorporated into the
+        * TP_MAGIC_SLOWDOWN so we only have one number here but meanwhile
+        * this will do.
+        */
+       const double baseline = 0.9;
 
        normalized = normalize_for_dpi(unaccelerated, accel->dpi);
-       normalized.x = TP_MAGIC_SLOWDOWN * normalized.x;
-       normalized.y = TP_MAGIC_SLOWDOWN * normalized.y;
+       normalized.x = baseline * TP_MAGIC_SLOWDOWN * normalized.x;
+       normalized.y = baseline * TP_MAGIC_SLOWDOWN * normalized.y;
 
        return normalized;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/test/test-tablet.c 
new/libinput-1.14.3/test/test-tablet.c
--- old/libinput-1.14.2/test/test-tablet.c      2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/test/test-tablet.c      2019-10-28 05:23:05.000000000 
+0100
@@ -1534,6 +1534,42 @@
 }
 END_TEST
 
+START_TEST(proximity_out_not_during_contact)
+{
+       struct litest_device *dev = litest_current_device();
+       struct libinput *li = dev->libinput;
+       struct axis_replacement axes[] = {
+               { ABS_DISTANCE, 0 },
+               { ABS_PRESSURE, 10 },
+               { -1, -1 }
+       };
+
+       litest_tablet_proximity_in(dev, 10, 10, axes);
+       litest_tablet_motion(dev, 12, 12, axes);
+       litest_drain_events(li);
+
+       litest_timeout_tablet_proxout();
+       libinput_dispatch(li);
+
+       /* No forced proxout yet */
+       litest_assert_empty_queue(li);
+
+       litest_axis_set_value(axes, ABS_PRESSURE, 0);
+       litest_tablet_motion(dev, 14, 14, axes);
+       litest_drain_events(li);
+
+       litest_timeout_tablet_proxout();
+       libinput_dispatch(li);
+
+       /* The forced prox out */
+       litest_assert_tablet_proximity_event(li,
+                                            
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
+
+       litest_tablet_proximity_out(dev);
+       litest_assert_empty_queue(li);
+}
+END_TEST
+
 START_TEST(proximity_out_no_timeout)
 {
        struct litest_device *dev = litest_current_device();
@@ -5756,6 +5792,7 @@
        litest_add("tablet:proximity", proximity_range_button_press, 
LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
        litest_add("tablet:proximity", proximity_range_button_release, 
LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
        litest_add("tablet:proximity", proximity_out_slow_event, LITEST_TABLET 
| LITEST_DISTANCE, LITEST_ANY);
+       litest_add("tablet:proximity", proximity_out_not_during_contact, 
LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
        litest_add_for_device("tablet:proximity", proximity_out_no_timeout, 
LITEST_WACOM_ISDV4_4200_PEN);
 
        litest_add_no_device("tablet:proximity", proximity_out_on_delete);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/test/test-touch.c 
new/libinput-1.14.3/test/test-touch.c
--- old/libinput-1.14.2/test/test-touch.c       2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/test/test-touch.c       2019-10-28 05:23:05.000000000 
+0100
@@ -64,6 +64,25 @@
 }
 END_TEST
 
+START_TEST(touch_downup_no_motion)
+{
+       struct litest_device *dev = litest_current_device();
+       struct libinput *li = dev->libinput;
+
+       litest_drain_events(li);
+
+       litest_touch_down(dev, 0, 10, 10);
+       libinput_dispatch(li);
+
+       litest_assert_touch_down_frame(li);
+
+       litest_touch_up(dev, 0);
+       libinput_dispatch(li);
+
+       litest_assert_touch_up_frame(li);
+}
+END_TEST
+
 START_TEST(touch_abs_transform)
 {
        struct litest_device *dev;
@@ -1322,6 +1341,8 @@
        struct range axes = { ABS_X, ABS_Y + 1};
 
        litest_add("touch:frame", touch_frame_events, LITEST_TOUCH, LITEST_ANY);
+       litest_add("touch:down", touch_downup_no_motion, LITEST_TOUCH, 
LITEST_ANY);
+       litest_add("touch:down", touch_downup_no_motion, LITEST_SINGLE_TOUCH, 
LITEST_TOUCHPAD);
        litest_add_no_device("touch:abs-transform", touch_abs_transform);
        litest_add("touch:slots", touch_seat_slot, LITEST_TOUCH, 
LITEST_TOUCHPAD);
        litest_add_no_device("touch:slots", touch_many_slots);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.14.2/test/test-touchpad.c 
new/libinput-1.14.3/test/test-touchpad.c
--- old/libinput-1.14.2/test/test-touchpad.c    2019-10-17 03:26:59.000000000 
+0200
+++ new/libinput-1.14.3/test/test-touchpad.c    2019-10-28 05:23:05.000000000 
+0100
@@ -150,13 +150,13 @@
        litest_drain_events(li);
 
        test_2fg_scroll(dev, 0.1, 40, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 9);
        test_2fg_scroll(dev, 0.1, -40, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -9);
        test_2fg_scroll(dev, 40, 0.1, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 9);
        test_2fg_scroll(dev, -40, 0.1, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -9);
 
        /* 2fg scroll smaller than the threshold should not generate events */
        test_2fg_scroll(dev, 0.1, 0.1, true);
@@ -602,13 +602,13 @@
        
libinput_device_config_scroll_set_natural_scroll_enabled(dev->libinput_device, 
1);
 
        test_2fg_scroll(dev, 0.1, 40, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, -9);
        test_2fg_scroll(dev, 0.1, -40, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL, 9);
        test_2fg_scroll(dev, 40, 0.1, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, -9);
        test_2fg_scroll(dev, -40, 0.1, false);
-       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 10);
+       litest_assert_scroll(li, LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL, 9);
 
 }
 END_TEST


Reply via email to