Hello community,
here is the log from the commit of package xf86-input-libinput for
openSUSE:Factory checked in at 2020-05-20 18:37:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-input-libinput (Old)
and /work/SRC/openSUSE:Factory/.xf86-input-libinput.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-libinput"
Wed May 20 18:37:47 2020 rev:34 rq:807191 version:0.30.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-input-libinput/xf86-input-libinput.changes
2019-08-24 18:40:35.717790866 +0200
+++
/work/SRC/openSUSE:Factory/.xf86-input-libinput.new.2738/xf86-input-libinput.changes
2020-05-20 18:37:52.868283366 +0200
@@ -1,0 +2,8 @@
+Tue May 19 10:36:33 UTC 2020 - Stefan Dirsch <[email protected]>
+
+- Update to version 0.30.0
+ * Only one noticeable change: the scroll button lock
+ configuration option available in recent libinput versions
+ is now exposed as the usual set of properties by this driver.
+
+-------------------------------------------------------------------
Old:
----
xf86-input-libinput-0.29.0.tar.bz2
xf86-input-libinput-0.29.0.tar.bz2.sig
New:
----
xf86-input-libinput-0.30.0.tar.bz2
xf86-input-libinput-0.30.0.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-input-libinput.spec ++++++
--- /var/tmp/diff_new_pack.Rp6nMT/_old 2020-05-20 18:37:53.940285612 +0200
+++ /var/tmp/diff_new_pack.Rp6nMT/_new 2020-05-20 18:37:53.940285612 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xf86-input-libinput
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,12 +17,12 @@
Name: xf86-input-libinput
-Version: 0.29.0
+Version: 0.30.0
Release: 0
Summary: Libinput driver for the Xorg X server
License: MIT
Group: System/X11/Servers/XF86_4
-Url: http://xorg.freedesktop.org/
+URL: http://xorg.freedesktop.org/
Source0:
http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2
Source1:
http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.tar.bz2.sig
Source2: %{name}.keyring
++++++ xf86-input-libinput-0.29.0.tar.bz2 -> xf86-input-libinput-0.30.0.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/ChangeLog
new/xf86-input-libinput-0.30.0/ChangeLog
--- old/xf86-input-libinput-0.29.0/ChangeLog 2019-08-12 04:38:43.000000000
+0200
+++ new/xf86-input-libinput-0.30.0/ChangeLog 2020-05-19 08:23:18.000000000
+0200
@@ -1,3 +1,39 @@
+commit 583ed5acdc17a4dc7848c891d7cdbd35ff07b781
+Author: Peter Hutterer <[email protected]>
+Date: Tue May 19 15:37:30 2020 +1000
+
+ xf86-input-libinput 0.30.0
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+
+commit e8e5d1a6b579c6bd5e6c9e76a53f13ca77fa0d5f
+Author: Peter Hutterer <[email protected]>
+Date: Tue May 19 15:57:52 2020 +1000
+
+ gitlab CI: update to latest CI templates
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+
+commit 639b21d78a80566477163993366400e506f6e7b7
+Author: Peter Hutterer <[email protected]>
+Date: Tue May 19 15:47:00 2020 +1000
+
+ gitlab CI: bump to Fedora 32
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+
+commit e52daf203bb690e33b27514cb8fc76b263e6622a
+Author: Peter Hutterer <[email protected]>
+Date: Fri Oct 11 10:24:30 2019 +1000
+
+ Implement support for scroll button locks
+
+ Add a boolean option/property to enable/disable the scroll button lock.
Where
+ enabled, the button can be clicked and released as opposed to having to be
+ held down.
+
+ Signed-off-by: Peter Hutterer <[email protected]>
+
commit 400bf493d1840e72dc3bad624707b4934fe5de33
Author: Peter Hutterer <[email protected]>
Date: Mon Aug 12 12:35:51 2019 +1000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/config.h.in
new/xf86-input-libinput-0.30.0/config.h.in
--- old/xf86-input-libinput-0.29.0/config.h.in 2019-08-12 04:38:38.000000000
+0200
+++ new/xf86-input-libinput-0.30.0/config.h.in 2020-05-19 08:23:09.000000000
+0200
@@ -6,6 +6,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* libinput_device_config_scroll_get_button_lock() is available */
+#undef HAVE_LIBINPUT_SCROLL_BUTTON_LOCK
+
/* libinput_device_touch_get_touch_count() is available */
#undef HAVE_LIBINPUT_TOUCH_COUNT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/configure
new/xf86-input-libinput-0.30.0/configure
--- old/xf86-input-libinput-0.29.0/configure 2019-08-12 04:38:38.000000000
+0200
+++ new/xf86-input-libinput-0.30.0/configure 2020-05-19 08:23:08.000000000
+0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.29.0.
+# Generated by GNU Autoconf 2.69 for xf86-input-libinput 0.30.0.
#
# Report bugs to
<https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/issues>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-input-libinput'
PACKAGE_TARNAME='xf86-input-libinput'
-PACKAGE_VERSION='0.29.0'
-PACKAGE_STRING='xf86-input-libinput 0.29.0'
+PACKAGE_VERSION='0.30.0'
+PACKAGE_STRING='xf86-input-libinput 0.30.0'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/issues'
PACKAGE_URL=''
@@ -1356,7 +1356,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-input-libinput 0.29.0 to adapt to many kinds of
systems.
+\`configure' configures xf86-input-libinput 0.30.0 to adapt to many kinds of
systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1427,7 +1427,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-input-libinput 0.29.0:";;
+ short | recursive ) echo "Configuration of xf86-input-libinput 0.30.0:";;
esac
cat <<\_ACEOF
@@ -1561,7 +1561,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-input-libinput configure 0.29.0
+xf86-input-libinput configure 0.30.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1885,7 +1885,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-input-libinput $as_me 0.29.0, which was
+It was created by xf86-input-libinput $as_me 0.30.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2753,7 +2753,7 @@
# Define the identity of the package.
PACKAGE='xf86-input-libinput'
- VERSION='0.29.0'
+ VERSION='0.30.0'
cat >>confdefs.h <<_ACEOF
@@ -18523,6 +18523,34 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if
libinput_device_config_scroll_get_button_lock is available" >&5
+$as_echo_n "checking if libinput_device_config_scroll_get_button_lock is
available... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libinput.h>
+int
+main ()
+{
+libinput_device_config_scroll_get_button_lock(NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_LIBINPUT_SCROLL_BUTTON_LOCK 1" >>confdefs.h
+
+ libinput_have_scroll_button_lock=yes
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ libinput_have_scroll_button_lock=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
LIBS=$OLD_LIBS
CFLAGS=$OLD_CFLAGS
@@ -19096,7 +19124,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-input-libinput $as_me 0.29.0, which was
+This file was extended by xf86-input-libinput $as_me 0.30.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19162,7 +19190,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xf86-input-libinput config.status 0.29.0
+xf86-input-libinput config.status 0.30.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/configure.ac
new/xf86-input-libinput-0.30.0/configure.ac
--- old/xf86-input-libinput-0.29.0/configure.ac 2019-08-12 04:38:33.000000000
+0200
+++ new/xf86-input-libinput-0.30.0/configure.ac 2020-05-19 08:23:02.000000000
+0200
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-input-libinput],
- [0.29.0],
+ [0.30.0],
[https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/issues],
[xf86-input-libinput])
AC_CONFIG_SRCDIR([Makefile.am])
@@ -61,6 +61,17 @@
[libinput_have_touch_count=yes]],
[AC_MSG_RESULT([no])
[libinput_have_touch_count=no]])
+
+AC_MSG_CHECKING([if libinput_device_config_scroll_get_button_lock is
available])
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[#include <libinput.h>]],
+
[[libinput_device_config_scroll_get_button_lock(NULL)]])],
+ [AC_MSG_RESULT([yes])
+ AC_DEFINE(HAVE_LIBINPUT_SCROLL_BUTTON_LOCK, [1],
+ [libinput_device_config_scroll_get_button_lock() is
available])
+ [libinput_have_scroll_button_lock=yes]],
+ [AC_MSG_RESULT([no])
+ [libinput_have_scroll_button_lock=no]])
LIBS=$OLD_LIBS
CFLAGS=$OLD_CFLAGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xf86-input-libinput-0.29.0/include/libinput-properties.h
new/xf86-input-libinput-0.30.0/include/libinput-properties.h
--- old/xf86-input-libinput-0.29.0/include/libinput-properties.h
2019-08-12 04:38:33.000000000 +0200
+++ new/xf86-input-libinput-0.30.0/include/libinput-properties.h
2020-05-19 08:23:02.000000000 +0200
@@ -115,6 +115,12 @@
/* Scroll button for button scrolling: 32-bit int, 1 value, read-only */
#define LIBINPUT_PROP_SCROLL_BUTTON_DEFAULT "libinput Button Scrolling Button
Default"
+/* Scroll button lock: BOOL, 1 value, TRUE for enabled, FALSE otherwise */
+#define LIBINPUT_PROP_SCROLL_BUTTON_LOCK "libinput Button Scrolling Button
Lock Enabled"
+
+/* Scroll button lock: BOOL, 1 value, TRUE for enabled, FALSE otherwise,
read-only*/
+#define LIBINPUT_PROP_SCROLL_BUTTON_LOCK_DEFAULT "libinput Button Scrolling
Button Lock Enabled Default"
+
/* Click method: BOOL read-only, 2 values in order buttonareas, clickfinger
shows available click methods */
#define LIBINPUT_PROP_CLICK_METHODS_AVAILABLE "libinput Click Methods
Available"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/man/libinput.man
new/xf86-input-libinput-0.30.0/man/libinput.man
--- old/xf86-input-libinput-0.29.0/man/libinput.man 2019-08-12
04:38:33.000000000 +0200
+++ new/xf86-input-libinput-0.30.0/man/libinput.man 2020-05-19
08:23:02.000000000 +0200
@@ -139,9 +139,18 @@
.BI ScrollMethod
is
.BI button
-and the button is logically held down, x/y axis movement is converted into
+and the button is logically down, x/y axis movement is converted into
scroll events.
.TP 7
+.BI "Option \*qScrollButtonLock\*q \*q" bool \*q
+Enables or disables the scroll button lock. If enabled, the
+.BI ScrollButton
+is considered logically down after the first click and remains down until
+the second click of that button. If disabled (the default), the
+.BI ScrollButton
+button is considered logically down while held down and up once physically
+released.
+.TP 7
.BI "Option \*qScrollMethod\*q \*q" string \*q
Enables a scroll method. Permitted values are
.BI none,
@@ -219,6 +228,12 @@
setting is independent of the scroll method, to enable button scrolling the
method must be set to button-scrolling and a valid button must be set.
.TP 7
+.BI "libinput Button Scrolling Button Lock Enabled"
+1 boolean value. If true, the scroll button lock is enabled. This
+setting is independent of the scroll method or the scroll button, to enable
+button scrolling the method must be set to button-scrolling and a valid
+button must be set.
+.TP 7
.BI "libinput Calibration Matrix"
9 32-bit float values, representing a 3x3 calibration matrix, order is row
1, row 2, row 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xf86-input-libinput-0.29.0/src/xf86libinput.c
new/xf86-input-libinput-0.30.0/src/xf86libinput.c
--- old/xf86-input-libinput-0.29.0/src/xf86libinput.c 2019-08-12
04:38:33.000000000 +0200
+++ new/xf86-input-libinput-0.30.0/src/xf86libinput.c 2020-05-19
08:23:02.000000000 +0200
@@ -157,6 +157,7 @@
BOOL disable_while_typing;
CARD32 sendevents;
CARD32 scroll_button; /* xorg button number */
+ BOOL scroll_buttonlock;
float speed;
float matrix[9];
enum libinput_config_scroll_method scroll_method;
@@ -672,12 +673,27 @@
if (libinput_device_config_scroll_get_methods(device) &
LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN) {
unsigned int scroll_button;
+#if HAVE_LIBINPUT_SCROLL_BUTTON_LOCK
+ enum libinput_config_scroll_button_lock_state buttonlock;
+
+ buttonlock = driver_data->options.scroll_buttonlock ?
+ LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_ENABLED :
+ LIBINPUT_CONFIG_SCROLL_BUTTON_LOCK_DISABLED;
+
+ if (libinput_device_config_scroll_set_button_lock(device,
buttonlock)
+ != LIBINPUT_CONFIG_STATUS_SUCCESS) {
+ xf86IDrvMsg(pInfo, X_ERROR,
+ "Failed to %s ScrollButtonLock\n",
+ buttonlock ? "enable" : "disable");
+ }
+#endif
scroll_button =
btn_xorg2linux(driver_data->options.scroll_button);
if (libinput_device_config_scroll_set_button(device,
scroll_button) != LIBINPUT_CONFIG_STATUS_SUCCESS)
xf86IDrvMsg(pInfo, X_ERROR,
"Failed to set ScrollButton to %u\n",
driver_data->options.scroll_button);
+
}
}
@@ -2826,6 +2842,32 @@
return scroll_button;
}
+static inline BOOL
+xf86libinput_parse_scrollbuttonlock_option(InputInfoPtr pInfo,
+ struct libinput_device *device)
+{
+ bool dflt;
+ BOOL buttonlock = FALSE;
+
+ if ((libinput_device_config_scroll_get_methods(device) &
+ LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN) == 0)
+ return 0;
+
+#if HAVE_LIBINPUT_SCROLL_BUTTON_LOCK
+ dflt = libinput_device_config_scroll_get_default_button_lock(device);
+ buttonlock = xf86SetBoolOption(pInfo->options, "ScrollButtonLock",
dflt);
+
+ if (libinput_device_config_scroll_set_button_lock(device, buttonlock)
+ !=
LIBINPUT_CONFIG_STATUS_SUCCESS) {
+ xf86IDrvMsg(pInfo, X_ERROR,
+ "Failed to %s ScrollButtonLock\n",
+ buttonlock ? "enable" : "disable");
+ buttonlock =
libinput_device_config_scroll_get_button_lock(device);
+ }
+#endif
+ return buttonlock;
+}
+
static inline unsigned int
xf86libinput_parse_clickmethod_option(InputInfoPtr pInfo,
struct libinput_device *device)
@@ -3106,6 +3148,7 @@
options->left_handed = xf86libinput_parse_lefthanded_option(pInfo,
device);
options->scroll_method = xf86libinput_parse_scroll_option(pInfo,
device);
options->scroll_button = xf86libinput_parse_scrollbutton_option(pInfo,
device);
+ options->scroll_buttonlock =
xf86libinput_parse_scrollbuttonlock_option(pInfo, device);
options->click_method = xf86libinput_parse_clickmethod_option(pInfo,
device);
options->middle_emulation =
xf86libinput_parse_middleemulation_option(pInfo, device);
options->disable_while_typing =
xf86libinput_parse_disablewhiletyping_option(pInfo, device);
@@ -3570,6 +3613,8 @@
static Atom prop_scroll_method_default;
static Atom prop_scroll_button;
static Atom prop_scroll_button_default;
+static Atom prop_scroll_buttonlock;
+static Atom prop_scroll_buttonlock_default;
static Atom prop_click_methods_available;
static Atom prop_click_method_enabled;
static Atom prop_click_method_default;
@@ -4148,6 +4193,33 @@
}
static inline int
+LibinputSetPropertyScrollButtonLock(DeviceIntPtr dev,
+ Atom atom,
+ XIPropertyValuePtr val,
+ BOOL checkonly)
+{
+ InputInfoPtr pInfo = dev->public.devicePrivate;
+ struct xf86libinput *driver_data = pInfo->private;
+ BOOL enabled;
+
+ if (val->format != 8 || val->type != XA_INTEGER || val->size != 1)
+ return BadMatch;
+
+ enabled = *(BOOL*)val->data;
+ if (checkonly) {
+ if (enabled != 0 && enabled != 1)
+ return BadValue;
+
+ if (!xf86libinput_check_device (dev, atom))
+ return BadMatch;
+ } else {
+ driver_data->options.scroll_buttonlock = enabled;
+ }
+
+ return Success;
+}
+
+static inline int
LibinputSetPropertyClickMethod(DeviceIntPtr dev,
Atom atom,
XIPropertyValuePtr val,
@@ -4521,6 +4593,8 @@
rc = LibinputSetPropertyScrollMethods(dev, atom, val,
checkonly);
else if (atom == prop_scroll_button)
rc = LibinputSetPropertyScrollButton(dev, atom, val, checkonly);
+ else if (atom == prop_scroll_buttonlock)
+ rc = LibinputSetPropertyScrollButtonLock(dev, atom, val,
checkonly);
else if (atom == prop_click_method_enabled)
rc = LibinputSetPropertyClickMethod(dev, atom, val, checkonly);
else if (atom == prop_middle_emulation)
@@ -4561,6 +4635,7 @@
atom == prop_scroll_method_default ||
atom == prop_scroll_methods_available ||
atom == prop_scroll_button_default ||
+ atom == prop_scroll_buttonlock_default ||
atom == prop_click_method_default ||
atom == prop_click_methods_available ||
atom == prop_middle_emulation_default ||
@@ -5051,10 +5126,11 @@
XA_INTEGER, 8,
ARRAY_SIZE(methods),
methods);
- /* Scroll button */
+ /* Scroll button and scroll button lock */
if (libinput_device_config_scroll_get_methods(device) &
LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN) {
CARD32 scroll_button = driver_data->options.scroll_button;
+ BOOL lock_enabled = driver_data->options.scroll_buttonlock;
prop_scroll_button = LibinputMakeProperty(dev,
LIBINPUT_PROP_SCROLL_BUTTON,
@@ -5063,12 +5139,26 @@
if (!prop_scroll_button)
return;
+#if HAVE_LIBINPUT_SCROLL_BUTTON_LOCK
scroll_button =
libinput_device_config_scroll_get_default_button(device);
scroll_button = btn_linux2xorg(scroll_button);
prop_scroll_button_default = LibinputMakeProperty(dev,
LIBINPUT_PROP_SCROLL_BUTTON_DEFAULT,
XA_CARDINAL,
32,
1,
&scroll_button);
+ prop_scroll_buttonlock = LibinputMakeProperty(dev,
+
LIBINPUT_PROP_SCROLL_BUTTON_LOCK,
+ XA_INTEGER, 8,
+ 1, &lock_enabled);
+ if (!prop_scroll_buttonlock)
+ return;
+
+ lock_enabled =
libinput_device_config_scroll_get_default_button_lock(device);
+ prop_scroll_buttonlock_default = LibinputMakeProperty(dev,
+
LIBINPUT_PROP_SCROLL_BUTTON_LOCK_DEFAULT,
+
XA_INTEGER, 8,
+ 1,
&lock_enabled);
+#endif
}
}