Hello community, here is the log from the commit of package xinput for openSUSE:Factory checked in at 2019-07-23 22:35:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xinput (Old) and /work/SRC/openSUSE:Factory/.xinput.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xinput" Tue Jul 23 22:35:28 2019 rev:11 rq:717618 version:1.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/xinput/xinput.changes 2015-10-22 12:59:29.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xinput.new.4126/xinput.changes 2019-07-23 22:35:30.626994502 +0200 @@ -1,0 +2,13 @@ +Fri Jul 19 13:25:18 UTC 2019 - Stefan Dirsch <sndir...@suse.com> + +- Update to version 1.6.3 + * xinput 1.6.3 is now available, incorporating the best of the + last (checks calendar) four years. Most of this is buildsystem + tidyup that mattered back then but is less exciting now in + these modern times. + The only user-visible change is that xinput will now print a + warning when run against XWayland in the hope that this will + reduce the number of confused users or misguided bugs. Or + both, ideally. + +------------------------------------------------------------------- Old: ---- xinput-1.6.2.tar.bz2 New: ---- xinput-1.6.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xinput.spec ++++++ --- /var/tmp/diff_new_pack.SomwSX/_old 2019-07-23 22:35:30.974994430 +0200 +++ /var/tmp/diff_new_pack.SomwSX/_new 2019-07-23 22:35:30.974994430 +0200 @@ -1,7 +1,7 @@ # # spec file for package xinput # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,15 +12,15 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: xinput -Version: 1.6.2 +Version: 1.6.3 Release: 0 Summary: Utility to configure and test X input devices -License: MIT and HPND +License: MIT AND HPND Group: System/X11/Utilities Url: http://xorg.freedesktop.org/ Source0: http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.bz2 ++++++ xinput-1.6.2.tar.bz2 -> xinput-1.6.3.tar.bz2 ++++++ ++++ 9423 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/ChangeLog new/xinput-1.6.3/ChangeLog --- old/xinput-1.6.2/ChangeLog 2015-10-19 23:36:40.000000000 +0200 +++ new/xinput-1.6.3/ChangeLog 2019-07-17 07:30:12.000000000 +0200 @@ -1,3 +1,124 @@ +commit cef07c0c8280d7e7b82c3bcc62a1dfbe8cc43ff8 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Jul 17 15:25:10 2019 +1000 + + xinput 1.6.3 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit d0a77e79a73177090ae7dceb7a9802f98db6d9f0 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Mar 26 16:06:44 2019 +1000 + + Warn if you're running against an XWayland server + + Because there's a 99% chance you don't want this. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit c7ca2b99c099456d0c0e83309d6f426c5feacb25 +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Wed Nov 21 17:10:59 2018 -0800 + + Update configure.ac bug URL for gitlab migration + + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + +commit 5a8f3121c7f64dbb47fad99c027389e7d78453e4 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Sep 13 09:39:22 2018 +1000 + + test-xi2: add an extra NULL-check + + Shuts up coverity because it doesn't know that by the time we get here, we're + guaranteed that the device exists. Otherwise the list() call a few lines above + would've failed and we wouldn't get here. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 3ea8f02027b18cf06774c8f26a719e321e9a78f2 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Wed Sep 12 14:49:21 2018 +1000 + + property: plug a memory leak + + Not that it matters since we'll exit after this call anyway, but coverity is + unhappy and that makes us all unhappy, doesn't it? + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 988488127cdf49b47cd075a698c78f25ee193467 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Jul 25 14:32:56 2017 +1000 + + man: document an example for a set-prop call + + Because it's 99% of the use-cases people use libinput for these days. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit ed8c0865a2c1ec470b7c179a2907edb37bbad3a6 +Author: Mihail Konev <k....@ya.ru> +Date: Thu Jan 26 14:00:21 2017 +1000 + + autogen: add default patch prefix + + Signed-off-by: Mihail Konev <k....@ya.ru> + +commit 60d812e56dd6da3f32aea574ef33826f62379d03 +Author: Emil Velikov <emil.l.veli...@gmail.com> +Date: Mon Mar 9 12:00:52 2015 +0000 + + autogen.sh: use quoted string variables + + Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent + fall-outs, when they contain space. + + Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit fb9cb61708c2cbe832824575daef27ea1c51ab38 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Tue Jan 24 10:32:07 2017 +1000 + + autogen.sh: use exec instead of waiting for configure to finish + + Syncs the invocation of configure with the one from the server. + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + Reviewed-by: Emil Velikov <emil.veli...@collabora.com> + +commit d63b2f2d36289396b097bf9b35fc8969bf8f31c4 +Author: Alan Coopersmith <alan.coopersm...@oracle.com> +Date: Sun Jun 1 21:03:14 2014 -0700 + + autogen.sh: Honor NOCONFIGURE=1 + + See http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> + +commit 5ecd774d28f011c3ab0008084aa280f65911454a +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu Jan 26 10:37:26 2017 +1000 + + autogen.sh: drop maintainer mode + + Missing from 1f812f44a3a22e27de00a447c34657e590231a76 + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 29e7ec5a3d7e920950d5a5c97020ce82b30c4888 +Author: Peter Hutterer <peter.hutte...@who-t.net> +Date: Mon Oct 24 08:58:22 2016 +1000 + + Switch to using "#if HAVE_XI..." exclusively + + Don't mix "if" and "ifdef" + + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + commit 2865729adc2f004b61ba853d98a4c2758fd0b601 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Tue Oct 20 07:35:40 2015 +1000 @@ -481,7 +602,7 @@ Merge branch 'smooth-scrolling' Conflicts: - src/test_xi2.c + src/test_xi2.c commit 7bbf4624b8be1bcac7a782057b9c2db5e8bbcc75 Author: Peter Hutterer <peter.hutte...@who-t.net> @@ -1590,7 +1711,7 @@ Merge branch 'master' into xi2 Conflicts: - src/xinput.h + src/xinput.h commit 239cd6a673be2821915301c1b3c3bae063e9dd94 Author: Peter Hutterer <peter.hutte...@who-t.net> @@ -1671,9 +1792,9 @@ Merge branch 'master' into xi2 Conflicts: - src/property.c - src/xinput.c - src/xinput.h + src/property.c + src/xinput.c + src/xinput.h commit 4e6e0dd562e8e844bede349bd11c339644447d78 Author: Peter Hutterer <peter.hutte...@who-t.net> @@ -2142,7 +2263,7 @@ Conflicts: - src/xinput.c + src/xinput.c (just a whitespace conflict) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/compile new/xinput-1.6.3/compile --- old/xinput-1.6.2/compile 2015-10-19 23:11:03.000000000 +0200 +++ new/xinput-1.6.3/compile 2019-07-17 07:30:09.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/configure.ac new/xinput-1.6.3/configure.ac --- old/xinput-1.6.2/configure.ac 2015-10-19 23:10:45.000000000 +0200 +++ new/xinput-1.6.3/configure.ac 2019-07-17 07:30:06.000000000 +0200 @@ -22,8 +22,8 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xinput], [1.6.2], - [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xinput]) +AC_INIT([xinput], [1.6.3], + [https://gitlab.freedesktop.org/xorg/app/xinput/issues], [xinput]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/man/xinput.man new/xinput-1.6.3/man/xinput.man --- old/xinput-1.6.2/man/xinput.man 2013-07-15 07:02:55.000000000 +0200 +++ new/xinput-1.6.3/man/xinput.man 2019-07-17 07:30:06.000000000 +0200 @@ -87,7 +87,7 @@ .B --set\-prop [\-\-type=\fIatom|float|int\fP] [\-\-format=\fI8|16|32\fP] \fIdevice\fP \fIproperty\fP \fIvalue\fP [...] Set the property to the given value(s). If not specified, the format and type of the property are left as-is. The arguments are interpreted according to the -property type. +property type. See Section \fICHANGING PROPERTIES\fP. .PP .TP 8 .B --watch-props \fIdevice\fP @@ -171,6 +171,31 @@ .PP \fIproperty\fP can be the property as a string or the Atom value. .PP +.SH "CHANGING PROPERTIES" +When xinput should modify an existing driver property value, it is +sufficient to provide the device name and property name as string, followed +by the new value(s) of the property. For example: +.IP +\fBxinput set-prop "my device" "my prop" 1 2 3\fB + +.SH "XWAYLAND" +Xwayland is an X server that uses a Wayland Compositor as backend. +Xwayland acts as translation layer between the X protocol and the Wayland +protocol but does not have direct access to the hardware. The X Input +Extension devices created by Xwayland ("xwayland-pointer", +"xwayland-keyboard", etc.) map to the Wayland protocol devices, +not to physical devices. +.PP +These X Input Extension devices are only visible to other X clients +connected to the same Xwayland process. Changing properties on Xwayland +devices only affects the behavior of those clients. For example, disabling +an Xwayland device with xinput does not disable the device in Wayland-native +applications. Other changes may not have any effect at all. +.PP +In most instances, using xinput with an Xwayland device is indicative of a +bug in a shell script and xinput will print a warning. Use the Wayland +Compositor's native device configuration methods instead. + .SH "SEE ALSO" X(__miscmansuffix__), xset(__appmansuffix__), xrandr(__appmansuffix__) .SH COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/missing new/xinput-1.6.3/missing --- old/xinput-1.6.2/missing 2013-06-06 06:32:22.000000000 +0200 +++ new/xinput-1.6.3/missing 2019-07-17 07:30:09.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-06-26.16; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -160,7 +160,7 @@ ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'automa4te' program to be rebuilt." + echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) @@ -207,9 +207,9 @@ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/src/list.c new/xinput-1.6.3/src/list.c --- old/xinput-1.6.2/src/list.c 2013-06-06 06:29:36.000000000 +0200 +++ new/xinput-1.6.3/src/list.c 2019-07-17 07:30:06.000000000 +0200 @@ -138,7 +138,7 @@ return EXIT_SUCCESS; } -#ifdef HAVE_XI2 +#if HAVE_XI2 /* also used from test_xi2.c */ void print_classes_xi2(Display* display, XIAnyClassInfo **classes, @@ -371,7 +371,7 @@ { if (format == FORMAT_NONE) format = FORMAT_LONG; -#ifdef HAVE_XI2 +#if HAVE_XI2 if (xinput_version(display) == XI_2_Major) { XIDeviceInfo *info = xi2_find_device_info(display, argv[arg_dev]); @@ -399,7 +399,7 @@ } else { if (format == FORMAT_NONE) format = FORMAT_SHORT; -#ifdef HAVE_XI2 +#if HAVE_XI2 if (xinput_version(display) == XI_2_Major) return list_xi2(display, format); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/src/property.c new/xinput-1.6.3/src/property.c --- old/xinput-1.6.2/src/property.c 2015-10-19 23:04:32.000000000 +0200 +++ new/xinput-1.6.3/src/property.c 2019-07-17 07:30:06.000000000 +0200 @@ -610,19 +610,20 @@ unsigned char *c; int16_t *s; int32_t *l; - } data; + } data = { NULL }; + int rc = EXIT_FAILURE; if (argc < 3) { fprintf(stderr, "Usage: xinput %s %s\n", n, desc); - return EXIT_FAILURE; + goto out; } info = xi2_find_device_info(dpy, argv[0]); if (!info) { fprintf(stderr, "unable to find device %s\n", argv[0]); - return EXIT_FAILURE; + goto out; } name = argv[1]; @@ -631,7 +632,7 @@ if (prop == None) { fprintf(stderr, "invalid property '%s'\n", name); - return EXIT_FAILURE; + goto out; } float_atom = XInternAtom(dpy, "FLOAT", False); @@ -643,7 +644,7 @@ &bytes_after, &data.c) != Success) { fprintf(stderr, "failed to get property type and format for '%s'\n", name); - return EXIT_FAILURE; + goto out; } else { if (type == None) type = old_type; @@ -657,7 +658,7 @@ if (type == None) { fprintf(stderr, "property '%s' doesn't exist, you need to specify " "its type and format\n", name); - return EXIT_FAILURE; + goto out; } data.c = calloc(nelements, sizeof(int32_t)); @@ -678,43 +679,45 @@ break; default: fprintf(stderr, "unexpected size for property %s", name); - return EXIT_FAILURE; + goto out; } } else if (type == float_atom) { if (format != 32) { fprintf(stderr, "unexpected format %d for property '%s'\n", format, name); - return EXIT_FAILURE; + goto out; } *(float *)(data.l + i) = strtod(argv[2 + i], &endptr); if (endptr == argv[2 + i]) { fprintf(stderr, "argument %s could not be parsed\n", argv[2 + i]); - return EXIT_FAILURE; + goto out; } } else if (type == XA_ATOM) { if (format != 32) { fprintf(stderr, "unexpected format %d for property '%s'\n", format, name); - return EXIT_FAILURE; + goto out; } data.l[i] = parse_atom(dpy, argv[2 + i]); } else { fprintf(stderr, "unexpected type for property '%s'\n", name); - return EXIT_FAILURE; + goto out; } } XIChangeProperty(dpy, info->deviceid, prop, type, format, PropModeReplace, data.c, nelements); + rc = EXIT_SUCCESS; +out: free(data.c); - return EXIT_SUCCESS; + return rc; } #endif int list_props(Display *display, int argc, char *argv[], char *name, char *desc) { -#ifdef HAVE_XI2 +#if HAVE_XI2 if (xinput_version(display) == XI_2_Major) return list_props_xi2(display, argc, argv, name, desc); #endif @@ -725,7 +728,7 @@ int delete_prop(Display *display, int argc, char *argv[], char *name, char *desc) { -#ifdef HAVE_XI2 +#if HAVE_XI2 if (xinput_version(display) == XI_2_Major) return delete_prop_xi2(display, argc, argv, name, desc); #endif @@ -736,7 +739,7 @@ static int do_set_prop(Display *display, Atom type, int format, int argc, char *argv[], char *name, char *desc) { -#ifdef HAVE_XI2 +#if HAVE_XI2 if (xinput_version(display) == XI_2_Major) return do_set_prop_xi2(display, type, format, argc, argv, name, desc); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/src/test_xi2.c new/xinput-1.6.3/src/test_xi2.c --- old/xinput-1.6.2/src/test_xi2.c 2015-08-18 09:16:22.000000000 +0200 +++ new/xinput-1.6.3/src/test_xi2.c 2019-07-17 07:30:06.000000000 +0200 @@ -358,6 +358,10 @@ if (argc >= 1) { XIDeviceInfo *info; info = xi2_find_device_info(display, argv[0]); + /* info is alway valid, the list() call exits if the device + cannot be found, but let's shut up coverity */ + if (!info) + return EXIT_FAILURE; deviceid = info->deviceid; } @@ -376,7 +380,7 @@ XISetMask(m->mask, XI_Leave); XISetMask(m->mask, XI_FocusIn); XISetMask(m->mask, XI_FocusOut); -#ifdef HAVE_XI22 +#if HAVE_XI22 XISetMask(m->mask, XI_TouchBegin); XISetMask(m->mask, XI_TouchUpdate); XISetMask(m->mask, XI_TouchEnd); @@ -394,7 +398,7 @@ XISetMask(m->mask, XI_RawButtonPress); XISetMask(m->mask, XI_RawButtonRelease); XISetMask(m->mask, XI_RawMotion); -#ifdef HAVE_XI22 +#if HAVE_XI22 XISetMask(m->mask, XI_RawTouchBegin); XISetMask(m->mask, XI_RawTouchUpdate); XISetMask(m->mask, XI_RawTouchEnd); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/src/xinput.c new/xinput-1.6.3/src/xinput.c --- old/xinput-1.6.2/src/xinput.c 2013-09-09 02:21:23.000000000 +0200 +++ new/xinput-1.6.3/src/xinput.c 2019-07-17 07:30:06.000000000 +0200 @@ -273,7 +273,7 @@ return found; } -#ifdef HAVE_XI2 +#if HAVE_XI2 Bool is_pointer(int use) { return use == XIMasterPointer || use == XISlavePointer; @@ -361,6 +361,26 @@ } } +static Bool +is_xwayland(Display *dpy) +{ + XDeviceInfo *devices; + int n; + Bool is_xwayland = False; + + devices = XListInputDevices(dpy, &n); + while (n-- > 0) { + if (strncmp(devices[n].name, "xwayland-", 9) == 0) { + is_xwayland = True; + break; + } + } + + XFreeDeviceList(devices); + + return is_xwayland; +} + int main(int argc, char * argv[]) { @@ -402,6 +422,9 @@ goto out; } + if (is_xwayland(display)) + fprintf(stderr, "WARNING: running xinput against an Xwayland server. See the xinput man page for details.\n"); + while(driver->func_name) { if (strcmp(driver->func_name, func) == 0) { int r = (*driver->func)(display, argc-2, argv+2, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xinput-1.6.2/src/xinput.h new/xinput-1.6.3/src/xinput.h --- old/xinput-1.6.2/src/xinput.h 2012-07-27 05:57:06.000000000 +0200 +++ new/xinput-1.6.3/src/xinput.h 2019-07-17 07:30:06.000000000 +0200 @@ -27,7 +27,7 @@ #include <X11/Xlib.h> #include <X11/extensions/XInput.h> -#ifdef HAVE_XI2 +#if HAVE_XI2 #include <X11/extensions/XInput2.h> #endif #include <X11/Xutil.h>