Hello community,

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

Package is "libinput"

Sun Jun 30 10:17:03 2019 rev:75 rq:712349 version:1.13.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/libinput/libinput.changes        2019-06-05 
11:37:29.307091290 +0200
+++ /work/SRC/openSUSE:Factory/.libinput.new.4615/libinput.changes      
2019-06-30 10:17:04.391207438 +0200
@@ -1,0 +2,8 @@
+Fri Jun 28 07:27:31 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Update to new upstream release 1.13.4
+  * Added a quirk for the Lenovo X1 Yoga 1st gen and a
+    Lenovo X230 trackpoint quirk
+  * Better Thinkpad T480 trackpoint multiplier
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ libinput.spec ++++++
--- /var/tmp/diff_new_pack.nI6EOM/_old  2019-06-30 10:17:04.927208271 +0200
+++ /var/tmp/diff_new_pack.nI6EOM/_new  2019-06-30 10:17:04.931208277 +0200
@@ -22,7 +22,7 @@
 
 Name:           libinput
 %define lname  libinput10
-Version:        1.13.2
+Version:        1.13.4
 Release:        0
 Summary:        Input device and event processing library
 License:        MIT

++++++ libinput-1.13.2.tar.xz -> libinput-1.13.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/doc/api/style/libinputdoxygen.css 
new/libinput-1.13.4/doc/api/style/libinputdoxygen.css
--- old/libinput-1.13.2/doc/api/style/libinputdoxygen.css       2019-05-09 
03:10:45.000000000 +0200
+++ new/libinput-1.13.4/doc/api/style/libinputdoxygen.css       2019-06-28 
02:41:48.000000000 +0200
@@ -14,14 +14,29 @@
 }
 
 h1 {
-       font-size: 300%;
-       background-image: none;
-       background-color: #D6E5FF;
-       padding-left: 10px;
+       font-size: 150%;
+       color: #354C7B;
+       background: none;
+       border-bottom: 1px solid #879ECB;
+       font-size: 150%;
+       font-weight: normal;
+       padding-top: 8px;
+       padding-bottom: 8px;
+       padding-left: 0px;
+       width: 100%;
 }
 
 h2 {
-       font-size: 200%;
+       font-size: 120%;
+       color: #354C7B;
+       background: none;
+       border-bottom: 1px solid #879ECB;
+       font-size: 150%;
+       font-weight: normal;
+       padding-top: 8px;
+       padding-bottom: 8px;
+       padding-left: 0px;
+       width: 100%;
 }
 
 .sm-dox li {
@@ -73,6 +88,10 @@
        background-color: #F0F0F0;
 }
 
+div.header {
+       border: none;
+}
+
 td.fieldname {
        font-family: 'Roboto Mono', monospace;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/doc/user/device-quirks.rst 
new/libinput-1.13.4/doc/user/device-quirks.rst
--- old/libinput-1.13.2/doc/user/device-quirks.rst      2019-05-09 
03:10:45.000000000 +0200
+++ new/libinput-1.13.4/doc/user/device-quirks.rst      2019-06-28 
02:41:48.000000000 +0200
@@ -183,3 +183,6 @@
     Disables the evdev event type/code tuples on the device. Entries may be
     a named event type, or a named event code, or a named event type with a
     hexadecimal event code, separated by a single colon.
+AttrPointingStickIntegration=internal|external
+    Indicates the integration of the pointing stick. This is a string enum.
+    Only needed for external pointing sticks. These are rare.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/doc/user/tools.rst 
new/libinput-1.13.4/doc/user/tools.rst
--- old/libinput-1.13.2/doc/user/tools.rst      2019-05-09 03:10:45.000000000 
+0200
+++ new/libinput-1.13.4/doc/user/tools.rst      2019-06-28 02:41:48.000000000 
+0200
@@ -24,7 +24,7 @@
 - ``libinput quirks``: show quirks assigned to a device, see
   :ref:`here <libinput-quirks>`
 
-Most the tools must be run as root to have access to the kernel's
+Most of the tools must be run as root to have access to the kernel's
 ``/dev/input/event*`` device files.
 
 .. _libinput-list-devices:
@@ -69,7 +69,7 @@
 default configuration for this device, for options that have more than a
 binary state all available options are listed, with the default one prefixed
 with an asterisk (``*``). In the example above, the default click method is
-button-areas but clickinger is available.
+button-areas but clickfinger is available.
 
 .. note:: This tool is intended for human-consumption and may change its output
           at any time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libinput-1.13.2/doc/user/touchpad-pressure-debugging.rst 
new/libinput-1.13.4/doc/user/touchpad-pressure-debugging.rst
--- old/libinput-1.13.2/doc/user/touchpad-pressure-debugging.rst        
2019-05-09 03:10:45.000000000 +0200
+++ new/libinput-1.13.4/doc/user/touchpad-pressure-debugging.rst        
2019-06-28 02:41:48.000000000 +0200
@@ -27,6 +27,9 @@
 change at any time**. Users are advised to :ref:`report a bug <reporting_bugs>`
 with the updated pressure ranges when testing has completed.
 
+.. note:: Most distributions ship ``libinput measure`` in a separate
+       ``libinput-utils`` package.
+
 Use the ``libinput measure touchpad-pressure`` tool provided by libinput.
 This tool will search for your touchpad device and print some pressure
 statistics, including whether a touch is/was considered logically down.
@@ -124,6 +127,9 @@
 change at any time**. Users are advised to :ref:`report a bug <reporting_bugs>`
 with the updated pressure ranges when testing has completed.
 
+.. note:: Most distributions ship ``libinput measure`` in a separate
+       ``libinput-utils`` package.
+
 Use the ``libinput measure touch-size`` tool provided by libinput.
 This tool will search for your touchpad device and print some touch size
 statistics, including whether a touch is/was considered logically down.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/meson.build 
new/libinput-1.13.4/meson.build
--- old/libinput-1.13.2/meson.build     2019-05-09 03:10:45.000000000 +0200
+++ new/libinput-1.13.4/meson.build     2019-06-28 02:41:48.000000000 +0200
@@ -1,5 +1,5 @@
 project('libinput', 'c',
-       version : '1.13.2',
+       version : '1.13.4',
        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.13.2/quirks/50-system-lenovo.quirks 
new/libinput-1.13.4/quirks/50-system-lenovo.quirks
--- old/libinput-1.13.2/quirks/50-system-lenovo.quirks  2019-05-09 
03:10:45.000000000 +0200
+++ new/libinput-1.13.4/quirks/50-system-lenovo.quirks  2019-06-28 
02:41:48.000000000 +0200
@@ -20,6 +20,11 @@
 MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT440p*
 ModelLenovoT450Touchpad=1
 
+[Lenovo T480 Trackpoint]
+MatchName=*TPPS/2 IBM TrackPoint
+MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480:*
+AttrTrackpointMultiplier=0.4
+
 [Lenovo T480s Touchpad]
 MatchName=Elan Touchpad
 MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480s*
@@ -40,6 +45,11 @@
 MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX20??:*
 AttrTrackpointMultiplier=1.25
 
+[Lenovo X230 Trackpoint]
+MatchName=*TPPS/2 IBM TrackPoint
+MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX230:*
+AttrTrackpointMultiplier=0.25
+
 [Lenovo P50 Touchpad]
 MatchName=SynPS/2 Synaptics TouchPad
 MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadP50*:
@@ -76,13 +86,20 @@
 MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadX1Carbon6th*
 AttrTrackpointMultiplier=0.4
 
-[Lenovo ThinkPad Compact USB Keyboard with TrackPoint]
+[Lenovo ThinkPad Compact USB Keyboard with TrackPoint (keyboard)]
 MatchUdevType=keyboard
 MatchBus=usb
 MatchVendor=0x17EF
 MatchProduct=0x6047
 AttrKeyboardIntegration=external
 
+[Lenovo ThinkPad Compact USB Keyboard with TrackPoint (trackpoint)]
+MatchUdevType=pointingstick
+MatchBus=usb
+MatchVendor=0x17EF
+MatchProduct=0x6047
+AttrPointingStickIntegration=external
+
 # Lenovo Thinkpad Yoga (not the consumer versions) disables the keyboard
 # mechanically. We must not disable the keyboard because some keys are
 # still accessible on the screen and volume rocker.
@@ -92,6 +109,11 @@
 MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPad*Yoga*:*
 ModelTabletModeNoSuspend=1
 
+[Lenovo X1 Yoga Trackpoint 1st gen]
+MatchName=*TPPS/2 IBM TrackPoint
+MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadX1Yoga1st:*
+AttrTrackpointMultiplier=1.25
+
 # Lenovo Carbon X1 6th gen (RMI4 only, PS/2 is broken on this device,
 # sends bogus ABS_MT_TOOL_TYPE events for MT_TOOL_PALM
 [Lenovo Carbon X1 6th gen]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/src/evdev-fallback.c 
new/libinput-1.13.4/src/evdev-fallback.c
--- old/libinput-1.13.2/src/evdev-fallback.c    2019-05-09 03:10:45.000000000 
+0200
+++ new/libinput-1.13.4/src/evdev-fallback.c    2019-06-28 02:41:48.000000000 
+0200
@@ -1382,8 +1382,8 @@
 }
 
 static void
-fallback_keyboard_pair_tablet_mode(struct evdev_device *keyboard,
-                                  struct evdev_device *tablet_mode_switch)
+fallback_pair_tablet_mode(struct evdev_device *keyboard,
+                         struct evdev_device *tablet_mode_switch)
 {
        struct fallback_dispatch *dispatch =
                fallback_dispatch(keyboard->dispatch);
@@ -1391,8 +1391,12 @@
        if ((keyboard->tags & EVDEV_TAG_EXTERNAL_KEYBOARD))
                return;
 
-       if ((keyboard->tags &
-            (EVDEV_TAG_TRACKPOINT|EVDEV_TAG_INTERNAL_KEYBOARD)) == 0)
+       if ((keyboard->tags & EVDEV_TAG_TRACKPOINT)) {
+               if (keyboard->tags & EVDEV_TAG_EXTERNAL_MOUSE)
+                       return;
+       /* This filters out all internal keyboard-like devices (Video
+        * Switch) */
+       } else if ((keyboard->tags & EVDEV_TAG_INTERNAL_KEYBOARD) == 0)
                return;
 
        if (evdev_device_has_model_quirk(keyboard,
@@ -1429,7 +1433,7 @@
                                struct evdev_device *added_device)
 {
        fallback_lid_pair_keyboard(device, added_device);
-       fallback_keyboard_pair_tablet_mode(device, added_device);
+       fallback_pair_tablet_mode(device, added_device);
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/src/evdev.c 
new/libinput-1.13.4/src/evdev.c
--- old/libinput-1.13.2/src/evdev.c     2019-05-09 03:10:45.000000000 +0200
+++ new/libinput-1.13.4/src/evdev.c     2019-06-28 02:41:48.000000000 +0200
@@ -387,10 +387,34 @@
 evdev_tag_trackpoint(struct evdev_device *device,
                     struct udev_device *udev_device)
 {
-       if (libevdev_has_property(device->evdev,
-                                 INPUT_PROP_POINTING_STICK) ||
-           parse_udev_flag(device, udev_device, "ID_INPUT_POINTINGSTICK"))
-               device->tags |= EVDEV_TAG_TRACKPOINT;
+       struct quirks_context *quirks;
+       struct quirks *q;
+       char *prop;
+
+       if (!libevdev_has_property(device->evdev,
+                                 INPUT_PROP_POINTING_STICK) &&
+           !parse_udev_flag(device, udev_device, "ID_INPUT_POINTINGSTICK"))
+               return;
+
+       device->tags |= EVDEV_TAG_TRACKPOINT;
+
+       quirks = evdev_libinput_context(device)->quirks;
+       q = quirks_fetch_for_device(quirks, device->udev_device);
+       if (q && quirks_get_string(q, QUIRK_ATTR_TRACKPOINT_INTEGRATION, 
&prop)) {
+               if (streq(prop, "internal")) {
+                       /* noop, this is the default anyway */
+               } else if (streq(prop, "external")) {
+                       device->tags |= EVDEV_TAG_EXTERNAL_MOUSE;
+                       evdev_log_info(device,
+                                      "is an external pointing stick\n");
+               } else {
+                       evdev_log_info(device,
+                                      "tagged with unknown value %s\n",
+                                      prop);
+               }
+       }
+
+       quirks_unref(q);
 }
 
 static inline void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/src/quirks.c 
new/libinput-1.13.4/src/quirks.c
--- old/libinput-1.13.2/src/quirks.c    2019-05-09 03:10:45.000000000 +0200
+++ new/libinput-1.13.4/src/quirks.c    2019-06-28 02:41:48.000000000 +0200
@@ -261,6 +261,7 @@
        case QUIRK_ATTR_PALM_SIZE_THRESHOLD:            return 
"AttrPalmSizeThreshold";
        case QUIRK_ATTR_LID_SWITCH_RELIABILITY:         return 
"AttrLidSwitchReliability";
        case QUIRK_ATTR_KEYBOARD_INTEGRATION:           return 
"AttrKeyboardIntegration";
+       case QUIRK_ATTR_TRACKPOINT_INTEGRATION:         return 
"AttrPointingStickIntegration";
        case QUIRK_ATTR_TPKBCOMBO_LAYOUT:               return 
"AttrTPKComboLayout";
        case QUIRK_ATTR_PRESSURE_RANGE:                 return 
"AttrPressureRange";
        case QUIRK_ATTR_PALM_PRESSURE_THRESHOLD:        return 
"AttrPalmPressureThreshold";
@@ -661,6 +662,13 @@
                p->type = PT_STRING;
                p->value.s = safe_strdup(value);
                rc = true;
+       } else if (streq(key, 
quirk_get_name(QUIRK_ATTR_TRACKPOINT_INTEGRATION))) {
+               p->id = QUIRK_ATTR_TRACKPOINT_INTEGRATION;
+               if (!streq(value, "internal") && !streq(value, "external"))
+                       goto out;
+               p->type = PT_STRING;
+               p->value.s = safe_strdup(value);
+               rc = true;
        } else if (streq(key, quirk_get_name(QUIRK_ATTR_TPKBCOMBO_LAYOUT))) {
                p->id = QUIRK_ATTR_TPKBCOMBO_LAYOUT;
                if (!streq(value, "below"))
@@ -1227,6 +1235,7 @@
                { "ID_INPUT_TABLET_PAD", UDEV_TABLET_PAD },
                { "ID_INPUT_JOYSTICK", UDEV_JOYSTICK },
                { "ID_INPUT_KEYBOARD", UDEV_KEYBOARD },
+               { "ID_INPUT_KEY", UDEV_KEYBOARD },
        };
        struct ut_map *map;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/src/quirks.h 
new/libinput-1.13.4/src/quirks.h
--- old/libinput-1.13.2/src/quirks.h    2019-05-09 03:10:45.000000000 +0200
+++ new/libinput-1.13.4/src/quirks.h    2019-06-28 02:41:48.000000000 +0200
@@ -96,6 +96,7 @@
        QUIRK_ATTR_PALM_SIZE_THRESHOLD,
        QUIRK_ATTR_LID_SWITCH_RELIABILITY,
        QUIRK_ATTR_KEYBOARD_INTEGRATION,
+       QUIRK_ATTR_TRACKPOINT_INTEGRATION,
        QUIRK_ATTR_TPKBCOMBO_LAYOUT,
        QUIRK_ATTR_PRESSURE_RANGE,
        QUIRK_ATTR_PALM_PRESSURE_THRESHOLD,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libinput-1.13.2/test/test-quirks.c 
new/libinput-1.13.4/test/test-quirks.c
--- old/libinput-1.13.2/test/test-quirks.c      2019-05-09 03:10:45.000000000 
+0200
+++ new/libinput-1.13.4/test/test-quirks.c      2019-06-28 02:41:48.000000000 
+0200
@@ -1204,6 +1204,39 @@
 }
 END_TEST
 
+START_TEST(quirks_parse_integration_attr)
+{
+       struct litest_device *dev = litest_current_device();
+       char *do_not_use; /* freed before we can use it */
+       bool
+
+       rc = test_attr_parse(dev,
+                            QUIRK_ATTR_KEYBOARD_INTEGRATION,
+                            "internal",
+                            (qparsefunc)quirks_get_string,
+                            &do_not_use);
+       ck_assert(rc);
+       rc = test_attr_parse(dev,
+                            QUIRK_ATTR_KEYBOARD_INTEGRATION,
+                            "external",
+                            (qparsefunc)quirks_get_string,
+                            &do_not_use);
+       ck_assert(rc);
+       rc = test_attr_parse(dev,
+                            QUIRK_ATTR_TRACKPOINT_INTEGRATION,
+                            "internal",
+                            (qparsefunc)quirks_get_string,
+                            &do_not_use);
+       ck_assert(rc);
+       rc = test_attr_parse(dev,
+                            QUIRK_ATTR_TRACKPOINT_INTEGRATION,
+                            "external",
+                            (qparsefunc)quirks_get_string,
+                            &do_not_use);
+       ck_assert(rc);
+}
+END_TEST
+
 START_TEST(quirks_model_one)
 {
        struct litest_device *dev = litest_current_device();
@@ -1432,6 +1465,7 @@
        litest_add_for_device("quirks:parsing", quirks_parse_uint_attr, 
LITEST_MOUSE);
        litest_add_for_device("quirks:parsing", quirks_parse_double_attr, 
LITEST_MOUSE);
        litest_add_for_device("quirks:parsing", quirks_parse_string_attr, 
LITEST_MOUSE);
+       litest_add_for_device("quirks:parsing", quirks_parse_integration_attr, 
LITEST_MOUSE);
 
        litest_add_for_device("quirks:model", quirks_model_one, LITEST_MOUSE);
        litest_add_for_device("quirks:model", quirks_model_zero, LITEST_MOUSE);


Reply via email to