Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libinput for openSUSE:Factory checked in at 2021-04-08 21:01:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libinput (Old) and /work/SRC/openSUSE:Factory/.libinput.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinput" Thu Apr 8 21:01:18 2021 rev:98 rq:880892 version:1.17.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libinput/libinput.changes 2021-03-02 15:19:06.521696367 +0100 +++ /work/SRC/openSUSE:Factory/.libinput.new.2401/libinput.changes 2021-04-08 21:01:20.141846860 +0200 @@ -1,0 +2,7 @@ +Wed Mar 24 08:54:57 UTC 2021 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 1.17.1 + * quirks: add quirks for Apple SPI input devices + * Add Lenovo Legion 5 keyboard to 50-system-lenovo.quirks + +------------------------------------------------------------------- Old: ---- libinput-1.17.0.tar.xz libinput-1.17.0.tar.xz.sig New: ---- libinput-1.17.1.tar.xz libinput-1.17.1.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libinput.spec ++++++ --- /var/tmp/diff_new_pack.II0370/_old 2021-04-08 21:01:20.909847690 +0200 +++ /var/tmp/diff_new_pack.II0370/_new 2021-04-08 21:01:20.913847694 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libinput +# spec file for package libinput%{?xsuffix} # # Copyright (c) 2021 SUSE LLC # @@ -37,7 +37,7 @@ %define lname libinput10 %define pname libinput Name: libinput%{?xsuffix} -Version: 1.17.0 +Version: 1.17.1 Release: 0 Summary: Input device and event processing library License: MIT ++++++ libinput-1.17.0.tar.xz -> libinput-1.17.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/completion/zsh/_libinput new/libinput-1.17.1/completion/zsh/_libinput --- old/libinput-1.17.0/completion/zsh/_libinput 2021-02-23 10:33:05.104062600 +0100 +++ new/libinput-1.17.1/completion/zsh/_libinput 2021-03-24 06:20:58.514437200 +0100 @@ -163,12 +163,35 @@ ':device:_files -W /dev/input/ -P /dev/input/' } +(( $+functions[_libinput_analyze_per-slot-delta] )) || _libinput_analyze_per-slot-delta() +{ + _arguments \ + '--help[Show help message and exit]' \ + ':recording:_files' +} + +(( $+functions[_libinput_analyze_touch-down-state] )) || _libinput_analyze_touch-down-state() +{ + _arguments \ + '--help[Show help message and exit]' \ + ':recording:_files' +} + +(( $+functions[_libinput_analyze_recording] )) || _libinput_analyze_recording() +{ + _arguments \ + '--help[Show help message and exit]' \ + ':recording:_files' +} + (( $+functions[_libinput_analyze] )) || _libinput_analyze() { local curcontext=$curcontext state line ret=1 local features features=( "per-slot-delta:analyze relative movement per touch per slot" + "recording:analyze a recording by printing a pretty table" + "touch-down-state:analyze a recording for logical touch down states" ) _arguments -C \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/doc/user/normalization-of-relative-motion.rst new/libinput-1.17.1/doc/user/normalization-of-relative-motion.rst --- old/libinput-1.17.0/doc/user/normalization-of-relative-motion.rst 2021-02-23 10:33:05.119062400 +0100 +++ new/libinput-1.17.1/doc/user/normalization-of-relative-motion.rst 2021-03-24 06:20:58.520437200 +0100 @@ -27,6 +27,11 @@ movement speed increases, acceleration is applied - at high speeds a low-dpi device will roughly feel the same as a higher-dpi mouse. +The reason for the normalization is convenience: a caller can assume that a +delta of 1 should result in a movement of 1 pixel on a traditional +(low-dpi) screen. On screens with high resolutions, the caller must scale +according to the UI scale factors. + This normalization only applies to accelerated coordinates, unaccelerated coordinates are left in device-units. It is up to the caller to interpret those coordinates correctly. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/meson.build new/libinput-1.17.1/meson.build --- old/libinput-1.17.0/meson.build 2021-02-23 10:33:05.137062500 +0100 +++ new/libinput-1.17.1/meson.build 2021-03-24 06:20:58.531437400 +0100 @@ -1,5 +1,5 @@ project('libinput', 'c', - version : '1.17.0', + version : '1.17.1', license : 'MIT/Expat', default_options : [ 'c_std=gnu99', 'warning_level=2' ], meson_version : '>= 0.47.0') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/quirks/50-system-apple.quirks new/libinput-1.17.1/quirks/50-system-apple.quirks --- old/libinput-1.17.0/quirks/50-system-apple.quirks 2021-02-23 10:33:05.140062600 +0100 +++ new/libinput-1.17.1/quirks/50-system-apple.quirks 2021-03-24 06:20:58.532437300 +0100 @@ -27,6 +27,12 @@ MatchName=*Apple Inc. Apple Internal Keyboard* AttrKeyboardIntegration=internal +[Apple Internal Keyboard (SPI)] +MatchUdevType=keyboard +MatchBus=spi +MatchVendor=0x5AC +AttrKeyboardIntegration=internal + # The Apple MagicMouse has a touchpad built-in but the kernel still # emulates a full 2/3 button mouse for us. Ignore anything from the # ABS interface @@ -89,3 +95,22 @@ MatchVendor=0x5AC MatchProduct=0x0262 AttrPalmSizeThreshold=1600 + +[Apple Laptop Touchpad (SPI)] +MatchUdevType=touchpad +MatchBus=spi +MatchVendor=0x5AC +ModelAppleTouchpad=1 +AttrSizeHint=104x75 +AttrTouchSizeRange=150:130 +AttrPalmSizeThreshold=1600 + +# The Linux applespi driver currently uses the Synaptics vendor for some reason +[Apple Laptop Touchpad (SPI)] +MatchUdevType=touchpad +MatchBus=spi +MatchVendor=0x6CB +ModelAppleTouchpad=1 +AttrSizeHint=104x75 +AttrTouchSizeRange=150:130 +AttrPalmSizeThreshold=1600 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/quirks/50-system-google.quirks new/libinput-1.17.1/quirks/50-system-google.quirks --- old/libinput-1.17.0/quirks/50-system-google.quirks 2021-02-23 10:33:05.141062500 +0100 +++ new/libinput-1.17.1/quirks/50-system-google.quirks 2021-03-24 06:20:58.532437300 +0100 @@ -89,7 +89,7 @@ [Google Chromebook Eve] MatchUdevType=touchpad -MatchName=ACPI0C50:00 18D1:5028 +MatchName=ACPI0C50:00 18D1:5028* MatchDMIModalias=dmi:*svnGoogle:pnEve* ModelChromebook=1 AttrPressureRange=6:4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/quirks/50-system-hp.quirks new/libinput-1.17.1/quirks/50-system-hp.quirks --- old/libinput-1.17.0/quirks/50-system-hp.quirks 2021-02-23 10:33:05.141062500 +0100 +++ new/libinput-1.17.1/quirks/50-system-hp.quirks 2021-03-24 06:20:58.532437300 +0100 @@ -22,7 +22,7 @@ # Touchpad is a clickpad but INPUT_PROP_BUTTONPAD is not set, see # https://bugs.freedesktop.org/show_bug.cgi?id=97147 [HP Stream 11] -MatchName=SYN1EDE:00 06CB:7442 +MatchName=SYN1EDE:00 06CB:7442* MatchDMIModalias=dmi:*svnHewlett-Packard:pnHPStreamNotebookPC11* AttrInputPropEnable=INPUT_PROP_BUTTONPAD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/quirks/50-system-lenovo.quirks new/libinput-1.17.1/quirks/50-system-lenovo.quirks --- old/libinput-1.17.0/quirks/50-system-lenovo.quirks 2021-02-23 10:33:05.141062500 +0100 +++ new/libinput-1.17.1/quirks/50-system-lenovo.quirks 2021-03-24 06:20:58.532437300 +0100 @@ -205,3 +205,19 @@ MatchName=AT Raw Set 2 keyboard MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX1Tablet:* ModelTabletModeNoSuspend=1 + +# Misidentified as an external keyboard by libinput +# Tested on Legion 5 15AR05H +[Lenovo Legion 5 Keyboard] +MatchUdevType=keyboard +MatchBus=usb +MatchVendor=0x048D +MatchProduct=0xC100 +AttrKeyboardIntegration=internal + +[Lenovo Legion 5 Keyboard] +MatchUdevType=keyboard +MatchBus=usb +MatchVendor=0x048D +MatchProduct=0xC955 +AttrKeyboardIntegration=internal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.17.0/src/quirks.c new/libinput-1.17.1/src/quirks.c --- old/libinput-1.17.0/src/quirks.c 2021-02-23 10:33:05.160062600 +0100 +++ new/libinput-1.17.1/src/quirks.c 2021-03-24 06:20:58.540437500 +0100 @@ -35,6 +35,9 @@ #include <dirent.h> #include <fnmatch.h> #include <libgen.h> +#ifdef __FreeBSD__ +#include <kenv.h> +#endif #include "libinput-versionsort.h" #include "libinput-util.h" @@ -111,6 +114,7 @@ BT_PS2, BT_RMI, BT_I2C, + BT_SPI, }; enum udev_type { @@ -352,10 +356,11 @@ } /** - * Return the dmi modalias from the udev device. + * Return the system DMI info in modalias format. */ +#ifdef __linux__ static inline char * -init_dmi(void) +init_dmi_linux(void) { struct udev *udev; struct udev_device *udev_device; @@ -363,9 +368,6 @@ char *copy = NULL; const char *syspath = "/sys/devices/virtual/dmi/id"; - if (getenv("LIBINPUT_RUNNING_TEST_SUITE")) - return safe_strdup("dmi:"); - udev = udev_new(); if (!udev) return NULL; @@ -388,6 +390,73 @@ return copy; } +#endif + +#ifdef __FreeBSD__ +static inline char * +init_dmi_freebsd(void) +{ +#define LEN (KENV_MVALLEN + 1) + char *modalias; + char bios_vendor[LEN], bios_version[LEN], bios_date[LEN]; + char sys_vendor[LEN], product_name[LEN], product_version[LEN]; + char board_vendor[LEN], board_name[LEN], board_version[LEN]; + char chassis_vendor[LEN], chassis_type[LEN], chassis_version[LEN]; + int chassis_type_num = 0x2; + + kenv(KENV_GET, "smbios.bios.vendor", bios_vendor, LEN); + kenv(KENV_GET, "smbios.bios.version", bios_version, LEN); + kenv(KENV_GET, "smbios.bios.reldate", bios_date, LEN); + kenv(KENV_GET, "smbios.system.maker", sys_vendor, LEN); + kenv(KENV_GET, "smbios.system.product", product_name, LEN); + kenv(KENV_GET, "smbios.system.version", product_version, LEN); + kenv(KENV_GET, "smbios.planar.maker", board_vendor, LEN); + kenv(KENV_GET, "smbios.planar.product", board_name, LEN); + kenv(KENV_GET, "smbios.planar.version", board_version, LEN); + kenv(KENV_GET, "smbios.chassis.vendor", chassis_vendor, LEN); + kenv(KENV_GET, "smbios.chassis.type", chassis_type, LEN); + kenv(KENV_GET, "smbios.chassis.version", chassis_version, LEN); +#undef LEN + + if (strcmp(chassis_type, "Desktop") == 0) + chassis_type_num = 0x3; + else if (strcmp(chassis_type, "Portable") == 0) + chassis_type_num = 0x8; + else if (strcmp(chassis_type, "Laptop") == 0) + chassis_type_num = 0x9; + else if (strcmp(chassis_type, "Notebook") == 0) + chassis_type_num = 0xA; + else if (strcmp(chassis_type, "Tablet") == 0) + chassis_type_num = 0x1E; + else if (strcmp(chassis_type, "Convertible") == 0) + chassis_type_num = 0x1F; + else if (strcmp(chassis_type, "Detachable") == 0) + chassis_type_num = 0x20; + + xasprintf(&modalias, + "dmi:bvn%s:bvr%s:bd%s:svn%s:pn%s:pvr%s:rvn%s:rn%s:rvr%s:cvn%s:ct%d:cvr%s:", + bios_vendor, bios_version, bios_date, sys_vendor, product_name, + product_version, board_vendor, board_name, board_version, chassis_vendor, + chassis_type_num, chassis_version); + + return modalias; +} +#endif + +static inline char * +init_dmi(void) +{ + if (getenv("LIBINPUT_RUNNING_TEST_SUITE")) + return safe_strdup("dmi:"); + +#if defined(__linux__) + return init_dmi_linux(); +#elif defined(__FreeBSD__) + return init_dmi_freebsd(); +#else + return NULL; +#endif +} /** * Return the dt compatible string @@ -499,6 +568,8 @@ s->match.bus = BT_RMI; else if (streq(value, "i2c")) s->match.bus = BT_I2C; + else if (streq(value, "spi")) + s->match.bus = BT_SPI; else goto out; } else if (streq(key, "MatchVendor")) { @@ -1241,6 +1312,10 @@ m->bus = BT_I2C; m->bits |= M_BUS; break; + case BUS_SPI: + m->bus = BT_SPI; + m->bits |= M_BUS; + break; default: break; }