Update to xinput 1.6.4

pull/1/head
matthieu 2023-05-07 17:22:15 +00:00
parent 7d3d23bee7
commit 49ef92d176
13 changed files with 255 additions and 100 deletions

View File

@ -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

View File

@ -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)

84
app/xinput/aclocal.m4 vendored
View File

@ -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_OPTIONS
# --------------------
# Minimum version: 1.3.0
# XORG_DEFAULT_NOCODE_OPTIONS
# ---------------------------
# Minimum version: 1.20.0
#
# Defines default options for X.Org modules.
# Defines default options for X.Org modules which don't compile code,
# such as fonts, bitmaps, cursors, and docs.
#
AC_DEFUN([XORG_DEFAULT_OPTIONS], [
AC_DEFUN([XORG_DEFAULT_NOCODE_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
# --------------------
# Minimum version: 1.3.0
#
# 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_DEFAULT_NOCODE_OPTIONS
]) # XORG_DEFAULT_OPTIONS
# XORG_INSTALL()

View File

@ -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/*)

71
app/xinput/configure vendored
View File

@ -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\\"

View File

@ -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],

View File

@ -251,6 +251,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@

View File

@ -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

View File

@ -256,6 +256,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@

View File

@ -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)
{

View File

@ -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);

View File

@ -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)
{

View File

@ -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) {