summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2023-05-07 17:22:16 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2023-05-07 17:22:16 +0000
commitdbf96998d15ce88f806852e3fa54d90aa6792eb0 (patch)
tree4bdb73e21d3efcd9b5c6a57833e6d248c43810e7 /app
parent694455243e4b2a0cffec460bbca1ec9fb2f293b6 (diff)
Update to xinput 1.6.4
Diffstat (limited to 'app')
-rw-r--r--app/xinput/ChangeLog90
-rw-r--r--app/xinput/Makefile.in7
-rw-r--r--app/xinput/aclocal.m482
-rwxr-xr-xapp/xinput/compile6
-rwxr-xr-xapp/xinput/configure71
-rw-r--r--app/xinput/configure.ac4
-rw-r--r--app/xinput/man/Makefile.in1
-rw-r--r--app/xinput/man/xinput.man58
-rw-r--r--app/xinput/src/Makefile.in1
-rw-r--r--app/xinput/src/property.c12
-rw-r--r--app/xinput/src/test_xi2.c6
-rw-r--r--app/xinput/src/transform.c8
-rw-r--r--app/xinput/src/xinput.c7
13 files changed, 254 insertions, 99 deletions
diff --git a/app/xinput/ChangeLog b/app/xinput/ChangeLog
index bb0fce26a..84dbb3d4a 100644
--- a/app/xinput/ChangeLog
+++ b/app/xinput/ChangeLog
@@ -1,3 +1,93 @@
+commit b6092488058da39754ece13475aab53616397af7
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Apr 28 10:55:33 2023 +1000
+
+ xinput 1.6.4
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2dbdc2adf8cc7983f153b6ca90c3a87b0997ddb5
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Jul 29 12:05:32 2022 +1000
+
+ Add support for the XWAYLAND extension
+
+ Where this extension is present, we can be sure the X server is
+ Xwayland. Since it'll take a while for servers to propagate, leave the
+ existing check in place as fallback.
+
+ See https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/54
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 889cfceebd77c58734477e3083d1577b17884046
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Thu Jul 28 17:30:21 2022 -0700
+
+ gitlab CI: stop requiring Signed-off-by in commits
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 8cebd89a644545c91a3d1c146977fe023798ee2a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Oct 24 18:44:39 2019 +1000
+
+ test-xi2: print timestamps for all events
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit ea196bdcb912505277166aa12a21ca8739cdc8fb
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Mar 10 09:31:30 2022 +1000
+
+ Drop the space before colon in the usage output
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c57678d333ca993afa50134d7b7beb252d02f35c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Mar 10 09:28:35 2022 +1000
+
+ man: rename the options to commands and drop the double-dash
+
+ "xinput list" is much more modern than xinput --list, let's list it as
+ such in the man page. --help already lists it without double-dash as
+ well.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit dad6251572071089c680932f86ff62a703054202
+Author: Luca Carlon <carlon.luca@gmail.com>
+Date: Tue Mar 8 13:05:15 2022 +0100
+
+ Use a constant id to let the user reset the input transformation matrix.
+
+ Signed-off-by: Luca Carlon <carlon.luca@gmail.com>
+
+commit f77ed7621e6e7918fe1eb3d390f22b545b883a33
+Author: Ben Kallus <benjamin.p.kallus.gr@dartmouth.edu>
+Date: Fri Jan 14 17:55:53 2022 -0500
+
+ Add argc checks to delete-prop
+
+ Signed-off-by: Ben Kallus <benjamin.p.kallus.gr@dartmouth.edu>
+
+commit 7cc6456425cd15532768a2edda4fb4d9f432baf9
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Mon Dec 6 14:40:50 2021 -0800
+
+ Build xz tarballs instead of bzip2
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 1b749abc611985a9dd0bc7a349689b44a01143bd
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Mon Dec 6 14:40:47 2021 -0800
+
+ gitlab CI: add a basic build test
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
commit cef07c0c8280d7e7b82c3bcc62a1dfbe8cc43ff8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Jul 17 15:25:10 2019 +1000
diff --git a/app/xinput/Makefile.in b/app/xinput/Makefile.in
index 6b6fc0c99..ef31919da 100644
--- a/app/xinput/Makefile.in
+++ b/app/xinput/Makefile.in
@@ -154,9 +154,9 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
GZIP_ENV = --best
-DIST_TARGETS = dist-bzip2 dist-gzip
+DIST_TARGETS = dist-xz dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -281,6 +281,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -552,6 +553,7 @@ distdir: $(DISTFILES)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir)
+
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
@@ -559,7 +561,6 @@ dist-bzip2: distdir
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
-
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
diff --git a/app/xinput/aclocal.m4 b/app/xinput/aclocal.m4
index 2a518c4b6..224ae431d 100644
--- a/app/xinput/aclocal.m4
+++ b/app/xinput/aclocal.m4
@@ -19,9 +19,9 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29.1)
-dnl
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 12 (pkg-config-0.29.2)
+
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
@@ -62,7 +62,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29.1])
+[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
@@ -163,7 +163,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
-AC_MSG_CHECKING([for $1])
+AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
@@ -173,11 +173,11 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
+ else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
@@ -194,7 +194,7 @@ installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
@@ -1318,7 +1318,7 @@ AC_SUBST([am__untar])
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
-dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+dnl Copyright (c) 2005, 2023, Oracle and/or its affiliates.
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
@@ -1355,7 +1355,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
-m4_define([vers_have], [1.19.2])
+m4_define([vers_have], [1.20.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@@ -1376,7 +1376,7 @@ AM_MAINTAINER_MODE
# such as man pages and config files
AC_DEFUN([XORG_PROG_RAWCPP],[
AC_REQUIRE([AC_PROG_CPP])
-AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
+AC_PATH_TOOL(RAWCPP, [cpp], [${CPP}],
[$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
# Check for flag to avoid builtin definitions - assumes unix is predefined,
@@ -1686,7 +1686,7 @@ AC_SUBST(MAKE_HTML)
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-xmlto option, it allows maximum flexibilty in making decisions
+# the --with-xmlto option, it allows maximum flexibility in making decisions
# as whether or not to use the xmlto package. When DEFAULT is not specified,
# --with-xmlto assumes 'auto'.
#
@@ -1900,7 +1900,7 @@ AM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-asciidoc option, it allows maximum flexibilty in making decisions
+# the --with-asciidoc option, it allows maximum flexibility in making decisions
# as whether or not to use the asciidoc package. When DEFAULT is not specified,
# --with-asciidoc assumes 'auto'.
#
@@ -1970,7 +1970,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-doxygen option, it allows maximum flexibilty in making decisions
+# the --with-doxygen option, it allows maximum flexibility in making decisions
# as whether or not to use the doxygen package. When DEFAULT is not specified,
# --with-doxygen assumes 'auto'.
#
@@ -2054,7 +2054,7 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-groff option, it allows maximum flexibilty in making decisions
+# the --with-groff option, it allows maximum flexibility in making decisions
# as whether or not to use the groff package. When DEFAULT is not specified,
# --with-groff assumes 'auto'.
#
@@ -2162,7 +2162,7 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-fop option, it allows maximum flexibilty in making decisions
+# the --with-fop option, it allows maximum flexibility in making decisions
# as whether or not to use the fop package. When DEFAULT is not specified,
# --with-fop assumes 'auto'.
#
@@ -2256,7 +2256,7 @@ AC_SUBST([M4], [$ac_cv_path_M4])
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
-# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
+# the --with-ps2pdf option, it allows maximum flexibility in making decisions
# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
# --with-ps2pdf assumes 'auto'.
#
@@ -2311,7 +2311,7 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
# not at the appropriate level. This macro enables a builder to skip all
# documentation targets except traditional man pages.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2344,7 +2344,7 @@ AC_MSG_RESULT([$build_docs])
#
# This macro enables a builder to skip all developer documentation.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2377,7 +2377,7 @@ AC_MSG_RESULT([$build_devel_docs])
#
# This macro enables a builder to skip all functional specification targets.
# Combined with the specific tool checking macros XORG_WITH_*, it provides
-# maximum flexibilty in controlling documentation building.
+# maximum flexibility in controlling documentation building.
# Refer to:
# XORG_WITH_XMLTO --with-xmlto
# XORG_WITH_ASCIIDOC --with-asciidoc
@@ -2852,7 +2852,11 @@ AM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
AC_DEFUN([XORG_COMPILER_BRAND], [
AC_LANG_CASE(
[C], [
- AC_REQUIRE([AC_PROG_CC_C99])
+ dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
+ dnl and complains that AC_PROG_CC_C99 is obsolete
+ m4_version_prereq([2.70],
+ [AC_REQUIRE([AC_PROG_CC])],
+ [AC_REQUIRE([AC_PROG_CC_C99])])
],
[C++], [
AC_REQUIRE([AC_PROG_CXX])
@@ -2868,7 +2872,7 @@ AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
# Minimum version: 1.16.0
#
# Test if the compiler works when passed the given flag as a command line argument.
-# If it succeeds, the flag is appeneded to the given variable. If not, it tries the
+# If it succeeds, the flag is appended to the given variable. If not, it tries the
# next flag in the list until there are no more options.
#
# Note that this does not guarantee that the compiler supports the flag as some
@@ -2884,7 +2888,11 @@ AC_LANG_COMPILER_REQUIRE
AC_LANG_CASE(
[C], [
- AC_REQUIRE([AC_PROG_CC_C99])
+ dnl autoconf-2.70 folded AC_PROG_CC_C99 into AC_PROG_CC
+ dnl and complains that AC_PROG_CC_C99 is obsolete
+ m4_version_prereq([2.70],
+ [AC_REQUIRE([AC_PROG_CC])],
+ [AC_REQUIRE([AC_PROG_CC_C99])])
define([PREFIX], [C])
define([CACHE_PREFIX], [cc])
define([COMPILER], [$CC])
@@ -3025,7 +3033,7 @@ XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
-# Turn some warnings into errors, so we don't accidently get successful builds
+# Turn some warnings into errors, so we don't accidentally get successful builds
# when there are problems that should be fixed.
if test "x$SELECTIVE_WERROR" = "xyes" ; then
@@ -3134,23 +3142,35 @@ AC_SUBST([BASE_]PREFIX[FLAGS])
AC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
]) # XORG_STRICT_OPTION
+# XORG_DEFAULT_NOCODE_OPTIONS
+# ---------------------------
+# Minimum version: 1.20.0
+#
+# Defines default options for X.Org modules which don't compile code,
+# such as fonts, bitmaps, cursors, and docs.
+#
+AC_DEFUN([XORG_DEFAULT_NOCODE_OPTIONS], [
+AC_REQUIRE([AC_PROG_INSTALL])
+XORG_RELEASE_VERSION
+XORG_CHANGELOG
+XORG_INSTALL
+XORG_MANPAGE_SECTIONS
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
+ [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+]) # XORG_DEFAULT_NOCODE_OPTIONS
+
# XORG_DEFAULT_OPTIONS
# --------------------
# Minimum version: 1.3.0
#
-# Defines default options for X.Org modules.
+# Defines default options for X.Org modules which compile code.
#
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
AC_REQUIRE([AC_PROG_INSTALL])
XORG_COMPILER_FLAGS
XORG_CWARNFLAGS
XORG_STRICT_OPTION
-XORG_RELEASE_VERSION
-XORG_CHANGELOG
-XORG_INSTALL
-XORG_MANPAGE_SECTIONS
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
- [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
+XORG_DEFAULT_NOCODE_OPTIONS
]) # XORG_DEFAULT_OPTIONS
# XORG_INSTALL()
diff --git a/app/xinput/compile b/app/xinput/compile
index 99e50524b..df363c8fb 100755
--- a/app/xinput/compile
+++ b/app/xinput/compile
@@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2021 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/*)
+ cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
diff --git a/app/xinput/configure b/app/xinput/configure
index 144eb9f37..f69128a72 100755
--- a/app/xinput/configure
+++ b/app/xinput/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xinput 1.6.3.
+# Generated by GNU Autoconf 2.69 for xinput 1.6.4.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/app/xinput/issues>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xinput'
PACKAGE_TARNAME='xinput'
-PACKAGE_VERSION='1.6.3'
-PACKAGE_STRING='xinput 1.6.3'
+PACKAGE_VERSION='1.6.4'
+PACKAGE_STRING='xinput 1.6.4'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/app/xinput/issues'
PACKAGE_URL=''
@@ -738,6 +738,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -824,6 +825,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1076,6 +1078,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1213,7 +1224,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1326,7 +1337,7 @@ if test "$ac_init_help" = "long"; then
# 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 xinput 1.6.3 to adapt to many kinds of systems.
+\`configure' configures xinput 1.6.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1366,6 +1377,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1396,7 +1408,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xinput 1.6.3:";;
+ short | recursive ) echo "Configuration of xinput 1.6.4:";;
esac
cat <<\_ACEOF
@@ -1510,7 +1522,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xinput configure 1.6.3
+xinput configure 1.6.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1767,7 +1779,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xinput $as_me 1.6.3, which was
+It was created by xinput $as_me 1.6.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2596,7 +2608,7 @@ fi
# Define the identity of the package.
PACKAGE='xinput'
- VERSION='1.6.3'
+ VERSION='1.6.4'
cat >>confdefs.h <<_ACEOF
@@ -6544,7 +6556,7 @@ $as_echo "$supported" >&6; }
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
-# Turn some warnings into errors, so we don't accidently get successful builds
+# Turn some warnings into errors, so we don't accidentally get successful builds
# when there are problems that should be fixed.
if test "x$SELECTIVE_WERROR" = "xyes" ; then
@@ -10216,6 +10228,8 @@ fi
+
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
_ACEOF
@@ -10418,11 +10432,12 @@ AM_BACKSLASH='\'
+
# Obtain compiler/linker options for dependencies
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XINPUT" >&5
-$as_echo_n "checking for XINPUT... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11 xext xi >= 1.2 inputproto >= 1.5 xrandr xinerama" >&5
+$as_echo_n "checking for x11 xext xi >= 1.2 inputproto >= 1.5 xrandr xinerama... " >&6; }
if test -n "$XINPUT_CFLAGS"; then
pkg_cv_XINPUT_CFLAGS="$XINPUT_CFLAGS"
@@ -10462,7 +10477,7 @@ fi
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -10489,7 +10504,7 @@ Alternatively, you may set the environment variables XINPUT_CFLAGS
and XINPUT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -10514,8 +10529,8 @@ fi
# XI2 support
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XI2" >&5
-$as_echo_n "checking for XI2... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xi >= 1.2.99.2 inputproto >= 1.9.99.15" >&5
+$as_echo_n "checking for xi >= 1.2.99.2 inputproto >= 1.9.99.15... " >&6; }
if test -n "$XI2_CFLAGS"; then
pkg_cv_XI2_CFLAGS="$XI2_CFLAGS"
@@ -10555,7 +10570,7 @@ fi
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -10573,7 +10588,7 @@ fi
HAVE_XI2="no"
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
HAVE_XI2="no"
else
@@ -10598,8 +10613,8 @@ fi
# XI2.1 support
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XI21" >&5
-$as_echo_n "checking for XI21... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xi >= 1.4.99.1 inputproto >= 2.0.99.1" >&5
+$as_echo_n "checking for xi >= 1.4.99.1 inputproto >= 2.0.99.1... " >&6; }
if test -n "$XI21_CFLAGS"; then
pkg_cv_XI21_CFLAGS="$XI21_CFLAGS"
@@ -10639,7 +10654,7 @@ fi
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -10666,7 +10681,7 @@ Alternatively, you may set the environment variables XI21_CFLAGS
and XI21_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -10692,8 +10707,8 @@ fi;
# XI2.2 support
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XI22" >&5
-$as_echo_n "checking for XI22... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xi >= 1.5.99.1 inputproto >= 2.1.99.1" >&5
+$as_echo_n "checking for xi >= 1.5.99.1 inputproto >= 2.1.99.1... " >&6; }
if test -n "$XI22_CFLAGS"; then
pkg_cv_XI22_CFLAGS="$XI22_CFLAGS"
@@ -10733,7 +10748,7 @@ fi
if test $pkg_failed = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -10760,7 +10775,7 @@ Alternatively, you may set the environment variables XI22_CFLAGS
and XI22_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@@ -11324,7 +11339,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xinput $as_me 1.6.3, which was
+This file was extended by xinput $as_me 1.6.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11390,7 +11405,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xinput config.status 1.6.3
+xinput config.status 1.6.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/app/xinput/configure.ac b/app/xinput/configure.ac
index ef92013df..e85f9d757 100644
--- a/app/xinput/configure.ac
+++ b/app/xinput/configure.ac
@@ -22,13 +22,13 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([xinput], [1.6.3],
+AC_INIT([xinput], [1.6.4],
[https://gitlab.freedesktop.org/xorg/app/xinput/issues], [xinput])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
# Initialize Automake
-AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_INIT_AUTOMAKE([foreign dist-xz])
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION],
diff --git a/app/xinput/man/Makefile.in b/app/xinput/man/Makefile.in
index 077ebda65..b5eb5d4dd 100644
--- a/app/xinput/man/Makefile.in
+++ b/app/xinput/man/Makefile.in
@@ -251,6 +251,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/app/xinput/man/xinput.man b/app/xinput/man/xinput.man
index a9b2148e9..a2ffd1c72 100644
--- a/app/xinput/man/xinput.man
+++ b/app/xinput/man/xinput.man
@@ -4,20 +4,19 @@
xinput - utility to configure and test X input devices
.SH SYNOPSIS
-.B xinput [OPTIONS] [DEVICE]
+.B xinput [COMMAND] [OPTIONS] [DEVICE]
.SH DESCRIPTION
xinput is a utility to list available input devices, query information about
a device and change input device settings.
-.SH OPTIONS
+.SH COMMANDS
.TP 8
.B --version
Test if the X Input extension is available and return the version number
of the program and the version supported by the server. This option does not
require a device name.
-.PP
.TP 8
-.B --list [--short || --long || --name-only || --id-only] [\fIdevice\fP]
+.B list [--short || --long || --name-only || --id-only] [\fIdevice\fP]
If no argument is given list all the input devices. If an argument is given,
show all the features of \fIdevice\fP.
If --long is provided, the output includes detailed information about the
@@ -31,20 +30,20 @@ device ID is listed per line. Note that the order the devices are listed is
undefined.
.PP
.TP 8
-.B --get-feedbacks \fIdevice\fP
+.B get-feedbacks \fIdevice\fP
Display the feedbacks of \fIdevice\fP.
.PP
.TP 8
-.B --set-pointer \fIdevice\fP
+.B set-pointer \fIdevice\fP
Switch \fIdevice\fP in core pointer.
This option does nothing on X servers 1.5 and later.
.PP
.TP 8
-.B --set-mode \fIdevice\fP \fIABSOLUTE|RELATIVE\fP
+.B set-mode \fIdevice\fP \fIABSOLUTE|RELATIVE\fP
Change the mode of \fIdevice\fP.
.PP
.TP 8
-.B --set-ptr-feedback \fIdevice\fP \fIthreshold\fP \fInum\fP \fIdenom\fP
+.B set-ptr-feedback \fIdevice\fP \fIthreshold\fP \fInum\fP \fIdenom\fP
Change the pointer acceleration (or feedback) parameters of \fIdevice\fP.
The xset(__appmansuffix__) man page has more details. For X.Org Server 1.7
and above, there are additional device properties pertaining to pointer
@@ -52,66 +51,66 @@ acceleration. These do not replace, but complement the pointer feedback
setting.
.PP
.TP 8
-.B --set-integer-feedback \fIdevice\fP \fIindex\fP \fIvalue\fP
+.B set-integer-feedback \fIdevice\fP \fIindex\fP \fIvalue\fP
Change the value of an integer feedback of \fIdevice\fP.
.PP
.TP 8
-.B --set-button-map \fIdevice\fP \fImap_button_1\fP [\fImap_button_2\fP [\fI...\fP]]
+.B set-button-map \fIdevice\fP \fImap_button_1\fP [\fImap_button_2\fP [\fI...\fP]]
Change the button mapping of \fIdevice\fP. The buttons are specified in
physical order (starting with button 1) and are mapped to the logical button
provided. 0 disables a button. The default button mapping for a device is 1
2 3 4 5 6 etc.
.PP
.TP 8
-.B --query-state \fIdevice\fP
+.B query-state \fIdevice\fP
Query the device state.
.PP
.TP 8
-.B --list-props \fIdevice\fP [\fIdevice\fP [\fI...\fP]]
+.B list-props \fIdevice\fP [\fIdevice\fP [\fI...\fP]]
Lists properties that can be set for the given device(s).
.PP
.TP 8
-.B --set-int-prop \fIdevice\fP \fIproperty\fP \fIformat\fP \fIvalue\fP
+.B set-int-prop \fIdevice\fP \fIproperty\fP \fIformat\fP \fIvalue\fP
Sets an integer property for the device. Appropriate values for \fIformat\fP
are 8, 16, or 32, depending on the property. Deprecated, use
-.B --set-prop
+.B set-prop
instead.
.PP
.TP 8
-.B --set-float-prop \fIdevice\fP \fIproperty\fP \fIvalue\fP
+.B set-float-prop \fIdevice\fP \fIproperty\fP \fIvalue\fP
Sets a float property for the device. Deprecated, use
-.B --set-prop
+.B set-prop
instead.
.PP
.TP 8
-.B --set\-prop [\-\-type=\fIatom|float|int\fP] [\-\-format=\fI8|16|32\fP] \fIdevice\fP \fIproperty\fP \fIvalue\fP [...]
+.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. See Section \fICHANGING PROPERTIES\fP.
.PP
.TP 8
-.B --watch-props \fIdevice\fP
+.B watch-props \fIdevice\fP
Prints to standard out when property changes occur.
.PP
.TP 8
-.B --delete-prop \fIdevice\fP \fIproperty\fP
+.B delete-prop \fIdevice\fP \fIproperty\fP
Delete the property from the device.
.PP
.TP 8
-.B --test [-proximity] \fIdevice\fP
+.B test [-proximity] \fIdevice\fP
Register all extended events from \fIdevice\fP and enter an endless
loop displaying events received. If the -proximity is given, ProximityIn
and ProximityOut are registered.
.PP
.TP 8
-.B --test-xi2 [--root] [\fIdevice\fP]
+.B test-xi2 [--root] [\fIdevice\fP]
Register for a number of XI2 events and display them. If a device is given,
only events on this device are displayed. If --root is given, events are
selected on the root window only. Otherwise, a new client window is created
(similar to xev).
.PP
.TP 8
-.B --create-master \fIprefix\fP [sendCore] [enable]
+.B create-master \fIprefix\fP [sendCore] [enable]
Create a new pair of master devices on an XI2-enabled server with the given
\fIprefix\fP. The server will create one master pointer named "\fIprefix\fP
pointer" and one master keyboard named "\fIprefix\fP keyboard". If
@@ -120,7 +119,7 @@ pointer" and one master keyboard named "\fIprefix\fP keyboard". If
immediately (default).
.PP
.TP 8
-.B --remove-master \fImaster\fP [Floating|AttachToMaster] [returnPointer] [returnKeyboard]
+.B remove-master \fImaster\fP [Floating|AttachToMaster] [returnPointer] [returnKeyboard]
Remove \fImaster\fP and its paired master device. Attached slave devices
are set floating if \fIFloating\fP is specified or the argument is omitted.
If the second argument is \fIAttachToMaster\fP, \fIreturnPointer\fP
@@ -129,34 +128,35 @@ specifies the master pointer to attach all slave pointers to and
keyboards to.
.PP
.TP 8
-.B --reattach \fIslave\fP \fImaster\fP
+.B reattach \fIslave\fP \fImaster\fP
Reattach \fIslave\fP to \fImaster\fP.
.PP
.TP 8
-.B --float \fIslave\fP
+.B float \fIslave\fP
Remove \fIslave\fP from its current master device.
.PP
.TP 8
-.B --set-cp \fIwindow\fP \fImaster\fP
+.B set-cp \fIwindow\fP \fImaster\fP
Set the ClientPointer for the client owning \fIwindow\fP to \fImaster\fP.
\fImaster\fP must specify a master pointer.
.PP
.TP 8
-.B --map-to-output \fIdevice\fP \fIcrtc\fP
+.B map-to-output \fIdevice\fP \fIcrtc\fP
Restricts the movements of the absolute \fIdevice\fP to the RandR
\fIcrtc\fP. The output name must match a currently connected output (see
\fIxrandr(__appmansuffix__)\fP). If the NVIDIA binary driver is
detected or RandR 1.2 or later is not available, a Xinerama output may be
specified as "HEAD-N", with N being the Xinerama screen number. This option
has no effect on relative devices.
+If crtc is set to "all", the default behavior is applied.
.PP
.TP 8
-.B --enable \fIdevice\fP
+.B enable \fIdevice\fP
Enable the \fIdevice\fP. This call is equivalent to
.B xinput --set-prop device \fI"Device Enabled"\fP 1
.PP
.TP 8
-.B --disable \fIdevice\fP
+.B disable \fIdevice\fP
Disable the \fIdevice\fP. This call is equivalent to
.B xinput --set-prop device \fI"Device Enabled"\fP 0
.PP
diff --git a/app/xinput/src/Makefile.in b/app/xinput/src/Makefile.in
index 8d1bf4da2..5246afe9b 100644
--- a/app/xinput/src/Makefile.in
+++ b/app/xinput/src/Makefile.in
@@ -256,6 +256,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/app/xinput/src/property.c b/app/xinput/src/property.c
index 071f80fa7..e3baef366 100644
--- a/app/xinput/src/property.c
+++ b/app/xinput/src/property.c
@@ -270,6 +270,12 @@ delete_prop_xi1(Display *dpy, int argc, char** argv, char* n, char *desc)
char *name;
Atom prop;
+ if (argc < 2)
+ {
+ fprintf(stderr, "Usage: xinput %s %s\n", n, desc);
+ return EXIT_FAILURE;
+ }
+
info = find_device_info(dpy, argv[0], False);
if (!info)
{
@@ -578,6 +584,12 @@ delete_prop_xi2(Display *dpy, int argc, char** argv, char* n, char *desc)
char *name;
Atom prop;
+ if (argc < 2)
+ {
+ fprintf(stderr, "Usage: xinput %s %s\n", n, desc);
+ return EXIT_FAILURE;
+ }
+
info = xi2_find_device_info(dpy, argv[0]);
if (!info)
{
diff --git a/app/xinput/src/test_xi2.c b/app/xinput/src/test_xi2.c
index 10a46c3a4..5f97258c5 100644
--- a/app/xinput/src/test_xi2.c
+++ b/app/xinput/src/test_xi2.c
@@ -47,6 +47,7 @@ static void print_deviceevent(XIDeviceEvent* event)
int i;
printf(" device: %d (%d)\n", event->deviceid, event->sourceid);
+ printf(" time: %ld\n", event->time);
printf(" detail: %d\n", event->detail);
switch(event->evtype) {
case XI_KeyPress:
@@ -100,6 +101,7 @@ static void print_deviceevent(XIDeviceEvent* event)
static void print_devicechangedevent(Display *dpy, XIDeviceChangedEvent *event)
{
printf(" device: %d (%d)\n", event->deviceid, event->sourceid);
+ printf(" time: %ld\n", event->time);
printf(" reason: %s\n", (event->reason == XISlaveSwitch) ? "SlaveSwitch" :
"DeviceChanged");
print_classes_xi2(dpy, event->classes, event->num_classes);
@@ -108,6 +110,7 @@ static void print_devicechangedevent(Display *dpy, XIDeviceChangedEvent *event)
static void print_hierarchychangedevent(XIHierarchyEvent *event)
{
int i;
+ printf(" time: %ld\n", event->time);
printf(" Changes happened: %s %s %s %s %s %s %s %s\n",
(event->flags & XIMasterAdded) ? "[new master]" : "",
(event->flags & XIMasterRemoved) ? "[master removed]" : "",
@@ -157,6 +160,7 @@ static void print_rawevent(XIRawEvent *event)
double *val, *raw_val;
printf(" device: %d (%d)\n", event->deviceid, event->sourceid);
+ printf(" time: %ld\n", event->time);
printf(" detail: %d\n", event->detail);
#if HAVE_XI21
switch(event->evtype) {
@@ -184,6 +188,7 @@ static void print_enterleave(XILeaveEvent* event)
int i;
printf(" device: %d (%d)\n", event->deviceid, event->sourceid);
+ printf(" time: %ld\n", event->time);
printf(" windows: root 0x%lx event 0x%lx child 0x%ld\n",
event->root, event->event, event->child);
switch(event->mode)
@@ -239,6 +244,7 @@ static void print_propertyevent(Display *display, XIPropertyEvent* event)
else
changed = "modified";
name = XGetAtomName(display, event->property);
+ printf(" time: %ld\n", event->time);
printf(" property: %ld '%s'\n", event->property, name);
printf(" changed: %s\n", changed);
diff --git a/app/xinput/src/transform.c b/app/xinput/src/transform.c
index d85b07150..e7c93a2c4 100644
--- a/app/xinput/src/transform.c
+++ b/app/xinput/src/transform.c
@@ -331,6 +331,14 @@ map_to_output(Display *dpy, int argc, char *argv[], char *name, char *desc)
}
output_name = argv[1];
+
+ if (!strcmp("all", output_name))
+ {
+ Matrix m;
+ matrix_set_unity(&m);
+ return apply_matrix(dpy, info->deviceid, &m);
+ }
+
output_info = find_output_xrandr(dpy, output_name);
if (!output_info)
{
diff --git a/app/xinput/src/xinput.c b/app/xinput/src/xinput.c
index 7b27ffeb4..c23e5add1 100644
--- a/app/xinput/src/xinput.c
+++ b/app/xinput/src/xinput.c
@@ -105,7 +105,7 @@ static entry drivers[] =
test_xi2,
},
{ "map-to-output",
- "<device> <output name>",
+ "<device> <output name>|all",
map_to_output,
},
#endif
@@ -352,7 +352,7 @@ usage(void)
{
entry *pdriver = drivers;
- fprintf(stderr, "usage :\n");
+ fprintf(stderr, "usage:\n");
while(pdriver->func_name) {
fprintf(stderr, "\txinput %s %s\n", pdriver->func_name,
@@ -388,6 +388,7 @@ main(int argc, char * argv[])
entry *driver = drivers;
char *func;
int event, error;
+ int xwl_op, xwl_ev, xwl_err;
if (argc > 1) {
func = argv[1];
@@ -422,7 +423,7 @@ main(int argc, char * argv[])
goto out;
}
- if (is_xwayland(display))
+ if (XQueryExtension(display, "XWAYLAND", &xwl_op, &xwl_ev, &xwl_err) || is_xwayland(display))
fprintf(stderr, "WARNING: running xinput against an Xwayland server. See the xinput man page for details.\n");
while(driver->func_name) {