Hello community, here is the log from the commit of package libinput for openSUSE:Factory checked in at 2020-06-23 21:00:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libinput (Old) and /work/SRC/openSUSE:Factory/.libinput.new.2956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libinput" Tue Jun 23 21:00:01 2020 rev:89 rq:816341 version:1.15.6 Changes: -------- --- /work/SRC/openSUSE:Factory/libinput/libinput.changes 2020-04-25 20:06:39.303341234 +0200 +++ /work/SRC/openSUSE:Factory/.libinput.new.2956/libinput.changes 2020-06-23 21:00:46.173102753 +0200 @@ -1,0 +2,8 @@ +Mon Jun 22 12:08:30 UTC 2020 - Jan Engelhardt <[email protected]> + +- Update to release 1.15.6 + * Add HP stream x360 11 ModelTabletModeNoSuspend keyboard quirk + * Add quirks file for Sony Vaio Laptop + * tablet: use the AttrPressureRange quirk for tablets too + +------------------------------------------------------------------- Old: ---- libinput-1.15.5.tar.xz libinput-1.15.5.tar.xz.sig New: ---- libinput-1.15.6.tar.xz libinput-1.15.6.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libinput.spec ++++++ --- /var/tmp/diff_new_pack.64dvM6/_old 2020-06-23 21:00:48.433110377 +0200 +++ /var/tmp/diff_new_pack.64dvM6/_new 2020-06-23 21:00:48.437110390 +0200 @@ -20,7 +20,7 @@ Name: libinput %define lname libinput10 -Version: 1.15.5 +Version: 1.15.6 Release: 0 Summary: Input device and event processing library License: MIT ++++++ libinput-1.15.5.tar.xz -> libinput-1.15.6.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/meson.build new/libinput-1.15.6/meson.build --- old/libinput-1.15.5/meson.build 2020-04-11 02:25:57.177630400 +0200 +++ new/libinput-1.15.6/meson.build 2020-06-19 02:00:40.777552400 +0200 @@ -1,5 +1,5 @@ project('libinput', 'c', - version : '1.15.5', + version : '1.15.6', license : 'MIT/Expat', default_options : [ 'c_std=gnu99', 'warning_level=2' ], meson_version : '>= 0.41.0') @@ -322,6 +322,7 @@ 'quirks/30-vendor-microsoft.quirks', 'quirks/30-vendor-razer.quirks', 'quirks/30-vendor-synaptics.quirks', + 'quirks/30-vendor-trust.quirks', 'quirks/30-vendor-vmware.quirks', 'quirks/30-vendor-wacom.quirks', 'quirks/50-system-acer.quirks', @@ -333,6 +334,7 @@ 'quirks/50-system-google.quirks', 'quirks/50-system-hp.quirks', 'quirks/50-system-lenovo.quirks', + 'quirks/50-system-sony.quirks', 'quirks/50-system-system76.quirks', 'quirks/50-system-toshiba.quirks', ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/30-vendor-aiptek.quirks new/libinput-1.15.6/quirks/30-vendor-aiptek.quirks --- old/libinput-1.15.5/quirks/30-vendor-aiptek.quirks 2020-04-11 02:25:57.177630400 +0200 +++ new/libinput-1.15.6/quirks/30-vendor-aiptek.quirks 2020-06-19 02:00:40.777552400 +0200 @@ -5,3 +5,10 @@ MatchBus=usb MatchVendor=0x08CA AttrEventCodeDisable=ABS_TILT_X;ABS_TILT_Y; + +[Aiptek 8000U pressure threshold] +MatchUdevType=tablet +MatchBus=usb +MatchVendor=0x08CA +MatchProduct=0x0010 +AttrPressureRange=70:50 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/30-vendor-razer.quirks new/libinput-1.15.6/quirks/30-vendor-razer.quirks --- old/libinput-1.15.5/quirks/30-vendor-razer.quirks 2020-04-11 02:25:57.178630400 +0200 +++ new/libinput-1.15.6/quirks/30-vendor-razer.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -7,6 +7,13 @@ MatchProduct=0x0220 AttrKeyboardIntegration=internal +[Razer Blade Keyboard] +MatchUdevType=keyboard +MatchBus=usb +MatchVendor=0x1532 +MatchProduct=0x0233 +AttrKeyboardIntegration=internal + [Razer Blade Lid Switch] MatchName=*Lid Switch* MatchDMIModalias=dmi:*svnRazer:pnBlade* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/30-vendor-trust.quirks new/libinput-1.15.6/quirks/30-vendor-trust.quirks --- old/libinput-1.15.5/quirks/30-vendor-trust.quirks 1970-01-01 01:00:00.000000000 +0100 +++ new/libinput-1.15.6/quirks/30-vendor-trust.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -0,0 +1,6 @@ +[Trust GXT 25 Gaming Mouse] +MatchUdevType=mouse +MatchBus=usb +MatchVendor=0x1D57 +MatchProduct=0xAD03 +ModelBouncingKeys=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/50-system-apple.quirks new/libinput-1.15.6/quirks/50-system-apple.quirks --- old/libinput-1.15.5/quirks/50-system-apple.quirks 2020-04-11 02:25:57.179630300 +0200 +++ new/libinput-1.15.6/quirks/50-system-apple.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -37,6 +37,9 @@ MatchProduct=0x030D AttrEventCodeDisable=EV_ABS +# The External Apple "Magic" trackpads, both the 1st and 2nd generations, have +# pretty good built-in spurious touch filtering in the device firmware. Using +# low enough values such as 20:10 effectively disables libinput's filtering. [Apple Magic Trackpad v1 (2010, clickpad)] MatchUdevType=touchpad MatchBus=bluetooth @@ -46,6 +49,23 @@ AttrTouchSizeRange=20:10 AttrPalmSizeThreshold=900 AttrThumbSizeThreshold=700 + +# 2nd generation trackpad can be connected over Bluetooth as well as USB. +[Apple Magic Trackpad v2 (2015)] +MatchVendor=0x05AC +MatchProduct=0x0265 +AttrSizeHint=162x115 +AttrTouchSizeRange=20:10 +AttrPalmSizeThreshold=900 +AttrThumbSizeThreshold=700 + +[Apple Magic Trackpad v2 (new vendor ID)] +MatchVendor=0x004C +MatchProduct=0x0265 +AttrSizeHint=162x115 +AttrTouchSizeRange=20:10 +AttrPalmSizeThreshold=900 +AttrThumbSizeThreshold=700 [Apple Touchpad OneButton] MatchUdevType=touchpad diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/50-system-hp.quirks new/libinput-1.15.6/quirks/50-system-hp.quirks --- old/libinput-1.15.5/quirks/50-system-hp.quirks 2020-04-11 02:25:57.182630300 +0200 +++ new/libinput-1.15.6/quirks/50-system-hp.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -24,6 +24,16 @@ MatchDMIModalias=dmi:*svnHewlett-Packard:pnHPStreamNotebookPC11* ModelHPStream11Touchpad=1 +# The HP stream x360's embedded-controller filters out events form its builtin +# keyboard when in tablet-mode itself; and it has a capacitive home-button +# (windows logo) underneath its display which also sends PS/2 key-events. +# Do not suspend the keyboard when in tablet-mode so that the home button +# keeps working when in tablet-mode. +[HP Stream x360 11] +MatchName=AT Translated Set 2 keyboard +MatchDMIModalias=dmi:*:svnHewlett-Packard:pnHPStreamx360ConvertiblePC11:* +ModelTabletModeNoSuspend=1 + [HP ZBook Studio G3] MatchName=AlpsPS/2 ALPS GlidePoint MatchDMIModalias=dmi:*svnHP:pnHPZBookStudioG3:* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/50-system-lenovo.quirks new/libinput-1.15.6/quirks/50-system-lenovo.quirks --- old/libinput-1.15.5/quirks/50-system-lenovo.quirks 2020-04-11 02:25:57.183630500 +0200 +++ new/libinput-1.15.6/quirks/50-system-lenovo.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -169,6 +169,11 @@ MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX200Tablet:* ModelTabletModeNoSuspend=1 +[Lenovo X201 Tablet] +MatchName=At Translated Set 2 keyboard +MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX201Tablet:* +ModelTabletModeNoSuspend=1 + # Lenovo MIIX 720 comes with a detachable keyboard. We must not disable # the keyboard because some keys are still accessible on the screen and # volume rocker. See diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/quirks/50-system-sony.quirks new/libinput-1.15.6/quirks/50-system-sony.quirks --- old/libinput-1.15.5/quirks/50-system-sony.quirks 1970-01-01 01:00:00.000000000 +0100 +++ new/libinput-1.15.6/quirks/50-system-sony.quirks 2020-06-19 02:00:40.778552300 +0200 @@ -0,0 +1,8 @@ +# Do not edit this file, it will be overwritten on update + +[Sony Vaio VPCEG Series Touchpad Pressure Override] +MatchUdevType=touchpad +MatchName=*SynPS/2 Synaptics TouchPad +MatchDMIModalias=dmi:*svnSonyCorporation:pnVPCEG* +AttrPressureRange=45:40 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/src/evdev-tablet.c new/libinput-1.15.6/src/evdev-tablet.c --- old/libinput-1.15.5/src/evdev-tablet.c 2020-04-11 02:25:57.189630300 +0200 +++ new/libinput-1.15.6/src/evdev-tablet.c 2020-06-19 02:00:40.781552300 +0200 @@ -1066,6 +1066,49 @@ return (a->maximum - a->minimum) * percent/100.0 + a->minimum; } +static inline void +tool_set_pressure_thresholds(struct tablet_dispatch *tablet, + struct libinput_tablet_tool *tool) +{ + struct evdev_device *device = tablet->device; + const struct input_absinfo *pressure; + struct quirks_context *quirks = NULL; + struct quirks *q = NULL; + struct quirk_range r; + int lo = 0, hi = 1; + + tool->pressure_offset = 0; + tool->has_pressure_offset = false; + + pressure = libevdev_get_abs_info(device->evdev, ABS_PRESSURE); + if (!pressure) + goto out; + + quirks = evdev_libinput_context(device)->quirks; + q = quirks_fetch_for_device(quirks, device->udev_device); + + tool->pressure_offset = pressure->minimum; + + /* 5 and 1% of the pressure range */ + hi = axis_range_percentage(pressure, 5); + lo = axis_range_percentage(pressure, 1); + + if (q && quirks_get_range(q, QUIRK_ATTR_PRESSURE_RANGE, &r)) { + if (r.lower >= r.upper) { + evdev_log_info(device, + "Invalid pressure range, using defaults\n"); + } else { + hi = r.upper; + lo = r.lower; + } + } +out: + tool->pressure_threshold.upper = hi; + tool->pressure_threshold.lower = lo; + + quirks_unref(q); +} + static struct libinput_tablet_tool * tablet_get_tool(struct tablet_dispatch *tablet, enum libinput_tablet_tool_type type, @@ -1116,8 +1159,6 @@ /* If we didn't already have the new_tool in our list of tools, * add it */ if (!tool) { - const struct input_absinfo *pressure; - tool = zalloc(sizeof *tool); *tool = (struct libinput_tablet_tool) { @@ -1127,23 +1168,7 @@ .refcount = 1, }; - tool->pressure_offset = 0; - tool->has_pressure_offset = false; - tool->pressure_threshold.lower = 0; - tool->pressure_threshold.upper = 1; - - pressure = libevdev_get_abs_info(tablet->device->evdev, - ABS_PRESSURE); - if (pressure) { - tool->pressure_offset = pressure->minimum; - - /* 5 and 1% of the pressure range */ - tool->pressure_threshold.upper = - axis_range_percentage(pressure, 5); - tool->pressure_threshold.lower = - axis_range_percentage(pressure, 1); - } - + tool_set_pressure_thresholds(tablet, tool); tool_set_bits(tablet, tool); list_insert(tool_list, &tool->link); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libinput-1.15.5/tools/shared.c new/libinput-1.15.6/tools/shared.c --- old/libinput-1.15.5/tools/shared.c 2020-04-11 02:25:57.266630400 +0200 +++ new/libinput-1.15.6/tools/shared.c 2020-06-19 02:00:40.796552400 +0200 @@ -620,9 +620,11 @@ do { if (quirks_has_quirk(quirks, q)) { const char *name; + bool b; name = quirk_get_name(q); - snprintf(buf, sizeof(buf), "%s=1", name); + quirks_get_bool(quirks, q, &b); + snprintf(buf, sizeof(buf), "%s=%d", name, b ? 1 : 0); callback(userdata, buf); } } while(++q < _QUIRK_LAST_MODEL_QUIRK_);
