summaryrefslogtreecommitdiff
path: root/lib/libXi
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2021-11-11 08:58:34 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2021-11-11 08:58:34 +0000
commitf6fb485bbe93b602210392845f3b42d868170248 (patch)
treee16f93669432217dae3c25a845809a3f8396f286 /lib/libXi
parenta225f11c0035c2e974687471cd3d2fc7cdfa0f14 (diff)
Update to libXi 1.8
Diffstat (limited to 'lib/libXi')
-rw-r--r--lib/libXi/ChangeLog97
-rw-r--r--lib/libXi/Makefile.bsd-wrapper4
-rw-r--r--lib/libXi/Makefile.in1
-rw-r--r--lib/libXi/aclocal.m416
-rw-r--r--lib/libXi/configure68
-rw-r--r--lib/libXi/configure.ac4
-rw-r--r--lib/libXi/include/X11/extensions/XInput2.h104
-rw-r--r--lib/libXi/man/Makefile.am1
-rw-r--r--lib/libXi/man/Makefile.in2
-rw-r--r--lib/libXi/man/XAllowDeviceEvents.man6
-rw-r--r--lib/libXi/man/XAllowDeviceEvents.txt2
-rw-r--r--lib/libXi/man/XChangeDeviceControl.man2
-rw-r--r--lib/libXi/man/XChangeDeviceDontPropagateList.man4
-rw-r--r--lib/libXi/man/XChangeDeviceKeyMapping.man2
-rw-r--r--lib/libXi/man/XChangeDeviceProperty.man2
-rw-r--r--lib/libXi/man/XChangeFeedbackControl.man2
-rw-r--r--lib/libXi/man/XChangeKeyboardDevice.man4
-rw-r--r--lib/libXi/man/XChangePointerDevice.man4
-rw-r--r--lib/libXi/man/XCloseDevice.man2
-rw-r--r--lib/libXi/man/XDeleteDeviceProperty.man2
-rw-r--r--lib/libXi/man/XDeviceBell.man4
-rw-r--r--lib/libXi/man/XDeviceTimeCoord.man2
-rw-r--r--lib/libXi/man/XFreeDeviceList.man2
-rw-r--r--lib/libXi/man/XGetDeviceButtonMapping.man2
-rw-r--r--lib/libXi/man/XGetDeviceControl.man4
-rw-r--r--lib/libXi/man/XGetDeviceDontPropagateList.man2
-rw-r--r--lib/libXi/man/XGetDeviceFocus.man2
-rw-r--r--lib/libXi/man/XGetDeviceKeyMapping.man8
-rw-r--r--lib/libXi/man/XGetDeviceKeyMapping.txt4
-rw-r--r--lib/libXi/man/XGetDeviceModifierMapping.man4
-rw-r--r--lib/libXi/man/XGetDeviceMotionEvents.man4
-rw-r--r--lib/libXi/man/XGetDeviceProperty.man4
-rw-r--r--lib/libXi/man/XGetExtensionVersion.man6
-rw-r--r--lib/libXi/man/XGetExtensionVersion.txt2
-rw-r--r--lib/libXi/man/XGetFeedbackControl.man10
-rw-r--r--lib/libXi/man/XGetFeedbackControl.txt6
-rw-r--r--lib/libXi/man/XGetSelectedExtensionEvents.man2
-rw-r--r--lib/libXi/man/XGrabDevice.man10
-rw-r--r--lib/libXi/man/XGrabDevice.txt6
-rw-r--r--lib/libXi/man/XGrabDeviceButton.man35
-rw-r--r--lib/libXi/man/XGrabDeviceButton.txt23
-rw-r--r--lib/libXi/man/XGrabDeviceKey.man16
-rw-r--r--lib/libXi/man/XGrabDeviceKey.txt12
-rw-r--r--lib/libXi/man/XIAllowEvents.man321
-rw-r--r--lib/libXi/man/XIAllowEvents.txt159
-rw-r--r--lib/libXi/man/XIBarrierReleasePointer.man4
-rw-r--r--lib/libXi/man/XIBarrierReleasePointers.man2
-rw-r--r--lib/libXi/man/XIChangeHierarchy.man8
-rw-r--r--lib/libXi/man/XIChangeHierarchy.txt4
-rw-r--r--lib/libXi/man/XIChangeProperty.man10
-rw-r--r--lib/libXi/man/XIChangeProperty.txt8
-rw-r--r--lib/libXi/man/XIDefineCursor.man4
-rw-r--r--lib/libXi/man/XIDeleteProperty.man2
-rw-r--r--lib/libXi/man/XIFreeDeviceInfo.man2
-rw-r--r--lib/libXi/man/XIGetClientPointer.man2
-rw-r--r--lib/libXi/man/XIGetFocus.man2
-rw-r--r--lib/libXi/man/XIGetProperty.man2
-rw-r--r--lib/libXi/man/XIGetSelectedEvents.man2
-rw-r--r--lib/libXi/man/XIGrabButton.man77
-rw-r--r--lib/libXi/man/XIGrabButton.txt65
-rw-r--r--lib/libXi/man/XIGrabDevice.man4
-rw-r--r--lib/libXi/man/XIGrabEnter.man6
-rw-r--r--lib/libXi/man/XIGrabEnter.txt2
-rw-r--r--lib/libXi/man/XIGrabFocusIn.man2
-rw-r--r--lib/libXi/man/XIGrabKeycode.man2
-rw-r--r--lib/libXi/man/XIGrabTouchBegin.man2
-rw-r--r--lib/libXi/man/XIListProperties.man4
-rw-r--r--lib/libXi/man/XIQueryDevice.man53
-rw-r--r--lib/libXi/man/XIQueryDevice.txt25
-rw-r--r--lib/libXi/man/XIQueryPointer.man4
-rw-r--r--lib/libXi/man/XIQueryVersion.man4
-rw-r--r--lib/libXi/man/XISelectEvents.man4
-rw-r--r--lib/libXi/man/XISetClientPointer.man6
-rw-r--r--lib/libXi/man/XISetClientPointer.txt2
-rw-r--r--lib/libXi/man/XISetFocus.man6
-rw-r--r--lib/libXi/man/XISetFocus.txt2
-rw-r--r--lib/libXi/man/XIUndefineCursor.man2
-rw-r--r--lib/libXi/man/XIUngrabButton.man2
-rw-r--r--lib/libXi/man/XIUngrabDevice.man2
-rw-r--r--lib/libXi/man/XIUngrabEnter.man2
-rw-r--r--lib/libXi/man/XIUngrabFocusIn.man2
-rw-r--r--lib/libXi/man/XIUngrabKeycode.man2
-rw-r--r--lib/libXi/man/XIUngrabTouchBegin.man2
-rw-r--r--lib/libXi/man/XIWarpPointer.man4
-rw-r--r--lib/libXi/man/XListDeviceProperties.man4
-rw-r--r--lib/libXi/man/XListInputDevices.man6
-rw-r--r--lib/libXi/man/XListInputDevices.txt2
-rw-r--r--lib/libXi/man/XOpenDevice.man6
-rw-r--r--lib/libXi/man/XOpenDevice.txt2
-rw-r--r--lib/libXi/man/XQueryDeviceState.man4
-rw-r--r--lib/libXi/man/XSelectExtensionEvent.man6
-rw-r--r--lib/libXi/man/XSelectExtensionEvent.txt2
-rw-r--r--lib/libXi/man/XSendExtensionEvent.man56
-rw-r--r--lib/libXi/man/XSendExtensionEvent.txt52
-rw-r--r--lib/libXi/man/XSetDeviceButtonMapping.man6
-rw-r--r--lib/libXi/man/XSetDeviceButtonMapping.txt2
-rw-r--r--lib/libXi/man/XSetDeviceFocus.man4
-rw-r--r--lib/libXi/man/XSetDeviceMode.man4
-rw-r--r--lib/libXi/man/XSetDeviceModifierMapping.man2
-rw-r--r--lib/libXi/man/XSetDeviceValuators.man4
-rw-r--r--lib/libXi/man/XUngrabDevice.man2
-rw-r--r--lib/libXi/man/XUngrabDeviceButton.man2
-rw-r--r--lib/libXi/man/XUngrabDeviceKey.man2
-rw-r--r--lib/libXi/specs/Makefile.in1
-rw-r--r--lib/libXi/src/Makefile.in1
-rw-r--r--lib/libXi/src/XExtInt.c188
-rw-r--r--lib/libXi/src/XIPassiveGrab.c59
-rw-r--r--lib/libXi/src/XIint.h1
108 files changed, 1419 insertions, 318 deletions
diff --git a/lib/libXi/ChangeLog b/lib/libXi/ChangeLog
index deccbbec8..6889ea02a 100644
--- a/lib/libXi/ChangeLog
+++ b/lib/libXi/ChangeLog
@@ -1,3 +1,100 @@
+commit f24d7f43ab4d97203e60677a3d42e11dbc80c8b4
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Wed Sep 15 19:28:03 2021 +0300
+
+ libXi 1.8
+
+ Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
+
+commit dd9a260b29c50be90e92048b0e067456ff18675e
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Wed Sep 15 19:27:50 2021 +0300
+
+ Bump the requirement of inputproto to 2.3.99.1
+
+commit a761ae5119b1460068d6f62219c4e2705ef20814
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sat Sep 4 00:03:50 2021 +0300
+
+ man: Document XIAllowEvents
+
+commit 42ee1f0b0660c5d6aaefbb55ef76ea97ad57d4f6
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Tue Jun 1 14:43:39 2021 +0300
+
+ libXi 1.7.99.2
+
+commit a7343d53509e66d92e91238e9f4ecc2bf154e045
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sun May 30 20:47:38 2021 +0300
+
+ gitlab-ci: Setup gitlab build
+
+commit dd3df0b61499fa231a5a82e14d17bf37ce917d1d
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sun May 30 19:56:18 2021 +0300
+
+ Fix compile error that slipped through
+
+ Lesson for the future: make sure the private environment (e.g
+ convenience scripts) don't add changes where they are not expected. In
+ my case I'm building and installing Debian packages straigth away. And
+ one of the extra commits for Debian support had a change that had to go
+ to the libXi repository.
+
+ The development snapshot 1.7.99.1 has thus not been released (only a
+ commit with the version bump was pushed).
+
+ Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
+
+commit f036a6399a0bb1808dc82f7a91a1ae5a7e57691e
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sun May 30 19:38:07 2021 +0300
+
+ libXi 1.7.99.1
+
+commit 4b2f0f0c0674915645881d9b73e9b8d4cf1a315f
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sat Oct 10 02:53:42 2020 +0300
+
+ Update the list of supported XI versions
+
+commit ed1788b8c3a78f6dc523487e46e202a5f667407c
+Author: Povilas Kanapickas <povilas@radix.lt>
+Date: Sat Oct 10 02:53:41 2020 +0300
+
+ Add support for XI 2.4 gesture events
+
+commit 8b4ea802fa3ba769dc8335f0e72c6f0cb7c9c35e
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun Oct 4 13:48:06 2020 -0700
+
+ man pages: fix more typos
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 6affddac55f03bff63b1e37e475d8e0d0bb84e85
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun Oct 4 13:21:24 2020 -0700
+
+ man pages: Add more missing spaces.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit cff134328cb31df5e366729aca6c4131a1e3304f
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sun Oct 4 13:15:13 2020 -0700
+
+ man/XGrabDeviceButton.txt: Fix bad .P -> paragraph break conversion
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+commit 0944a10d6e22b02f229b4bbaab60aac170ef1bba
+Author: Samanta Navarro <ferivoz@riseup.net>
+Date: Sun Oct 4 18:55:06 2020 +0000
+
+ Fix typos in manual pages
+
commit e05da79a98775edb91ffe3de3b413f156bc4d6e7
Author: Matt Turner <mattst88@gmail.com>
Date: Wed Jun 19 12:42:33 2019 -0400
diff --git a/lib/libXi/Makefile.bsd-wrapper b/lib/libXi/Makefile.bsd-wrapper
index 73efe9406..764abe4e7 100644
--- a/lib/libXi/Makefile.bsd-wrapper
+++ b/lib/libXi/Makefile.bsd-wrapper
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile.bsd-wrapper,v 1.9 2014/05/09 19:55:33 matthieu Exp $
+# $OpenBSD: Makefile.bsd-wrapper,v 1.10 2021/11/11 08:58:33 matthieu Exp $
-SHARED_LIBS= Xi 12.1
+SHARED_LIBS= Xi 12.2
CONFIGURE_ARGS+= --without-xmlto --without-asciidoc --without-fop \
--disable-specs
diff --git a/lib/libXi/Makefile.in b/lib/libXi/Makefile.in
index ade5e6313..0a884a69c 100644
--- a/lib/libXi/Makefile.in
+++ b/lib/libXi/Makefile.in
@@ -314,6 +314,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/lib/libXi/aclocal.m4 b/lib/libXi/aclocal.m4
index e7052124f..ff9ff5994 100644
--- a/lib/libXi/aclocal.m4
+++ b/lib/libXi/aclocal.m4
@@ -8606,9 +8606,9 @@ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-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
@@ -8649,7 +8649,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
@@ -8750,7 +8750,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])
@@ -8760,11 +8760,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
@@ -8781,7 +8781,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
diff --git a/lib/libXi/configure b/lib/libXi/configure
index 499ff5647..3e1d5bf4c 100644
--- a/lib/libXi/configure
+++ b/lib/libXi/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libXi 1.7.10.
+# Generated by GNU Autoconf 2.69 for libXi 1.8.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libXi/issues>.
#
@@ -651,8 +651,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libXi'
PACKAGE_TARNAME='libXi'
-PACKAGE_VERSION='1.7.10'
-PACKAGE_STRING='libXi 1.7.10'
+PACKAGE_VERSION='1.8'
+PACKAGE_STRING='libXi 1.8'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libXi/issues'
PACKAGE_URL=''
@@ -849,6 +849,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -949,6 +950,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}'
@@ -1201,6 +1203,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=* \
@@ -1338,7 +1349,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.
@@ -1451,7 +1462,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 libXi 1.7.10 to adapt to many kinds of systems.
+\`configure' configures libXi 1.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1491,6 +1502,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]
@@ -1521,7 +1533,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libXi 1.7.10:";;
+ short | recursive ) echo "Configuration of libXi 1.8:";;
esac
cat <<\_ACEOF
@@ -1660,7 +1672,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libXi configure 1.7.10
+libXi configure 1.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1984,7 +1996,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 libXi $as_me 1.7.10, which was
+It was created by libXi $as_me 1.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2813,7 +2825,7 @@ fi
# Define the identity of the package.
PACKAGE='libXi'
- VERSION='1.7.10'
+ VERSION='1.8'
cat >>confdefs.h <<_ACEOF
@@ -18430,19 +18442,19 @@ fi
# Obtain compiler/linker options for dependencies
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XI" >&5
-$as_echo_n "checking for XI... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1" >&5
+$as_echo_n "checking for xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1... " >&6; }
if test -n "$XI_CFLAGS"; then
pkg_cv_XI_CFLAGS="$XI_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1\""; } >&5
- ($PKG_CONFIG --exists --print-errors "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_XI_CFLAGS=`$PKG_CONFIG --cflags "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1" 2>/dev/null`
+ pkg_cv_XI_CFLAGS=`$PKG_CONFIG --cflags "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18454,12 +18466,12 @@ if test -n "$XI_LIBS"; then
pkg_cv_XI_LIBS="$XI_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1\""; } >&5
- ($PKG_CONFIG --exists --print-errors "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_XI_LIBS=`$PKG_CONFIG --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1" 2>/dev/null`
+ pkg_cv_XI_LIBS=`$PKG_CONFIG --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
@@ -18471,7 +18483,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
@@ -18480,14 +18492,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- XI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1" 2>&1`
+ XI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1" 2>&1`
else
- XI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1" 2>&1`
+ XI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$XI_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.2.99.1) were not met:
+ as_fn_error $? "Package requirements (xproto >= 7.0.13 x11 >= 1.6 xextproto >= 7.0.3 xext >= 1.0.99.1 inputproto >= 2.3.99.1) were not met:
$XI_PKG_ERRORS
@@ -18498,7 +18510,7 @@ Alternatively, you may set the environment variables XI_CFLAGS
and XI_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;}
@@ -18522,8 +18534,8 @@ fi
# CFLAGS only for PointerBarrier typedef
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XFIXES" >&5
-$as_echo_n "checking for XFIXES... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xfixes >= 5" >&5
+$as_echo_n "checking for xfixes >= 5... " >&6; }
if test -n "$XFIXES_CFLAGS"; then
pkg_cv_XFIXES_CFLAGS="$XFIXES_CFLAGS"
@@ -18563,7 +18575,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
@@ -18590,7 +18602,7 @@ Alternatively, you may set the environment variables XFIXES_CFLAGS
and XFIXES_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;}
@@ -19220,7 +19232,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 libXi $as_me 1.7.10, which was
+This file was extended by libXi $as_me 1.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19286,7 +19298,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="\\
-libXi config.status 1.7.10
+libXi config.status 1.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/lib/libXi/configure.ac b/lib/libXi/configure.ac
index 1edee43d4..36080b864 100644
--- a/lib/libXi/configure.ac
+++ b/lib/libXi/configure.ac
@@ -1,7 +1,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([libXi], [1.7.10],
+AC_INIT([libXi], [1.8],
[https://gitlab.freedesktop.org/xorg/lib/libXi/issues], [libXi])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([src/config.h])
@@ -27,7 +27,7 @@ XORG_WITH_ASCIIDOC(8.4.5)
XORG_CHECK_MALLOC_ZERO
# Obtain compiler/linker options for dependencies
-PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.6] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.2.99.1])
+PKG_CHECK_MODULES(XI, [xproto >= 7.0.13] [x11 >= 1.6] [xextproto >= 7.0.3] [xext >= 1.0.99.1] [inputproto >= 2.3.99.1])
# CFLAGS only for PointerBarrier typedef
PKG_CHECK_MODULES(XFIXES, [xfixes >= 5])
diff --git a/lib/libXi/include/X11/extensions/XInput2.h b/lib/libXi/include/X11/extensions/XInput2.h
index 33670ebf2..2722142b3 100644
--- a/lib/libXi/include/X11/extensions/XInput2.h
+++ b/lib/libXi/include/X11/extensions/XInput2.h
@@ -153,6 +153,14 @@ typedef struct
int num_touches;
} XITouchClassInfo;
+/* new in XI 2.4 */
+typedef struct
+{
+ int type;
+ int sourceid;
+ int num_touches;
+} XIGestureClassInfo;
+
typedef struct
{
int deviceid;
@@ -360,6 +368,62 @@ typedef struct {
BarrierEventID eventid;
} XIBarrierEvent;
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+ int deviceid;
+ int sourceid;
+ int detail;
+ Window root;
+ Window event;
+ Window child;
+ double root_x;
+ double root_y;
+ double event_x;
+ double event_y;
+ double delta_x;
+ double delta_y;
+ double delta_unaccel_x;
+ double delta_unaccel_y;
+ double scale;
+ double delta_angle;
+ int flags;
+ XIModifierState mods;
+ XIGroupState group;
+} XIGesturePinchEvent;
+
+typedef struct {
+ int type; /* GenericEvent */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ int extension; /* XI extension offset */
+ int evtype;
+ Time time;
+ int deviceid;
+ int sourceid;
+ int detail;
+ Window root;
+ Window event;
+ Window child;
+ double root_x;
+ double root_y;
+ double event_x;
+ double event_y;
+ double delta_x;
+ double delta_y;
+ double delta_unaccel_x;
+ double delta_unaccel_y;
+ int flags;
+ XIModifierState mods;
+ XIGroupState group;
+} XIGestureSwipeEvent;
+
_XFUNCPROTOBEGIN
extern Bool XIQueryPointer(
@@ -553,6 +617,30 @@ extern int XIGrabTouchBegin(
XIGrabModifiers *modifiers_inout
);
+extern int XIGrabPinchGestureBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
+extern int XIGrabSwipeGestureBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout
+);
+
extern Status XIUngrabButton(
Display* display,
int deviceid,
@@ -595,6 +683,22 @@ extern Status XIUngrabTouchBegin(
XIGrabModifiers *modifiers
);
+extern Status XIUngrabPinchGestureBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
+extern Status XIUngrabSwipeGestureBegin(
+ Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers
+);
+
extern Atom *XIListProperties(
Display* display,
int deviceid,
diff --git a/lib/libXi/man/Makefile.am b/lib/libXi/man/Makefile.am
index b84ee5370..c2fbfdf7f 100644
--- a/lib/libXi/man/Makefile.am
+++ b/lib/libXi/man/Makefile.am
@@ -25,6 +25,7 @@ libmandir = $(LIB_MAN_DIR)
# Source files for X Input v2 man pages
XI2_txt = \
+ XIAllowEvents.txt \
XIBarrierReleasePointer.txt \
XIChangeHierarchy.txt \
XIDefineCursor.txt \
diff --git a/lib/libXi/man/Makefile.in b/lib/libXi/man/Makefile.in
index 271363740..e0b080221 100644
--- a/lib/libXi/man/Makefile.in
+++ b/lib/libXi/man/Makefile.in
@@ -288,6 +288,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -300,6 +301,7 @@ libmandir = $(LIB_MAN_DIR)
# Source files for X Input v2 man pages
XI2_txt = \
+ XIAllowEvents.txt \
XIBarrierReleasePointer.txt \
XIChangeHierarchy.txt \
XIDefineCursor.txt \
diff --git a/lib/libXi/man/XAllowDeviceEvents.man b/lib/libXi/man/XAllowDeviceEvents.man
index c9acbcd37..c6378334c 100644
--- a/lib/libXi/man/XAllowDeviceEvents.man
+++ b/lib/libXi/man/XAllowDeviceEvents.man
@@ -2,12 +2,12 @@
.\" Title: xallowdeviceevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XALLOWDEVICEEVENTS" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XALLOWDEVICEEVENTS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -52,7 +52,7 @@ device
.sp
.nf
event_mode
- Specifies the event mode\&.You can pass AsyncThisDevice,
+ Specifies the event mode\&. You can pass AsyncThisDevice,
SyncThisDevice, ReplayThisDevice, AsyncOtherDevices,
SyncAll, or AsyncAll\&.
.fi
diff --git a/lib/libXi/man/XAllowDeviceEvents.txt b/lib/libXi/man/XAllowDeviceEvents.txt
index 1120e3dde..5842c1218 100644
--- a/lib/libXi/man/XAllowDeviceEvents.txt
+++ b/lib/libXi/man/XAllowDeviceEvents.txt
@@ -23,7 +23,7 @@ SYNOPSIS
allowed.
event_mode
- Specifies the event mode.You can pass AsyncThisDevice,
+ Specifies the event mode. You can pass AsyncThisDevice,
SyncThisDevice, ReplayThisDevice, AsyncOtherDevices,
SyncAll, or AsyncAll.
diff --git a/lib/libXi/man/XChangeDeviceControl.man b/lib/libXi/man/XChangeDeviceControl.man
index 948806386..2c385bcec 100644
--- a/lib/libXi/man/XChangeDeviceControl.man
+++ b/lib/libXi/man/XChangeDeviceControl.man
@@ -1 +1 @@
-.so XGetDeviceControl.libmansuffix
+.so manlibmansuffix/XGetDeviceControl.libmansuffix
diff --git a/lib/libXi/man/XChangeDeviceDontPropagateList.man b/lib/libXi/man/XChangeDeviceDontPropagateList.man
index 2e7c201e3..43d959081 100644
--- a/lib/libXi/man/XChangeDeviceDontPropagateList.man
+++ b/lib/libXi/man/XChangeDeviceDontPropagateList.man
@@ -2,12 +2,12 @@
.\" Title: xchangedevicedontpropagatelist
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XCHANGEDEVICEDONTPRO" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XCHANGEDEVICEDONTPRO" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XChangeDeviceKeyMapping.man b/lib/libXi/man/XChangeDeviceKeyMapping.man
index d78687126..4ff457c64 100644
--- a/lib/libXi/man/XChangeDeviceKeyMapping.man
+++ b/lib/libXi/man/XChangeDeviceKeyMapping.man
@@ -1 +1 @@
-.so XGetDeviceKeyMapping.libmansuffix
+.so manlibmansuffix/XGetDeviceKeyMapping.libmansuffix
diff --git a/lib/libXi/man/XChangeDeviceProperty.man b/lib/libXi/man/XChangeDeviceProperty.man
index 156dd2c9e..20c3934e8 100644
--- a/lib/libXi/man/XChangeDeviceProperty.man
+++ b/lib/libXi/man/XChangeDeviceProperty.man
@@ -1 +1 @@
-.so XGetDeviceProperty.libmansuffix
+.so manlibmansuffix/XGetDeviceProperty.libmansuffix
diff --git a/lib/libXi/man/XChangeFeedbackControl.man b/lib/libXi/man/XChangeFeedbackControl.man
index dc41a6014..1ea22c54e 100644
--- a/lib/libXi/man/XChangeFeedbackControl.man
+++ b/lib/libXi/man/XChangeFeedbackControl.man
@@ -1 +1 @@
-.so XGetFeedbackControl.libmansuffix
+.so manlibmansuffix/XGetFeedbackControl.libmansuffix
diff --git a/lib/libXi/man/XChangeKeyboardDevice.man b/lib/libXi/man/XChangeKeyboardDevice.man
index 8c538ffa5..664294f9c 100644
--- a/lib/libXi/man/XChangeKeyboardDevice.man
+++ b/lib/libXi/man/XChangeKeyboardDevice.man
@@ -2,12 +2,12 @@
.\" Title: xchangekeyboarddevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XCHANGEKEYBOARDDEVIC" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XCHANGEKEYBOARDDEVIC" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XChangePointerDevice.man b/lib/libXi/man/XChangePointerDevice.man
index d0887592a..66ffa8748 100644
--- a/lib/libXi/man/XChangePointerDevice.man
+++ b/lib/libXi/man/XChangePointerDevice.man
@@ -2,12 +2,12 @@
.\" Title: xchangepointerdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XCHANGEPOINTERDEVICE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XCHANGEPOINTERDEVICE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XCloseDevice.man b/lib/libXi/man/XCloseDevice.man
index 79846cc6d..ff0ce17ed 100644
--- a/lib/libXi/man/XCloseDevice.man
+++ b/lib/libXi/man/XCloseDevice.man
@@ -1 +1 @@
-.so XOpenDevice.libmansuffix
+.so manlibmansuffix/XOpenDevice.libmansuffix
diff --git a/lib/libXi/man/XDeleteDeviceProperty.man b/lib/libXi/man/XDeleteDeviceProperty.man
index 156dd2c9e..20c3934e8 100644
--- a/lib/libXi/man/XDeleteDeviceProperty.man
+++ b/lib/libXi/man/XDeleteDeviceProperty.man
@@ -1 +1 @@
-.so XGetDeviceProperty.libmansuffix
+.so manlibmansuffix/XGetDeviceProperty.libmansuffix
diff --git a/lib/libXi/man/XDeviceBell.man b/lib/libXi/man/XDeviceBell.man
index 1b1c9ef77..89616fbfb 100644
--- a/lib/libXi/man/XDeviceBell.man
+++ b/lib/libXi/man/XDeviceBell.man
@@ -2,12 +2,12 @@
.\" Title: xdevicebell
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XDEVICEBELL" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XDEVICEBELL" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XDeviceTimeCoord.man b/lib/libXi/man/XDeviceTimeCoord.man
index 7d0b7dc6d..f9f3afd54 100644
--- a/lib/libXi/man/XDeviceTimeCoord.man
+++ b/lib/libXi/man/XDeviceTimeCoord.man
@@ -1 +1 @@
-.so XGetDeviceMotionEvents.libmansuffix
+.so manlibmansuffix/XGetDeviceMotionEvents.libmansuffix
diff --git a/lib/libXi/man/XFreeDeviceList.man b/lib/libXi/man/XFreeDeviceList.man
index 1a79ebf2d..9dd0be8ff 100644
--- a/lib/libXi/man/XFreeDeviceList.man
+++ b/lib/libXi/man/XFreeDeviceList.man
@@ -1 +1 @@
-.so XListInputDevices.libmansuffix
+.so manlibmansuffix/XListInputDevices.libmansuffix
diff --git a/lib/libXi/man/XGetDeviceButtonMapping.man b/lib/libXi/man/XGetDeviceButtonMapping.man
index 01e08448a..44b0ff9f1 100644
--- a/lib/libXi/man/XGetDeviceButtonMapping.man
+++ b/lib/libXi/man/XGetDeviceButtonMapping.man
@@ -1 +1 @@
-.so XSetDeviceButtonMapping.libmansuffix
+.so manlibmansuffix/XSetDeviceButtonMapping.libmansuffix
diff --git a/lib/libXi/man/XGetDeviceControl.man b/lib/libXi/man/XGetDeviceControl.man
index 8de91e41b..54414210c 100644
--- a/lib/libXi/man/XGetDeviceControl.man
+++ b/lib/libXi/man/XGetDeviceControl.man
@@ -2,12 +2,12 @@
.\" Title: xgetdevicecontrol
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETDEVICECONTROL" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETDEVICECONTROL" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XGetDeviceDontPropagateList.man b/lib/libXi/man/XGetDeviceDontPropagateList.man
index a691a8b33..65257dae4 100644
--- a/lib/libXi/man/XGetDeviceDontPropagateList.man
+++ b/lib/libXi/man/XGetDeviceDontPropagateList.man
@@ -1 +1 @@
-.so XChangeDeviceDontPropagateList.libmansuffix
+.so manlibmansuffix/XChangeDeviceDontPropagateList.libmansuffix
diff --git a/lib/libXi/man/XGetDeviceFocus.man b/lib/libXi/man/XGetDeviceFocus.man
index 54b7e130a..9ce679e36 100644
--- a/lib/libXi/man/XGetDeviceFocus.man
+++ b/lib/libXi/man/XGetDeviceFocus.man
@@ -1 +1 @@
-.so XSetDeviceFocus.libmansuffix
+.so manlibmansuffix/XSetDeviceFocus.libmansuffix
diff --git a/lib/libXi/man/XGetDeviceKeyMapping.man b/lib/libXi/man/XGetDeviceKeyMapping.man
index 8df368aba..822c17722 100644
--- a/lib/libXi/man/XGetDeviceKeyMapping.man
+++ b/lib/libXi/man/XGetDeviceKeyMapping.man
@@ -2,12 +2,12 @@
.\" Title: xgetdevicekeymapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETDEVICEKEYMAPPING" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETDEVICEKEYMAPPING" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -70,7 +70,7 @@ keysyms_per_keycode
.nf
keysyms_per_keycode_return
Specifies the address of a variable into which the
- number of KeySyms per KeyCodewill be returned\&.
+ number of KeySyms per KeyCode will be returned\&.
.fi
.sp
.nf
@@ -252,7 +252,7 @@ the client to be large enough to hold all desired symbols\&. A
special KeySym value of NoSymbol should be used to fill in
unused elements for individual KeyCodes\&. It is legal for
NoSymbol to appear in nontrailing positions of the effective
-list for a KeyCode\&.XChangeDeviceKeyMapping generates a
+list for a KeyCode\&. XChangeDeviceKeyMapping generates a
DeviceMappingNotify event that is sent to all clients that have
selected that type of event\&.
.fi
diff --git a/lib/libXi/man/XGetDeviceKeyMapping.txt b/lib/libXi/man/XGetDeviceKeyMapping.txt
index 0c684126f..dfa59fc82 100644
--- a/lib/libXi/man/XGetDeviceKeyMapping.txt
+++ b/lib/libXi/man/XGetDeviceKeyMapping.txt
@@ -36,7 +36,7 @@ SYNOPSIS
keysyms_per_keycode_return
Specifies the address of a variable into which the
- number of KeySyms per KeyCodewill be returned.
+ number of KeySyms per KeyCode will be returned.
keysyms
Specifies the address of an array of KeySyms.
@@ -101,7 +101,7 @@ DESCRIPTION
special KeySym value of NoSymbol should be used to fill in
unused elements for individual KeyCodes. It is legal for
NoSymbol to appear in nontrailing positions of the effective
- list for a KeyCode.XChangeDeviceKeyMapping generates a
+ list for a KeyCode. XChangeDeviceKeyMapping generates a
DeviceMappingNotify event that is sent to all clients that have
selected that type of event.
diff --git a/lib/libXi/man/XGetDeviceModifierMapping.man b/lib/libXi/man/XGetDeviceModifierMapping.man
index 51bd2dac7..b678b6d56 100644
--- a/lib/libXi/man/XGetDeviceModifierMapping.man
+++ b/lib/libXi/man/XGetDeviceModifierMapping.man
@@ -2,12 +2,12 @@
.\" Title: xgetdevicemodifiermapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETDEVICEMODIFIERMA" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETDEVICEMODIFIERMA" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XGetDeviceMotionEvents.man b/lib/libXi/man/XGetDeviceMotionEvents.man
index c845fc61b..c60da78bc 100644
--- a/lib/libXi/man/XGetDeviceMotionEvents.man
+++ b/lib/libXi/man/XGetDeviceMotionEvents.man
@@ -2,12 +2,12 @@
.\" Title: xgetdevicemotionevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETDEVICEMOTIONEVEN" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETDEVICEMOTIONEVEN" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XGetDeviceProperty.man b/lib/libXi/man/XGetDeviceProperty.man
index f5bfebd1d..72140fab8 100644
--- a/lib/libXi/man/XGetDeviceProperty.man
+++ b/lib/libXi/man/XGetDeviceProperty.man
@@ -2,12 +2,12 @@
.\" Title: xgetdeviceproperty
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETDEVICEPROPERTY" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETDEVICEPROPERTY" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XGetExtensionVersion.man b/lib/libXi/man/XGetExtensionVersion.man
index 4344a641f..860c2b72a 100644
--- a/lib/libXi/man/XGetExtensionVersion.man
+++ b/lib/libXi/man/XGetExtensionVersion.man
@@ -2,12 +2,12 @@
.\" Title: xgetextensionversion
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETEXTENSIONVERSION" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETEXTENSIONVERSION" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -48,7 +48,7 @@ display
.nf
name
Specifies the extension to be queried\&. The input
- extension name is definedin the header file XI\&.h\&.
+ extension name is defined in the header file XI\&.h\&.
.fi
.SH "DESCRIPTION"
.sp
diff --git a/lib/libXi/man/XGetExtensionVersion.txt b/lib/libXi/man/XGetExtensionVersion.txt
index c7d45f40a..53426fd32 100644
--- a/lib/libXi/man/XGetExtensionVersion.txt
+++ b/lib/libXi/man/XGetExtensionVersion.txt
@@ -19,7 +19,7 @@ SYNOPSIS
name
Specifies the extension to be queried. The input
- extension name is definedin the header file XI.h.
+ extension name is defined in the header file XI.h.
DESCRIPTION
-----------
diff --git a/lib/libXi/man/XGetFeedbackControl.man b/lib/libXi/man/XGetFeedbackControl.man
index c968a12bb..36e8c0a57 100644
--- a/lib/libXi/man/XGetFeedbackControl.man
+++ b/lib/libXi/man/XGetFeedbackControl.man
@@ -2,12 +2,12 @@
.\" Title: xgetfeedbackcontrol
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGETFEEDBACKCONTROL" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGETFEEDBACKCONTROL" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -62,19 +62,19 @@ device
.nf
num_feedbacks
Specifies an address into which the number of feedbacks
- supported by thedevice is to be returned\&.
+ supported by the device is to be returned\&.
.fi
.sp
.nf
mask
Specifies a mask specific to each type of feedback that
- describes howthe feedback is to be modified\&.
+ describes how the feedback is to be modified\&.
.fi
.sp
.nf
control
Specifies the address of an XFeedbackControl structure
- that containsthe new values for the feedback\&.
+ that contains the new values for the feedback\&.
.fi
.SH "DESCRIPTION"
.sp
diff --git a/lib/libXi/man/XGetFeedbackControl.txt b/lib/libXi/man/XGetFeedbackControl.txt
index 820ff9644..c4ef32253 100644
--- a/lib/libXi/man/XGetFeedbackControl.txt
+++ b/lib/libXi/man/XGetFeedbackControl.txt
@@ -30,15 +30,15 @@ SYNOPSIS
num_feedbacks
Specifies an address into which the number of feedbacks
- supported by thedevice is to be returned.
+ supported by the device is to be returned.
mask
Specifies a mask specific to each type of feedback that
- describes howthe feedback is to be modified.
+ describes how the feedback is to be modified.
control
Specifies the address of an XFeedbackControl structure
- that containsthe new values for the feedback.
+ that contains the new values for the feedback.
DESCRIPTION
-----------
diff --git a/lib/libXi/man/XGetSelectedExtensionEvents.man b/lib/libXi/man/XGetSelectedExtensionEvents.man
index ea49cf1af..4adbaa61e 100644
--- a/lib/libXi/man/XGetSelectedExtensionEvents.man
+++ b/lib/libXi/man/XGetSelectedExtensionEvents.man
@@ -1 +1 @@
-.so XSelectExtensionEvent.libmansuffix
+.so manlibmansuffix/XSelectExtensionEvent.libmansuffix
diff --git a/lib/libXi/man/XGrabDevice.man b/lib/libXi/man/XGrabDevice.man
index 49703f1e8..9cc7e5da2 100644
--- a/lib/libXi/man/XGrabDevice.man
+++ b/lib/libXi/man/XGrabDevice.man
@@ -2,12 +2,12 @@
.\" Title: xgrabdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGRABDEVICE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGRABDEVICE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -100,7 +100,7 @@ this_device_mode
.nf
other_devices_mode
Specifies further processing of events from other
- devices\&.You can pass GrabModeSync or GrabModeAsync\&.
+ devices\&. You can pass GrabModeSync or GrabModeAsync\&.
.fi
.sp
.nf
@@ -117,7 +117,7 @@ time
The XGrabDevice request actively grabs control of the device
and generates DeviceFocusIn and DeviceFocusOut events\&. Further
device events are reported only to the grabbing
-client\&.XGrabDevice overrides any active device grab by this
+client\&. XGrabDevice overrides any active device grab by this
client\&. event_list is a pointer to a list of event classes\&.
This list indicates which events the client wishes to receive
while the grab is active\&. If owner_events is False, all
@@ -218,7 +218,7 @@ BadWindow errors\&.
The XUngrabDevice request releases the device and any queued
events if this client has it actively grabbed from either
XGrabDevice or XGrabDeviceKey\&. If other devices are frozen by
-the grab, XUngrabDevice thaws them\&.XUngrabDevice does not
+the grab, XUngrabDevice thaws them\&. XUngrabDevice does not
release the device and any queued events if the specified time
is earlier than the last\-device\-grab time or is later than the
current X server time\&. It also generates DeviceFocusIn and
diff --git a/lib/libXi/man/XGrabDevice.txt b/lib/libXi/man/XGrabDevice.txt
index cfe215f2e..e1f74c1f4 100644
--- a/lib/libXi/man/XGrabDevice.txt
+++ b/lib/libXi/man/XGrabDevice.txt
@@ -58,7 +58,7 @@ SYNOPSIS
other_devices_mode
Specifies further processing of events from other
- devices.You can pass GrabModeSync or GrabModeAsync.
+ devices. You can pass GrabModeSync or GrabModeAsync.
time
Specifies the time. You can pass either a timestamp or
@@ -70,7 +70,7 @@ DESCRIPTION
The XGrabDevice request actively grabs control of the device
and generates DeviceFocusIn and DeviceFocusOut events. Further
device events are reported only to the grabbing
- client.XGrabDevice overrides any active device grab by this
+ client. XGrabDevice overrides any active device grab by this
client. event_list is a pointer to a list of event classes.
This list indicates which events the client wishes to receive
while the grab is active. If owner_events is False, all
@@ -123,7 +123,7 @@ DESCRIPTION
The XUngrabDevice request releases the device and any queued
events if this client has it actively grabbed from either
XGrabDevice or XGrabDeviceKey. If other devices are frozen by
- the grab, XUngrabDevice thaws them.XUngrabDevice does not
+ the grab, XUngrabDevice thaws them. XUngrabDevice does not
release the device and any queued events if the specified time
is earlier than the last-device-grab time or is later than the
current X server time. It also generates DeviceFocusIn and
diff --git a/lib/libXi/man/XGrabDeviceButton.man b/lib/libXi/man/XGrabDeviceButton.man
index 4ecdb0092..75e2eefda 100644
--- a/lib/libXi/man/XGrabDeviceButton.man
+++ b/lib/libXi/man/XGrabDeviceButton.man
@@ -2,12 +2,12 @@
.\" Title: xgrabdevicebutton
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGRABDEVICEBUTTON" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGRABDEVICEBUTTON" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -76,10 +76,10 @@ button
.sp
.nf
modifiers
- Specifies the set of keymasks or AnyModifier\&.The mask is
+ Specifies the set of keymasks or AnyModifier\&. The mask is
the bitwise inclusive OR of the valid keymask bits\&.
- Valid bits are: Shiftmask, LockMask, ControlMask,
- Mod1Mask, Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask\&.
+ Valid bits are: ShiftMask, LockMask, ControlMask,
+ Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask\&.
.fi
.sp
.nf
@@ -223,14 +223,23 @@ combination\&. XGrabDeviceButton has no effect on an active grab\&.
.\}
.nf
XGrabDeviceButton can generate BadClass, BadDevice, BadMatch,
-BadValue, and BadWindow errors\&.\&.P The XUngrabDeviceButton
-request releases the passive grab for a button/modifier
-combination on the specified window if it was grabbed by this
-client\&. A modifier of AnyModifier is equivalent to issuing the
-ungrab request for all possible modifier combinations,
-including the combination of no modifiers\&. A button of
-AnyButton is equivalent to issuing the request for all possible
-buttons\&. XUngrabDeviceButton has no effect on an active grab\&.
+BadValue, and BadWindow errors\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The XUngrabDeviceButton request releases the passive grab for a
+button/modifier combination on the specified window if it was
+grabbed by this client\&. A modifier of AnyModifier is equivalent to
+issuing the ungrab request for all possible modifier combinations,
+including the combination of no modifiers\&. A button of AnyButton is
+equivalent to issuing the request for all possible buttons\&.
+XUngrabDeviceButton has no effect on an active grab\&.
.fi
.if n \{\
.RE
diff --git a/lib/libXi/man/XGrabDeviceButton.txt b/lib/libXi/man/XGrabDeviceButton.txt
index ab64782f3..dcdc7b200 100644
--- a/lib/libXi/man/XGrabDeviceButton.txt
+++ b/lib/libXi/man/XGrabDeviceButton.txt
@@ -42,10 +42,10 @@ SYNOPSIS
released or AnyButton.
modifiers
- Specifies the set of keymasks or AnyModifier.The mask is
+ Specifies the set of keymasks or AnyModifier. The mask is
the bitwise inclusive OR of the valid keymask bits.
- Valid bits are: Shiftmask, LockMask, ControlMask,
- Mod1Mask, Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask.
+ Valid bits are: ShiftMask, LockMask, ControlMask,
+ Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask.
modifier_device
specifies the device whose modifiers are to be used. If
@@ -124,14 +124,15 @@ DESCRIPTION
combination. XGrabDeviceButton has no effect on an active grab.
XGrabDeviceButton can generate BadClass, BadDevice, BadMatch,
- BadValue, and BadWindow errors..P The XUngrabDeviceButton
- request releases the passive grab for a button/modifier
- combination on the specified window if it was grabbed by this
- client. A modifier of AnyModifier is equivalent to issuing the
- ungrab request for all possible modifier combinations,
- including the combination of no modifiers. A button of
- AnyButton is equivalent to issuing the request for all possible
- buttons. XUngrabDeviceButton has no effect on an active grab.
+ BadValue, and BadWindow errors.
+
+ The XUngrabDeviceButton request releases the passive grab for a
+ button/modifier combination on the specified window if it was
+ grabbed by this client. A modifier of AnyModifier is equivalent to
+ issuing the ungrab request for all possible modifier combinations,
+ including the combination of no modifiers. A button of AnyButton is
+ equivalent to issuing the request for all possible buttons.
+ XUngrabDeviceButton has no effect on an active grab.
A modifier_device of NULL indicates that the X keyboard should
be used as the modifier_device.
diff --git a/lib/libXi/man/XGrabDeviceKey.man b/lib/libXi/man/XGrabDeviceKey.man
index 3bc7e357b..988e3f38f 100644
--- a/lib/libXi/man/XGrabDeviceKey.man
+++ b/lib/libXi/man/XGrabDeviceKey.man
@@ -2,12 +2,12 @@
.\" Title: xgrabdevicekey
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XGRABDEVICEKEY" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XGRABDEVICEKEY" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -76,10 +76,10 @@ Key
.sp
.nf
modifiers
- Specifies the set of keymasks or AnyModifier\&.The mask is
- the bitwise inclusive OR of the valid keymask bits\&.Valid
+ Specifies the set of keymasks or AnyModifier\&. The mask is
+ the bitwise inclusive OR of the valid keymask bits\&. Valid
bits are: ShiftMask, LockMask, ControlMask, Mod1Mask,
- Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask\&.
+ Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask\&.
.fi
.sp
.nf
@@ -122,7 +122,7 @@ this_device_mode
.nf
other_devices_mode
Specifies further processing of events from other
- devices\&. You can pass GrabModeSyncor GrabModeAsync\&.
+ devices\&. You can pass GrabModeSync or GrabModeAsync\&.
.fi
.SH "DESCRIPTION"
.sp
@@ -225,7 +225,7 @@ the same Key/modifier combination on the same window, a
BadAccess error results\&. When using AnyModifier or AnyKey, the
request fails completely, and a BadAccess error results (no
grabs are established) if there is a conflicting grab for any
-combination\&.XGrabDeviceKey has no effect on an active grab\&.
+combination\&. XGrabDeviceKey has no effect on an active grab\&.
.fi
.if n \{\
.RE
@@ -253,7 +253,7 @@ grabbed by this client\&. A modifier of AnyModifier is equivalent
to issuing the ungrab request for all possible modifier
combinations, including the combination of no modifiers\&. A Key
of AnyKey is equivalent to issuing the request for all possible
-Keys\&.XUngrabDeviceKey has no effect on an active grab\&.
+Keys\&. XUngrabDeviceKey has no effect on an active grab\&.
.fi
.if n \{\
.RE
diff --git a/lib/libXi/man/XGrabDeviceKey.txt b/lib/libXi/man/XGrabDeviceKey.txt
index ff86375b5..988b377c5 100644
--- a/lib/libXi/man/XGrabDeviceKey.txt
+++ b/lib/libXi/man/XGrabDeviceKey.txt
@@ -42,10 +42,10 @@ SYNOPSIS
or AnyKey.
modifiers
- Specifies the set of keymasks or AnyModifier.The mask is
- the bitwise inclusive OR of the valid keymask bits.Valid
+ Specifies the set of keymasks or AnyModifier. The mask is
+ the bitwise inclusive OR of the valid keymask bits. Valid
bits are: ShiftMask, LockMask, ControlMask, Mod1Mask,
- Mod2Mask,Mod3Mask, Mod4Mask, Mod5Mask.
+ Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask.
modifier_device
Specifies the device whose modifiers are to be used. If
@@ -74,7 +74,7 @@ SYNOPSIS
other_devices_mode
Specifies further processing of events from other
- devices. You can pass GrabModeSyncor GrabModeAsync.
+ devices. You can pass GrabModeSync or GrabModeAsync.
DESCRIPTION
-----------
@@ -126,7 +126,7 @@ DESCRIPTION
BadAccess error results. When using AnyModifier or AnyKey, the
request fails completely, and a BadAccess error results (no
grabs are established) if there is a conflicting grab for any
- combination.XGrabDeviceKey has no effect on an active grab.
+ combination. XGrabDeviceKey has no effect on an active grab.
XGrabDeviceKey can generate BadAccess, BadClass, BadDevice,
BadMatch, BadValue, and BadWindow errors. It returns Success on
@@ -138,7 +138,7 @@ DESCRIPTION
to issuing the ungrab request for all possible modifier
combinations, including the combination of no modifiers. A Key
of AnyKey is equivalent to issuing the request for all possible
- Keys.XUngrabDeviceKey has no effect on an active grab.
+ Keys. XUngrabDeviceKey has no effect on an active grab.
If a modifier_device of NULL is specified, the X keyboard will
be used as the modifier_device.
diff --git a/lib/libXi/man/XIAllowEvents.man b/lib/libXi/man/XIAllowEvents.man
new file mode 100644
index 000000000..32d45d222
--- /dev/null
+++ b/lib/libXi/man/XIAllowEvents.man
@@ -0,0 +1,321 @@
+'\" t
+.\" Title: xiallowevents
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 09/15/2021
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "XIALLOWEVENTS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+XIAllowEvents \- Release queued events
+.SH "SYNOPSIS"
+.sp
+.nf
+#include <X11/extensions/XInput2\&.h>
+.fi
+.sp
+.nf
+Status XIAllowEvents( Display *display,
+ int deviceid,
+ int event_mode,
+ Time time );
+.fi
+.sp
+.nf
+Status XIAllowTouchEvents( Display *dpy,
+ int deviceid,
+ unsigned int touchid,
+ Window grab_window,
+ int event_mode );
+.fi
+.sp
+.nf
+display
+ Specifies the connection to the X server\&.
+.fi
+.sp
+.nf
+device
+ Specifies the device that is to be grabbed or released
+.fi
+.sp
+.nf
+event_mode
+ Specifies whether a device is to be thawed and events are to be
+ replayed, or how to handle a grabbed touch sequence\&.
+.fi
+.sp
+.nf
+time
+ A valid server time or CurrentTime\&.
+.fi
+.sp
+.nf
+touchid
+ The ID of the touch sequence to accept or reject\&. The value is ignored
+ for event modes other than AcceptTouch and RejectTouch\&.
+.fi
+.sp
+.nf
+grab_window
+ The window on which to accept or reject a touch sequence grab\&. The value
+ is ignored for event modes other than AcceptTouch and RejectTouch\&.
+.fi
+.SH "DESCRIPTION"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The XIAllowEvents request releases some queued events if the client
+has caused a device to freeze\&. It also is used to handle touch grab and
+ownership processing\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The function has no effect if the specified time is earlier than the last\-grab
+time of the most recent active grab for the client, or if the specified time is
+later than the current X server time\&. The time parameter must be CurrentTime for
+requests with event modes of XIAcceptTouch and XIRejectTouch\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The following describes the processing that occurs depending on what constant
+you pass to the event_mode argument:
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIAsyncDevice:
+ If the specified device is frozen by the client, event processing for that
+ device continues as usual\&. If the device is frozen multiple times by the
+ client on behalf of multiple separate grabs, XIAsyncDevice thaws for
+ all\&. XIAsyncDevice has no effect if the specified device is not frozen
+ by the client, but the device need not be grabbed by the client\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XISyncDevice:
+ If the specified device is frozen and actively grabbed by the client,
+ event processing for that device continues normally until the next
+ button press or release, or key press or release, or a gesture begin or end
+ event (depending on the grab) is reported to the client\&.
+ At this time, the specified device again appears to freeze\&.
+ However, if the reported event causes the grab to be released, the
+ specified device does not freeze\&.
+ XISyncDevice has no effect if the specified device is not frozen by the
+ client or is not grabbed by the client\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIReplayDevice:
+ If the specified device is actively grabbed by the client and is frozen
+ as the result of an event having been sent to the client (either from
+ the activation of a XIGrabButton or from a previous XIAllowEvents with
+ mode SyncDevice, but not from a Grab), the grab is released and
+ that event is completely reprocessed\&. This time, however, the request
+ ignores any passive grabs at or above (towards the root) the
+ grab window of the grab just released\&.
+ The request has no effect if the specified device is not grabbed by
+ the client or if it is not frozen as the result of an event\&.
+ In case of gesture begin event being replayed, the original grabbing
+ client will receive a XI_GesturePinchEnd or XI_GestureSwipeEnd event\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIAsyncPairedDevice:
+ If the paired master device is frozen by the client, event processing
+ for it continues as usual\&. If the paired device is frozen multiple
+ times by the client on behalf of multiple separate grabs,
+ XIAsyncPairedDevice thaws for all\&.
+ XIAsyncPairedDevice has no effect if the device is not frozen by the
+ client, but those devices need not be grabbed by the client\&.
+ XIAsyncPairedDevice has no effect if deviceid specifies a slave device\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XISyncPair:
+ If both the device and the paired master device are frozen by the
+ client, event processing (for both devices) continues normally until
+ the next XI_ButtonPress, XI_ButtonRelease, XI_KeyPress, or XI_KeyRelease
+ event is reported to the client for a grabbed device (button event for
+ a pointer, key event for a keyboard), at which time the devices again
+ appear to freeze\&. However, if the reported event causes the grab to be
+ released, then the devices do not freeze (but if the other device is
+ still grabbed, then a subsequent event for it will still cause both
+ devices to freeze)\&.
+ XISyncPair has no effect unless both the device and the paired master
+ device are frozen by the client\&. If the device or paired master device
+ is frozen twice by the client on behalf of two separate grabs,
+ XISyncPair thaws for both (but a subsequent freeze for XISyncPair will
+ only freeze each device once)\&.
+ XISyncPair has no effect if deviceid specifies a slave device\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIAsyncPair:
+ If the device and the paired master device are frozen by the client,
+ event processing for both devices continues normally\&. If a device is
+ frozen twice by the client on behalf of two separate grabs, AsyncBoth
+ thaws for both\&. XIAsyncPair has no effect unless both the device and the
+ paired master device frozen by the client\&.
+ XIAsyncPair has no effect if deviceid specifies a slave device\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIAcceptTouch:
+ The client is deemed to have taken control of the touch sequence once it
+ owns the sequence\&. TouchEnd events will be sent to all clients listening
+ to the touch sequence that have either grabbed the touch sequence on a
+ child window of the grab_window or have received events for the touch
+ sequence through event selection\&. These clients will no longer receive
+ any TouchUpdate events\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIRejectTouch:
+ The client is no longer interested in the touch sequence, and will
+ receive a XI_TouchEnd event\&. If the client is the current owner of the
+ sequence, ownership will be passed on to the next listener\&.
+.fi
+.if n \{\
+.RE
+.\}
+.SH "DIAGNOSTICS"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+BadDevice
+ An invalid deviceid was specified\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+BadAccess
+ This error may occur if event_mode is XIAcceptTouch and this client
+ is not the current or potential owner of the specified touch ID\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+BadValue
+ This error may occur if event_mode is XIAcceptTouch and touch ID is invalid\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+BadWindow
+ A value for a grab_window argument does not name a defined
+ Window\&.
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+XIGrabButton(libmansuffix)
+.fi
+.if n \{\
+.RE
+.\}
diff --git a/lib/libXi/man/XIAllowEvents.txt b/lib/libXi/man/XIAllowEvents.txt
new file mode 100644
index 000000000..f00b39b01
--- /dev/null
+++ b/lib/libXi/man/XIAllowEvents.txt
@@ -0,0 +1,159 @@
+XIALLOWEVENTS(libmansuffix)
+===========================
+
+NAME
+----
+
+ XIAllowEvents - Release queued events
+
+SYNOPSIS
+--------
+
+ #include <X11/extensions/XInput2.h>
+
+ Status XIAllowEvents( Display *display,
+ int deviceid,
+ int event_mode,
+ Time time );
+
+ Status XIAllowTouchEvents( Display *dpy,
+ int deviceid,
+ unsigned int touchid,
+ Window grab_window,
+ int event_mode );
+
+ display
+ Specifies the connection to the X server.
+
+ device
+ Specifies the device that is to be grabbed or released
+
+ event_mode
+ Specifies whether a device is to be thawed and events are to be
+ replayed, or how to handle a grabbed touch sequence.
+
+ time
+ A valid server time or CurrentTime.
+
+ touchid
+ The ID of the touch sequence to accept or reject. The value is ignored
+ for event modes other than AcceptTouch and RejectTouch.
+
+ grab_window
+ The window on which to accept or reject a touch sequence grab. The value
+ is ignored for event modes other than AcceptTouch and RejectTouch.
+
+DESCRIPTION
+-----------
+
+ The XIAllowEvents request releases some queued events if the client
+ has caused a device to freeze. It also is used to handle touch grab and
+ ownership processing.
+
+ The function has no effect if the specified time is earlier than the last-grab
+ time of the most recent active grab for the client, or if the specified time is
+ later than the current X server time. The time parameter must be CurrentTime for
+ requests with event modes of XIAcceptTouch and XIRejectTouch.
+
+ The following describes the processing that occurs depending on what constant
+ you pass to the event_mode argument:
+
+ XIAsyncDevice:
+ If the specified device is frozen by the client, event processing for that
+ device continues as usual. If the device is frozen multiple times by the
+ client on behalf of multiple separate grabs, XIAsyncDevice thaws for
+ all. XIAsyncDevice has no effect if the specified device is not frozen
+ by the client, but the device need not be grabbed by the client.
+
+ XISyncDevice:
+ If the specified device is frozen and actively grabbed by the client,
+ event processing for that device continues normally until the next
+ button press or release, or key press or release, or a gesture begin or end
+ event (depending on the grab) is reported to the client.
+ At this time, the specified device again appears to freeze.
+ However, if the reported event causes the grab to be released, the
+ specified device does not freeze.
+ XISyncDevice has no effect if the specified device is not frozen by the
+ client or is not grabbed by the client.
+
+ XIReplayDevice:
+ If the specified device is actively grabbed by the client and is frozen
+ as the result of an event having been sent to the client (either from
+ the activation of a XIGrabButton or from a previous XIAllowEvents with
+ mode SyncDevice, but not from a Grab), the grab is released and
+ that event is completely reprocessed. This time, however, the request
+ ignores any passive grabs at or above (towards the root) the
+ grab window of the grab just released.
+ The request has no effect if the specified device is not grabbed by
+ the client or if it is not frozen as the result of an event.
+ In case of gesture begin event being replayed, the original grabbing
+ client will receive a XI_GesturePinchEnd or XI_GestureSwipeEnd event.
+
+ XIAsyncPairedDevice:
+ If the paired master device is frozen by the client, event processing
+ for it continues as usual. If the paired device is frozen multiple
+ times by the client on behalf of multiple separate grabs,
+ XIAsyncPairedDevice thaws for all.
+ XIAsyncPairedDevice has no effect if the device is not frozen by the
+ client, but those devices need not be grabbed by the client.
+ XIAsyncPairedDevice has no effect if deviceid specifies a slave device.
+
+ XISyncPair:
+ If both the device and the paired master device are frozen by the
+ client, event processing (for both devices) continues normally until
+ the next XI_ButtonPress, XI_ButtonRelease, XI_KeyPress, or XI_KeyRelease
+ event is reported to the client for a grabbed device (button event for
+ a pointer, key event for a keyboard), at which time the devices again
+ appear to freeze. However, if the reported event causes the grab to be
+ released, then the devices do not freeze (but if the other device is
+ still grabbed, then a subsequent event for it will still cause both
+ devices to freeze).
+ XISyncPair has no effect unless both the device and the paired master
+ device are frozen by the client. If the device or paired master device
+ is frozen twice by the client on behalf of two separate grabs,
+ XISyncPair thaws for both (but a subsequent freeze for XISyncPair will
+ only freeze each device once).
+ XISyncPair has no effect if deviceid specifies a slave device.
+
+ XIAsyncPair:
+ If the device and the paired master device are frozen by the client,
+ event processing for both devices continues normally. If a device is
+ frozen twice by the client on behalf of two separate grabs, AsyncBoth
+ thaws for both. XIAsyncPair has no effect unless both the device and the
+ paired master device frozen by the client.
+ XIAsyncPair has no effect if deviceid specifies a slave device.
+
+ XIAcceptTouch:
+ The client is deemed to have taken control of the touch sequence once it
+ owns the sequence. TouchEnd events will be sent to all clients listening
+ to the touch sequence that have either grabbed the touch sequence on a
+ child window of the grab_window or have received events for the touch
+ sequence through event selection. These clients will no longer receive
+ any TouchUpdate events.
+
+ XIRejectTouch:
+ The client is no longer interested in the touch sequence, and will
+ receive a XI_TouchEnd event. If the client is the current owner of the
+ sequence, ownership will be passed on to the next listener.
+
+DIAGNOSTICS
+-----------
+
+ BadDevice
+ An invalid deviceid was specified.
+
+ BadAccess
+ This error may occur if event_mode is XIAcceptTouch and this client
+ is not the current or potential owner of the specified touch ID.
+
+ BadValue
+ This error may occur if event_mode is XIAcceptTouch and touch ID is invalid.
+
+ BadWindow
+ A value for a grab_window argument does not name a defined
+ Window.
+
+SEE ALSO
+--------
+
+ XIGrabButton(libmansuffix)
diff --git a/lib/libXi/man/XIBarrierReleasePointer.man b/lib/libXi/man/XIBarrierReleasePointer.man
index cf971ff05..d3f8ffbfd 100644
--- a/lib/libXi/man/XIBarrierReleasePointer.man
+++ b/lib/libXi/man/XIBarrierReleasePointer.man
@@ -2,12 +2,12 @@
.\" Title: xibarrierreleasepointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIBARRIERRELEASEPOIN" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIBARRIERRELEASEPOIN" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XIBarrierReleasePointers.man b/lib/libXi/man/XIBarrierReleasePointers.man
index d7c667242..78bb999ed 100644
--- a/lib/libXi/man/XIBarrierReleasePointers.man
+++ b/lib/libXi/man/XIBarrierReleasePointers.man
@@ -1 +1 @@
-.so XIBarrierReleasePointer.libmansuffix
+.so manlibmansuffix/XIBarrierReleasePointer.libmansuffix
diff --git a/lib/libXi/man/XIChangeHierarchy.man b/lib/libXi/man/XIChangeHierarchy.man
index 45716851e..dbc9bcf4b 100644
--- a/lib/libXi/man/XIChangeHierarchy.man
+++ b/lib/libXi/man/XIChangeHierarchy.man
@@ -2,12 +2,12 @@
.\" Title: xichangehierarchy
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XICHANGEHIERARCHY" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XICHANGEHIERARCHY" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -175,7 +175,7 @@ typedef struct {
.\}
.nf
XIAddMasterInfo creates a new master pointer and a new
-master keyboard labelled "name pointer" and "name keyboard"
+master keyboard labeled "name pointer" and "name keyboard"
respectively\&. If sendCore is True, the devices will send core
events\&. If enable is True, the device is enabled immediately\&.
.fi
@@ -245,7 +245,7 @@ XIAttachSlaveInfo can generate a BadDevice error\&.
.RS 4
.\}
.nf
-XIDettachSlaveInfo deattaches device from the current master
+XIDetachSlaveInfo detaches device from the current master
device and sets it floating\&. If the device is already floating,
no changes are made\&.
.fi
diff --git a/lib/libXi/man/XIChangeHierarchy.txt b/lib/libXi/man/XIChangeHierarchy.txt
index cef826f68..05117067c 100644
--- a/lib/libXi/man/XIChangeHierarchy.txt
+++ b/lib/libXi/man/XIChangeHierarchy.txt
@@ -77,7 +77,7 @@ DESCRIPTION
} XIDetachSlaveInfo;
XIAddMasterInfo creates a new master pointer and a new
- master keyboard labelled "name pointer" and "name keyboard"
+ master keyboard labeled "name pointer" and "name keyboard"
respectively. If sendCore is True, the devices will send core
events. If enable is True, the device is enabled immediately.
@@ -99,7 +99,7 @@ DESCRIPTION
XIAttachSlaveInfo can generate a BadDevice error.
- XIDettachSlaveInfo deattaches device from the current master
+ XIDetachSlaveInfo detaches device from the current master
device and sets it floating. If the device is already floating,
no changes are made.
diff --git a/lib/libXi/man/XIChangeProperty.man b/lib/libXi/man/XIChangeProperty.man
index f10b30f14..470c22d8e 100644
--- a/lib/libXi/man/XIChangeProperty.man
+++ b/lib/libXi/man/XIChangeProperty.man
@@ -2,12 +2,12 @@
.\" Title: xichangeproperty
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XICHANGEPROPERTY" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XICHANGEPROPERTY" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -69,8 +69,8 @@ Status XIGetProperty( Display *dpy,
.sp
.nf
bytes_after_return
- Returns the number of bytes remaining to be read in the prop\-
- erty if a partial read was performed\&.
+ Returns the number of bytes remaining to be read in the property
+ if a partial read was performed\&.
.fi
.sp
.nf
@@ -208,7 +208,7 @@ A = N \- (I + L)
.sp
The returned value starts at byte index I in the property (indexing from zero), and its length in bytes is L\&. If the value for long_offset causes L to be negative, a BadValue error results\&. The value of bytes_after_return is A, giving the number of trailing unread bytes in the stored property\&.
.sp
-If the returned format is 8, the returned data is represented as a char array\&. If the returned format is 16, the returned data is represented as a uint16_t array and should be cast to that type to obtain the ele\- ments\&. If the returned format is 32, the returned data is represented as a uint32_t array and should be cast to that type to obtain the elements\&.
+If the returned format is 8, the returned data is represented as a char array\&. If the returned format is 16, the returned data is represented as a uint16_t array and should be cast to that type to obtain the elements\&. If the returned format is 32, the returned data is represented as a uint32_t array and should be cast to that type to obtain the elements\&.
.sp
XIGetProperty always allocates one extra byte in prop_return (even if the property is zero length) and sets it to zero so that simple properties consisting of characters do not have to be copied into yet another string before use\&.
.sp
diff --git a/lib/libXi/man/XIChangeProperty.txt b/lib/libXi/man/XIChangeProperty.txt
index b35d90f5e..c106e6a15 100644
--- a/lib/libXi/man/XIChangeProperty.txt
+++ b/lib/libXi/man/XIChangeProperty.txt
@@ -39,8 +39,8 @@ SYNOPSIS
unsigned char **data)
bytes_after_return
- Returns the number of bytes remaining to be read in the prop-
- erty if a partial read was performed.
+ Returns the number of bytes remaining to be read in the property
+ if a partial read was performed.
data
Specifies the property data.
@@ -142,8 +142,8 @@ unread bytes in the stored property.
If the returned format is 8, the returned data is represented as a char
array. If the returned format is 16, the returned data is represented
-as a uint16_t array and should be cast to that type to obtain the ele-
-ments. If the returned format is 32, the returned data is represented
+as a uint16_t array and should be cast to that type to obtain the elements.
+If the returned format is 32, the returned data is represented
as a uint32_t array and should be cast to that type to obtain the elements.
XIGetProperty always allocates one extra byte in prop_return (even
diff --git a/lib/libXi/man/XIDefineCursor.man b/lib/libXi/man/XIDefineCursor.man
index 33e83b821..84c067032 100644
--- a/lib/libXi/man/XIDefineCursor.man
+++ b/lib/libXi/man/XIDefineCursor.man
@@ -2,12 +2,12 @@
.\" Title: xidefinecursor
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIDEFINECURSOR" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIDEFINECURSOR" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XIDeleteProperty.man b/lib/libXi/man/XIDeleteProperty.man
index 849e4f611..42e944184 100644
--- a/lib/libXi/man/XIDeleteProperty.man
+++ b/lib/libXi/man/XIDeleteProperty.man
@@ -1 +1 @@
-.so XIChangeProperty.libmansuffix
+.so manlibmansuffix/XIChangeProperty.libmansuffix
diff --git a/lib/libXi/man/XIFreeDeviceInfo.man b/lib/libXi/man/XIFreeDeviceInfo.man
index 5f4f9922e..314c6de3d 100644
--- a/lib/libXi/man/XIFreeDeviceInfo.man
+++ b/lib/libXi/man/XIFreeDeviceInfo.man
@@ -1 +1 @@
-.so XIQueryDevice.libmansuffix
+.so manlibmansuffix/XIQueryDevice.libmansuffix
diff --git a/lib/libXi/man/XIGetClientPointer.man b/lib/libXi/man/XIGetClientPointer.man
index 9230bef87..6cd9325a5 100644
--- a/lib/libXi/man/XIGetClientPointer.man
+++ b/lib/libXi/man/XIGetClientPointer.man
@@ -1 +1 @@
-.so XISetClientPointer.libmansuffix
+.so manlibmansuffix/XISetClientPointer.libmansuffix
diff --git a/lib/libXi/man/XIGetFocus.man b/lib/libXi/man/XIGetFocus.man
index c5f54cac7..c119282d9 100644
--- a/lib/libXi/man/XIGetFocus.man
+++ b/lib/libXi/man/XIGetFocus.man
@@ -1 +1 @@
-.so XISetFocus.libmansuffix
+.so manlibmansuffix/XISetFocus.libmansuffix
diff --git a/lib/libXi/man/XIGetProperty.man b/lib/libXi/man/XIGetProperty.man
index 849e4f611..42e944184 100644
--- a/lib/libXi/man/XIGetProperty.man
+++ b/lib/libXi/man/XIGetProperty.man
@@ -1 +1 @@
-.so XIChangeProperty.libmansuffix
+.so manlibmansuffix/XIChangeProperty.libmansuffix
diff --git a/lib/libXi/man/XIGetSelectedEvents.man b/lib/libXi/man/XIGetSelectedEvents.man
index 60b61fd47..fbad756e2 100644
--- a/lib/libXi/man/XIGetSelectedEvents.man
+++ b/lib/libXi/man/XIGetSelectedEvents.man
@@ -1 +1 @@
-.so XISelectEvents.libmansuffix
+.so manlibmansuffix/XISelectEvents.libmansuffix
diff --git a/lib/libXi/man/XIGrabButton.man b/lib/libXi/man/XIGrabButton.man
index 64d948deb..3d7ded619 100644
--- a/lib/libXi/man/XIGrabButton.man
+++ b/lib/libXi/man/XIGrabButton.man
@@ -2,12 +2,12 @@
.\" Title: xigrabbutton
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIGRABBUTTON" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIGRABBUTTON" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,7 +28,7 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
-XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode, XIGrabTouchBegin, XIUngrabTouchBegin \- grab/ungrab buttons or keys
+XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode, XIGrabTouchBegin, XIUngrabTouchBegin, XIGrabPinchGestureBegin, XIUngrabPinchGestureBegin, XIGrabSwipeGestureBegin \- grab/ungrab buttons or keys
.SH "SYNOPSIS"
.sp
.nf
@@ -99,6 +99,46 @@ int XIUngrabTouchBegin( Display *display,
.fi
.sp
.nf
+int XIGrabPinchGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout);
+.fi
+.sp
+.nf
+int XIUngrabPinchGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers);
+.fi
+.sp
+.nf
+int XIGrabSwipeGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout);
+.fi
+.sp
+.nf
+int XIUngrabSwipeGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers);
+.fi
+.sp
+.nf
display
Specifies the connection to the X server\&.
.fi
@@ -176,8 +216,9 @@ paired_device_mode
.RS 4
.\}
.nf
-XIGrabButton, XIGrabKeycode and XIGrabTouchBegin establish a passive
-grab\&. The modifier device for a button grab is the paired master device
+XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin,
+XIGrabSwipeTouchBegin establish a passive grab\&.
+The modifier device for a button grab is the paired master device
if deviceid specifies a master pointer\&. Otherwise, the modifier
device is the device specified with deviceid\&. In the future,
the device is actively grabbed (as for XIGrabDevice, the
@@ -185,7 +226,7 @@ last\-grab time is set to the time at which the button or keycode
was pressed and the XI_ButtonPress or XI_KeyPress event is
reported if all of the following conditions are true:
* The device is not grabbed, and the specified button or
- keycode is logically pressed or a touch event occurs when the
+ keycode is logically pressed, a touch or a gesture event occurs when the
specified modifier keys are logically down on the modifier device
and no other buttons or modifier keys are logically down\&.
* Either the grab window is an ancestor of (or is) the focus
@@ -279,9 +320,11 @@ active grab\&.
.RS 4
.\}
.nf
-On success, XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return 0;
+On success, XIGrabButton, XIGrabKeycode, XIGrabTouchBegin,
+XIGrabPinchGestureBegin and XIGrabSwipeGestureBegin return 0;
If one or more modifier combinations could not be grabbed,
-XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
+XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin
+and XIGrabSwipeGestureBegin return the number of
failed combinations and modifiers_inout contains the failed combinations
and their respective error codes\&.
.fi
@@ -293,7 +336,8 @@ and their respective error codes\&.
.RS 4
.\}
.nf
-XIGrabButton, XIGrabKeycode and XIGrabTouchBegin can generate BadClass,
+XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin
+and XIGrabSwipeGestureBegin can generate BadClass,
BadDevice, BadMatch, BadValue, and BadWindow errors\&.
.fi
.if n \{\
@@ -304,7 +348,8 @@ BadDevice, BadMatch, BadValue, and BadWindow errors\&.
.RS 4
.\}
.nf
-XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin release the
+XIUngrabButton, XIUngrabKeycode, XIUngrabTouchBegin, XIUngrabPinchGestureBegin
+and XIUngrabSwipeGestureBegin release the
passive grab for a button/modifier, keycode/modifier or touch/modifier
combination on the specified window if it was grabbed by this client\&. A
modifier of XIAnyModifier is equivalent to issuing the ungrab request
@@ -322,7 +367,8 @@ grab\&.
.RS 4
.\}
.nf
-XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin can generate
+XIUngrabButton, XIUngrabKeycode, XIUngrabTouchBegin,
+XIUngrabPinchGestureBegin and XIUngrabSwipeGestureBegin can generate
BadDevice, BadMatch, BadValue and BadWindow errors\&.
.fi
.if n \{\
@@ -334,7 +380,8 @@ BadDevice, BadMatch, BadValue and BadWindow errors\&.
.RS 4
.\}
.nf
-XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
+XIGrabButton, XIGrabKeycode, XIGrabTouchBegin and
+XIGrabPinchGestureBegin and XIGrabSwipeGestureBegin return the number of
modifier combination that could not establish a passive grab\&. The
modifiers are returned in modifiers_inout, along with the respective
error for this modifier combination\&. If XIGrabButton, XIGrabKeycode
@@ -364,8 +411,10 @@ BadDevice
BadMatch
This error may occur if XIGrabButton specified a device
that has no buttons, or XIGrabKeycode specified a device
- that has no keys, or XIGrabTouchBegin specified a device
- that is not touch\-capable\&.
+ that has no keys,
+ or XIGrabTouchBegin specified a device that is not touch\-capable,
+ or XIGrabPinchGestureBegin specified a device that is not gesture\-capable,
+ or XIGrabSwipeGestureBegin specified a device that is not gesture\-capable\&.
.fi
.if n \{\
.RE
diff --git a/lib/libXi/man/XIGrabButton.txt b/lib/libXi/man/XIGrabButton.txt
index c5100fb94..5d638f12a 100644
--- a/lib/libXi/man/XIGrabButton.txt
+++ b/lib/libXi/man/XIGrabButton.txt
@@ -4,7 +4,7 @@ XIGRABBUTTON(libmansuffix)
NAME
----
- XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode, XIGrabTouchBegin, XIUngrabTouchBegin - grab/ungrab buttons or keys
+ XIGrabButton, XIUngrabButton, XIGrabKeycode, XIUngrabKeycode, XIGrabTouchBegin, XIUngrabTouchBegin, XIGrabPinchGestureBegin, XIUngrabPinchGestureBegin, XIGrabSwipeGestureBegin, XIUngrabSwipeGestureBegin - grab/ungrab buttons or keys
SYNOPSIS
--------
@@ -62,6 +62,38 @@ SYNOPSIS
int num_modifiers,
XIGrabModifiers *modifiers);
+ int XIGrabPinchGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout);
+
+ int XIUngrabPinchGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers);
+
+ int XIGrabSwipeGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int grab_mode,
+ int paired_device_mode,
+ int owner_events,
+ XIEventMask *mask,
+ int num_modifiers,
+ XIGrabModifiers *modifiers_inout);
+
+ int XIUngrabSwipeGestureBegin( Display* display,
+ int deviceid,
+ Window grab_window,
+ int num_modifiers,
+ XIGrabModifiers *modifiers);
+
display
Specifies the connection to the X server.
@@ -114,8 +146,9 @@ SYNOPSIS
DESCRIPTION
-----------
- XIGrabButton, XIGrabKeycode and XIGrabTouchBegin establish a passive
- grab. The modifier device for a button grab is the paired master device
+ XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin,
+ XIGrabSwipeTouchBegin establish a passive grab.
+ The modifier device for a button grab is the paired master device
if deviceid specifies a master pointer. Otherwise, the modifier
device is the device specified with deviceid. In the future,
the device is actively grabbed (as for XIGrabDevice, the
@@ -123,7 +156,7 @@ DESCRIPTION
was pressed and the XI_ButtonPress or XI_KeyPress event is
reported if all of the following conditions are true:
* The device is not grabbed, and the specified button or
- keycode is logically pressed or a touch event occurs when the
+ keycode is logically pressed, a touch or a gesture event occurs when the
specified modifier keys are logically down on the modifier device
and no other buttons or modifier keys are logically down.
* Either the grab window is an ancestor of (or is) the focus
@@ -169,16 +202,20 @@ DESCRIPTION
combination. XIGrabButton and XIGrabKeycode have no effect on an
active grab.
- On success, XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return 0;
+ On success, XIGrabButton, XIGrabKeycode, XIGrabTouchBegin,
+ XIGrabPinchGestureBegin and XIGrabSwipeGestureBegin return 0;
If one or more modifier combinations could not be grabbed,
- XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
+ XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin
+ and XIGrabSwipeGestureBegin return the number of
failed combinations and modifiers_inout contains the failed combinations
and their respective error codes.
- XIGrabButton, XIGrabKeycode and XIGrabTouchBegin can generate BadClass,
+ XIGrabButton, XIGrabKeycode, XIGrabTouchBegin, XIGrabPinchGestureBegin
+ and XIGrabSwipeGestureBegin can generate BadClass,
BadDevice, BadMatch, BadValue, and BadWindow errors.
- XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin release the
+ XIUngrabButton, XIUngrabKeycode, XIUngrabTouchBegin, XIUngrabPinchGestureBegin
+ and XIUngrabSwipeGestureBegin release the
passive grab for a button/modifier, keycode/modifier or touch/modifier
combination on the specified window if it was grabbed by this client. A
modifier of XIAnyModifier is equivalent to issuing the ungrab request
@@ -188,12 +225,14 @@ DESCRIPTION
XIUngrabButton and XIUngrabKeycode have no effect on an active
grab.
- XIUngrabButton, XIUngrabKeycode and XIUngrabTouchBegin can generate
+ XIUngrabButton, XIUngrabKeycode, XIUngrabTouchBegin,
+ XIUngrabPinchGestureBegin and XIUngrabSwipeGestureBegin can generate
BadDevice, BadMatch, BadValue and BadWindow errors.
RETURN VALUE
------------
- XIGrabButton, XIGrabKeycode and XIGrabTouchBegin return the number of
+ XIGrabButton, XIGrabKeycode, XIGrabTouchBegin and
+ XIGrabPinchGestureBegin and XIGrabSwipeGestureBegin return the number of
modifier combination that could not establish a passive grab. The
modifiers are returned in modifiers_inout, along with the respective
error for this modifier combination. If XIGrabButton, XIGrabKeycode
@@ -209,8 +248,10 @@ DIAGNOSTICS
BadMatch
This error may occur if XIGrabButton specified a device
that has no buttons, or XIGrabKeycode specified a device
- that has no keys, or XIGrabTouchBegin specified a device
- that is not touch-capable.
+ that has no keys,
+ or XIGrabTouchBegin specified a device that is not touch-capable,
+ or XIGrabPinchGestureBegin specified a device that is not gesture-capable,
+ or XIGrabSwipeGestureBegin specified a device that is not gesture-capable.
BadValue
Some numeric value falls outside the range of values
diff --git a/lib/libXi/man/XIGrabDevice.man b/lib/libXi/man/XIGrabDevice.man
index 4c42a2270..303759767 100644
--- a/lib/libXi/man/XIGrabDevice.man
+++ b/lib/libXi/man/XIGrabDevice.man
@@ -2,12 +2,12 @@
.\" Title: xigrabdevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIGRABDEVICE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIGRABDEVICE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XIGrabEnter.man b/lib/libXi/man/XIGrabEnter.man
index 09ef66cad..ff02828cb 100644
--- a/lib/libXi/man/XIGrabEnter.man
+++ b/lib/libXi/man/XIGrabEnter.man
@@ -2,12 +2,12 @@
.\" Title: xigrabenter
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIGRABENTER" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIGRABENTER" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -230,7 +230,7 @@ XIGrabFocusIn on the same window, a BadAccess error results\&.
When using XIAnyModifier, the request fails completely, and a
XIBadAccess error results (no grabs are established) if there
is a conflicting grab for any combination\&. XIGrabEnter and
-XIGrabFocusin have no effect on an active grab\&.
+XIGrabFocusIn have no effect on an active grab\&.
.fi
.if n \{\
.RE
diff --git a/lib/libXi/man/XIGrabEnter.txt b/lib/libXi/man/XIGrabEnter.txt
index 5203f05e3..83fdcc0f9 100644
--- a/lib/libXi/man/XIGrabEnter.txt
+++ b/lib/libXi/man/XIGrabEnter.txt
@@ -131,7 +131,7 @@ DESCRIPTION
When using XIAnyModifier, the request fails completely, and a
XIBadAccess error results (no grabs are established) if there
is a conflicting grab for any combination. XIGrabEnter and
- XIGrabFocusin have no effect on an active grab.
+ XIGrabFocusIn have no effect on an active grab.
On success, XIGrabEnter and XIGrabFocusIn return 0;
If one or more modifier combinations could not be grabbed,
diff --git a/lib/libXi/man/XIGrabFocusIn.man b/lib/libXi/man/XIGrabFocusIn.man
index 0af569967..ebd8b17c2 100644
--- a/lib/libXi/man/XIGrabFocusIn.man
+++ b/lib/libXi/man/XIGrabFocusIn.man
@@ -1 +1 @@
-.so XIGrabEnter.libmansuffix
+.so manlibmansuffix/XIGrabEnter.libmansuffix
diff --git a/lib/libXi/man/XIGrabKeycode.man b/lib/libXi/man/XIGrabKeycode.man
index d6764b54a..beed4f136 100644
--- a/lib/libXi/man/XIGrabKeycode.man
+++ b/lib/libXi/man/XIGrabKeycode.man
@@ -1 +1 @@
-.so XIGrabButton.libmansuffix
+.so manlibmansuffix/XIGrabButton.libmansuffix
diff --git a/lib/libXi/man/XIGrabTouchBegin.man b/lib/libXi/man/XIGrabTouchBegin.man
index d6764b54a..beed4f136 100644
--- a/lib/libXi/man/XIGrabTouchBegin.man
+++ b/lib/libXi/man/XIGrabTouchBegin.man
@@ -1 +1 @@
-.so XIGrabButton.libmansuffix
+.so manlibmansuffix/XIGrabButton.libmansuffix
diff --git a/lib/libXi/man/XIListProperties.man b/lib/libXi/man/XIListProperties.man
index 70970139d..7b185dd24 100644
--- a/lib/libXi/man/XIListProperties.man
+++ b/lib/libXi/man/XIListProperties.man
@@ -2,12 +2,12 @@
.\" Title: xilistproperties
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XILISTPROPERTIES" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XILISTPROPERTIES" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XIQueryDevice.man b/lib/libXi/man/XIQueryDevice.man
index 87a14d9b5..8a53f240d 100644
--- a/lib/libXi/man/XIQueryDevice.man
+++ b/lib/libXi/man/XIQueryDevice.man
@@ -2,12 +2,12 @@
.\" Title: xiquerydevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIQUERYDEVICE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIQUERYDEVICE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -162,7 +162,7 @@ and the current attachment or pairing\&.
and the attachment field specifies the paired master pointer\&.
\- If use is XISlavePointer, the device is a slave device and
currently attached to the master pointer specified in
- attachement\&.
+ attachment\&.
\- If use is XISlaveKeyboard, the device is a slave device an
currently attached to the master keyboard specified in
attachment\&.
@@ -218,7 +218,7 @@ typedef struct
The type field specifies the type of the input class\&.
Currently, the following types are defined:
XIKeyClass, XIButtonClass, XIValuatorClass, XIScrollClass,
- XITouchClass
+ XITouchClass, XIGestureClass\&.
.fi
.if n \{\
.RE
@@ -438,7 +438,7 @@ describing the axis\&.
.\}
.nf
min and max are the minimum and maximum values allowed on this
-axis\&. If both are zero, no minumum or maximum values are set on
+axis\&. If both are zero, no minimum or maximum values are set on
this device\&. value is the current value of this axis\&.
.fi
.if n \{\
@@ -604,7 +604,7 @@ may send TouchBegin, TouchUpdate, TouchEnd and TouchOwnership events\&.
The mode field is either XIDirectTouch for direct\-input touch devices
such as touchscreens or XIDependentTouch for indirect input devices such
as touchpads\&. For XIDirectTouch devices, touch events are sent to window
-at the position the touch occured\&. For XIDependentTouch devices, touch
+at the position the touch occurred\&. For XIDependentTouch devices, touch
events are sent to the window at the position of the device\*(Aqs sprite\&.
.fi
.if n \{\
@@ -640,6 +640,47 @@ classes\&. A valuator may send both pointer and touch\-events\&.
.RS 4
.\}
.nf
+typedef struct
+{
+ int type;
+ int sourceid;
+ int num_touches;
+} XIGestureClassInfo;
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+A device may have zero or one XIGestureClassInfo, denoting
+touchpad gesture capability on the device\&. A device with a XIGestureClassInfo
+may send GestureSwipeBegin, GestureSwipeUpdate, GestureSwipeEnd,
+GesturePinchBegin, GesturePinchUpdate, GesturePinchEnd\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+The num_touches field defines the maximum number of simultaneous touches
+the device supports\&. A num_touches of 0 means the maximum number of
+simultaneous touches is undefined or unspecified\&. This field should be
+used as a guide only, devices will lie about their capabilities\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
XIQueryDevice can generate a BadDevice error\&.
.fi
.if n \{\
diff --git a/lib/libXi/man/XIQueryDevice.txt b/lib/libXi/man/XIQueryDevice.txt
index e5e825128..bc9e36fa1 100644
--- a/lib/libXi/man/XIQueryDevice.txt
+++ b/lib/libXi/man/XIQueryDevice.txt
@@ -77,7 +77,7 @@ DESCRIPTION
and the attachment field specifies the paired master pointer.
- If use is XISlavePointer, the device is a slave device and
currently attached to the master pointer specified in
- attachement.
+ attachment.
- If use is XISlaveKeyboard, the device is a slave device an
currently attached to the master keyboard specified in
attachment.
@@ -101,7 +101,7 @@ DESCRIPTION
The type field specifies the type of the input class.
Currently, the following types are defined:
XIKeyClass, XIButtonClass, XIValuatorClass, XIScrollClass,
- XITouchClass
+ XITouchClass, XIGestureClass.
In the future, additional types may be added. Clients are
required to ignore unknown input classes.
@@ -185,7 +185,7 @@ DESCRIPTION
describing the axis.
min and max are the minimum and maximum values allowed on this
- axis. If both are zero, no minumum or maximum values are set on
+ axis. If both are zero, no minimum or maximum values are set on
this device. value is the current value of this axis.
The resolution field specifies the resolution of the device in
@@ -247,7 +247,7 @@ DESCRIPTION
The mode field is either XIDirectTouch for direct-input touch devices
such as touchscreens or XIDependentTouch for indirect input devices such
as touchpads. For XIDirectTouch devices, touch events are sent to window
- at the position the touch occured. For XIDependentTouch devices, touch
+ at the position the touch occurred. For XIDependentTouch devices, touch
events are sent to the window at the position of the device's sprite.
The num_touches field defines the maximum number of simultaneous touches
@@ -259,6 +259,23 @@ DESCRIPTION
valuators must be defined with the respective XIValuatorClass
classes. A valuator may send both pointer and touch-events.
+ typedef struct
+ {
+ int type;
+ int sourceid;
+ int num_touches;
+ } XIGestureClassInfo;
+
+ A device may have zero or one XIGestureClassInfo, denoting
+ touchpad gesture capability on the device. A device with a XIGestureClassInfo
+ may send GestureSwipeBegin, GestureSwipeUpdate, GestureSwipeEnd,
+ GesturePinchBegin, GesturePinchUpdate, GesturePinchEnd.
+
+ The num_touches field defines the maximum number of simultaneous touches
+ the device supports. A num_touches of 0 means the maximum number of
+ simultaneous touches is undefined or unspecified. This field should be
+ used as a guide only, devices will lie about their capabilities.
+
XIQueryDevice can generate a BadDevice error.
XIFreeDeviceInfo frees the information returned by
diff --git a/lib/libXi/man/XIQueryPointer.man b/lib/libXi/man/XIQueryPointer.man
index 2c553c240..a00d4e351 100644
--- a/lib/libXi/man/XIQueryPointer.man
+++ b/lib/libXi/man/XIQueryPointer.man
@@ -2,12 +2,12 @@
.\" Title: xiquerypointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIQUERYPOINTER" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIQUERYPOINTER" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XIQueryVersion.man b/lib/libXi/man/XIQueryVersion.man
index 7291984ed..2d4018f89 100644
--- a/lib/libXi/man/XIQueryVersion.man
+++ b/lib/libXi/man/XIQueryVersion.man
@@ -2,12 +2,12 @@
.\" Title: xiqueryversion
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIQUERYVERSION" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIQUERYVERSION" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XISelectEvents.man b/lib/libXi/man/XISelectEvents.man
index d259428aa..a2fed861f 100644
--- a/lib/libXi/man/XISelectEvents.man
+++ b/lib/libXi/man/XISelectEvents.man
@@ -2,12 +2,12 @@
.\" Title: xiselectevents
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XISELECTEVENTS" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XISELECTEVENTS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XISetClientPointer.man b/lib/libXi/man/XISetClientPointer.man
index 740331689..4e5479e8e 100644
--- a/lib/libXi/man/XISetClientPointer.man
+++ b/lib/libXi/man/XISetClientPointer.man
@@ -2,12 +2,12 @@
.\" Title: xisetclientpointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XISETCLIENTPOINTER" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XISETCLIENTPOINTER" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -67,7 +67,7 @@ deviceid
.RS 4
.\}
.nf
-The ClientPointer is the device that is percieved to be the
+The ClientPointer is the device that is perceived to be the
core pointer for non\-XI protocol requests and replies\&. Each
time a protocol message needs device\-dependent data and the
device is not explicitly given, the ClientPointer device is
diff --git a/lib/libXi/man/XISetClientPointer.txt b/lib/libXi/man/XISetClientPointer.txt
index bb45cdcf1..bedbb979b 100644
--- a/lib/libXi/man/XISetClientPointer.txt
+++ b/lib/libXi/man/XISetClientPointer.txt
@@ -32,7 +32,7 @@ SYNOPSIS
DESCRIPTION
-----------
- The ClientPointer is the device that is percieved to be the
+ The ClientPointer is the device that is perceived to be the
core pointer for non-XI protocol requests and replies. Each
time a protocol message needs device-dependent data and the
device is not explicitly given, the ClientPointer device is
diff --git a/lib/libXi/man/XISetFocus.man b/lib/libXi/man/XISetFocus.man
index 82a2871a1..c8d1d30b1 100644
--- a/lib/libXi/man/XISetFocus.man
+++ b/lib/libXi/man/XISetFocus.man
@@ -2,12 +2,12 @@
.\" Title: xisetfocus
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XISETFOCUS" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XISETFOCUS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -78,7 +78,7 @@ time
.RS 4
.\}
.nf
-XISetFocus changes the focus of the specified device ans its
+XISetFocus changes the focus of the specified device and its
last\-focus\-change time\&. It has no effect if the specified time
is earlier than the current last\-focus\-change time or is later
than the current X server time\&. Otherwise, the
diff --git a/lib/libXi/man/XISetFocus.txt b/lib/libXi/man/XISetFocus.txt
index dbfed7025..6d2f287e4 100644
--- a/lib/libXi/man/XISetFocus.txt
+++ b/lib/libXi/man/XISetFocus.txt
@@ -38,7 +38,7 @@ SYNOPSIS
DESCRIPTION
-----------
- XISetFocus changes the focus of the specified device ans its
+ XISetFocus changes the focus of the specified device and its
last-focus-change time. It has no effect if the specified time
is earlier than the current last-focus-change time or is later
than the current X server time. Otherwise, the
diff --git a/lib/libXi/man/XIUndefineCursor.man b/lib/libXi/man/XIUndefineCursor.man
index 8afc645e2..fbbbdebf7 100644
--- a/lib/libXi/man/XIUndefineCursor.man
+++ b/lib/libXi/man/XIUndefineCursor.man
@@ -1 +1 @@
-.so XIDefineCursor.libmansuffix
+.so manlibmansuffix/XIDefineCursor.libmansuffix
diff --git a/lib/libXi/man/XIUngrabButton.man b/lib/libXi/man/XIUngrabButton.man
index d6764b54a..beed4f136 100644
--- a/lib/libXi/man/XIUngrabButton.man
+++ b/lib/libXi/man/XIUngrabButton.man
@@ -1 +1 @@
-.so XIGrabButton.libmansuffix
+.so manlibmansuffix/XIGrabButton.libmansuffix
diff --git a/lib/libXi/man/XIUngrabDevice.man b/lib/libXi/man/XIUngrabDevice.man
index 8b96d09ba..784a862cb 100644
--- a/lib/libXi/man/XIUngrabDevice.man
+++ b/lib/libXi/man/XIUngrabDevice.man
@@ -1 +1 @@
-.so XIGrabDevice.libmansuffix
+.so manlibmansuffix/XIGrabDevice.libmansuffix
diff --git a/lib/libXi/man/XIUngrabEnter.man b/lib/libXi/man/XIUngrabEnter.man
index 0af569967..ebd8b17c2 100644
--- a/lib/libXi/man/XIUngrabEnter.man
+++ b/lib/libXi/man/XIUngrabEnter.man
@@ -1 +1 @@
-.so XIGrabEnter.libmansuffix
+.so manlibmansuffix/XIGrabEnter.libmansuffix
diff --git a/lib/libXi/man/XIUngrabFocusIn.man b/lib/libXi/man/XIUngrabFocusIn.man
index 0af569967..ebd8b17c2 100644
--- a/lib/libXi/man/XIUngrabFocusIn.man
+++ b/lib/libXi/man/XIUngrabFocusIn.man
@@ -1 +1 @@
-.so XIGrabEnter.libmansuffix
+.so manlibmansuffix/XIGrabEnter.libmansuffix
diff --git a/lib/libXi/man/XIUngrabKeycode.man b/lib/libXi/man/XIUngrabKeycode.man
index d6764b54a..beed4f136 100644
--- a/lib/libXi/man/XIUngrabKeycode.man
+++ b/lib/libXi/man/XIUngrabKeycode.man
@@ -1 +1 @@
-.so XIGrabButton.libmansuffix
+.so manlibmansuffix/XIGrabButton.libmansuffix
diff --git a/lib/libXi/man/XIUngrabTouchBegin.man b/lib/libXi/man/XIUngrabTouchBegin.man
index d6764b54a..beed4f136 100644
--- a/lib/libXi/man/XIUngrabTouchBegin.man
+++ b/lib/libXi/man/XIUngrabTouchBegin.man
@@ -1 +1 @@
-.so XIGrabButton.libmansuffix
+.so manlibmansuffix/XIGrabButton.libmansuffix
diff --git a/lib/libXi/man/XIWarpPointer.man b/lib/libXi/man/XIWarpPointer.man
index ff6164522..fd30f90a9 100644
--- a/lib/libXi/man/XIWarpPointer.man
+++ b/lib/libXi/man/XIWarpPointer.man
@@ -2,12 +2,12 @@
.\" Title: xiwarppointer
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XIWARPPOINTER" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XIWARPPOINTER" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XListDeviceProperties.man b/lib/libXi/man/XListDeviceProperties.man
index 0b1951a5d..e4cd206eb 100644
--- a/lib/libXi/man/XListDeviceProperties.man
+++ b/lib/libXi/man/XListDeviceProperties.man
@@ -2,12 +2,12 @@
.\" Title: xlistdeviceproperties
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XLISTDEVICEPROPERTIE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XLISTDEVICEPROPERTIE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XListInputDevices.man b/lib/libXi/man/XListInputDevices.man
index ebe6eef66..a4f1635fa 100644
--- a/lib/libXi/man/XListInputDevices.man
+++ b/lib/libXi/man/XListInputDevices.man
@@ -2,12 +2,12 @@
.\" Title: xlistinputdevices
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XLISTINPUTDEVICES" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XLISTINPUTDEVICES" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -85,7 +85,7 @@ A master pointer is a virtual pointer device that does not
represent a physical device\&. It is visually represented through
a cursor\&. A master keyboard is a virtual keyboard device that
does not represent a physical device\&. It is virtually
-representd through a keyboard focus\&. A master pointer and a
+represented through a keyboard focus\&. A master pointer and a
master keyboard are always paired (i\&.e\&. if shift is pressed on
the master keyboard, a pointer click would be a shift\-click)\&.
Multiple master pointer/keyboard pairs can exist\&.
diff --git a/lib/libXi/man/XListInputDevices.txt b/lib/libXi/man/XListInputDevices.txt
index 8b856f426..d8fff5273 100644
--- a/lib/libXi/man/XListInputDevices.txt
+++ b/lib/libXi/man/XListInputDevices.txt
@@ -42,7 +42,7 @@ DESCRIPTION
represent a physical device. It is visually represented through
a cursor. A master keyboard is a virtual keyboard device that
does not represent a physical device. It is virtually
- representd through a keyboard focus. A master pointer and a
+ represented through a keyboard focus. A master pointer and a
master keyboard are always paired (i.e. if shift is pressed on
the master keyboard, a pointer click would be a shift-click).
Multiple master pointer/keyboard pairs can exist.
diff --git a/lib/libXi/man/XOpenDevice.man b/lib/libXi/man/XOpenDevice.man
index 545396234..707b8e38a 100644
--- a/lib/libXi/man/XOpenDevice.man
+++ b/lib/libXi/man/XOpenDevice.man
@@ -2,12 +2,12 @@
.\" Title: xopendevice
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XOPENDEVICE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XOPENDEVICE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -187,7 +187,7 @@ The information contained in the XInputClassInfo structure is
used by macros to obtain the event classes that clients use in
making XSelectExtensionEvent requests\&. Currently defined macros
include DeviceKeyPress, DeviceKeyRelease, DeviceButtonPress,
-DeviceButtonRelese, DeviceMotionNotify, DeviceFocusIn,
+DeviceButtonRelease, DeviceMotionNotify, DeviceFocusIn,
DeviceFocusOut, ProximityIn, ProximityOut, DeviceStateNotify,
DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
diff --git a/lib/libXi/man/XOpenDevice.txt b/lib/libXi/man/XOpenDevice.txt
index fbeb5e712..dee5dc74d 100644
--- a/lib/libXi/man/XOpenDevice.txt
+++ b/lib/libXi/man/XOpenDevice.txt
@@ -80,7 +80,7 @@ Structures
used by macros to obtain the event classes that clients use in
making XSelectExtensionEvent requests. Currently defined macros
include DeviceKeyPress, DeviceKeyRelease, DeviceButtonPress,
- DeviceButtonRelese, DeviceMotionNotify, DeviceFocusIn,
+ DeviceButtonRelease, DeviceMotionNotify, DeviceFocusIn,
DeviceFocusOut, ProximityIn, ProximityOut, DeviceStateNotify,
DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
diff --git a/lib/libXi/man/XQueryDeviceState.man b/lib/libXi/man/XQueryDeviceState.man
index b043b79cd..01b126b2a 100644
--- a/lib/libXi/man/XQueryDeviceState.man
+++ b/lib/libXi/man/XQueryDeviceState.man
@@ -2,12 +2,12 @@
.\" Title: xquerydevicestate
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XQUERYDEVICESTATE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XQUERYDEVICESTATE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XSelectExtensionEvent.man b/lib/libXi/man/XSelectExtensionEvent.man
index f4314c109..6a9378dbd 100644
--- a/lib/libXi/man/XSelectExtensionEvent.man
+++ b/lib/libXi/man/XSelectExtensionEvent.man
@@ -2,12 +2,12 @@
.\" Title: xselectextensionevent
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSELECTEXTENSIONEVEN" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSELECTEXTENSIONEVEN" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -152,7 +152,7 @@ Information contained in the XDevice structure returned by
XOpenDevice is used by macros to obtain the event classes that
clients use in making XSelectExtensionEvent requests\&. Currently
defined macros include DeviceKeyPress, DeviceKeyRelease,
-DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
+DeviceButtonPress, DeviceButtonRelease, DeviceMotionNotify,
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
diff --git a/lib/libXi/man/XSelectExtensionEvent.txt b/lib/libXi/man/XSelectExtensionEvent.txt
index 95e0ac754..a2a9ec726 100644
--- a/lib/libXi/man/XSelectExtensionEvent.txt
+++ b/lib/libXi/man/XSelectExtensionEvent.txt
@@ -84,7 +84,7 @@ DESCRIPTION
XOpenDevice is used by macros to obtain the event classes that
clients use in making XSelectExtensionEvent requests. Currently
defined macros include DeviceKeyPress, DeviceKeyRelease,
- DeviceButtonPress, DeviceButtonRelese, DeviceMotionNotify,
+ DeviceButtonPress, DeviceButtonRelease, DeviceMotionNotify,
DeviceFocusIn, DeviceFocusOut, ProximityIn, ProximityOut,
DeviceStateNotify, DeviceMappingNotify, ChangeDeviceNotify,
DevicePointerMotionHint, DeviceButton1Motion,
diff --git a/lib/libXi/man/XSendExtensionEvent.man b/lib/libXi/man/XSendExtensionEvent.man
index b97d299fc..6d0cbd8b6 100644
--- a/lib/libXi/man/XSendExtensionEvent.man
+++ b/lib/libXi/man/XSendExtensionEvent.man
@@ -2,12 +2,12 @@
.\" Title: xsendextensionevent
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSENDEXTENSIONEVENT" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSENDEXTENSIONEVENT" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -59,7 +59,7 @@ device
.nf
destination
Specifies the window the event is to be sent to\&. You can
- pass window id, PointerWindow,or InputFocus\&.
+ pass window id, PointerWindow, or InputFocus\&.
.fi
.sp
.nf
@@ -94,10 +94,10 @@ to pass an event class list\&. For a discussion of the valid
event class names, see XOpenDevice(libmansuffix) This
request uses the w argument to identify the destination window
as follows:
- * If w is PointerWindow,the destination window is the window
+ * If w is PointerWindow, the destination window is the window
that contains the pointer\&.
- * If w is InputFocusand if the focus window contains the
- pointer,the destination window is the window that contains
+ * If w is InputFocus and if the focus window contains the
+ pointer, the destination window is the window that contains
the pointer; otherwise, the destination window is the focus
window\&.
.fi
@@ -110,24 +110,24 @@ as follows:
.\}
.nf
To determine which clients should receive the specified events,
-XSendExtensionEventuses the propagate argument as follows:
- * If event_list is the empty set,the event is sent to the
+XSendExtensionEvent uses the propagate argument as follows:
+ * If event_list is the empty set, the event is sent to the
client that created the destination window\&. If that client
- no longer exists,no event is sent\&.
- * If propagate is False,the event is sent to every client
- selecting on destination any of the eventtypes specified by
+ no longer exists, no event is sent\&.
+ * If propagate is False, the event is sent to every client
+ selecting on destination any of the event types specified by
the event_list array\&.
- * If propagate is Trueand no clients have selected on
- destination any ofthe events specified by the event_list
- array,the destination is replaced with theclosest ancestor
- of destination for which some client has selected atype
+ * If propagate is True and no clients have selected on
+ destination any of the events specified by the event_list
+ array, the destination is replaced with the closest ancestor
+ of destination for which some client has selected a type
specified by the event\-list array and for which no
- interveningwindow has that type in
- itsdo\-not\-propagate\-mask\&. If no such window exists or if
- the window isan ancestor of the focus window and
- InputFocuswas originally specifiedas the destination, the
+ intervening window has that type in
+ its do\-not\-propagate\-mask\&. If no such window exists or if
+ the window is an ancestor of the focus window and
+ InputFocus was originally specified as the destination, the
event is not sent to any clients\&. Otherwise, the event is
- reported to every client selecting on the finaldestination
+ reported to every client selecting on the final destination
any of the events specified in the event_list array\&.
.fi
.if n \{\
@@ -138,11 +138,11 @@ XSendExtensionEventuses the propagate argument as follows:
.RS 4
.\}
.nf
-The event in the XEventstructure must be one of the events
-defined by the input extension (or a BadValueerror results) so
-that the X server can correctly byte\-swapthe contents as
-necessary\&. The contents of the event areotherwise unaltered and
-unchecked by the X server except to force send_event to Truein
+The event in the XEvent structure must be one of the events
+defined by the input extension (or a BadValue error results) so
+that the X server can correctly byte\-swap the contents as
+necessary\&. The contents of the event are otherwise unaltered and
+unchecked by the X server except to force send_event to True in
the forwarded event and to set the serial number in the event
correctly\&.
.fi
@@ -154,9 +154,9 @@ correctly\&.
.RS 4
.\}
.nf
-XSendExtensionEventreturns zero if the conversion to wire
-protocol format failedand returns nonzero
-otherwise\&.XSendExtensionEventcan generate BadClass, BadDevice,
+XSendExtensionEvent returns zero if the conversion to wire
+protocol format failed and returns nonzero
+otherwise\&. XSendExtensionEvent can generate BadClass, BadDevice,
BadValue, and BadWindow errors\&.
.fi
.if n \{\
diff --git a/lib/libXi/man/XSendExtensionEvent.txt b/lib/libXi/man/XSendExtensionEvent.txt
index 77051a56d..efec173b8 100644
--- a/lib/libXi/man/XSendExtensionEvent.txt
+++ b/lib/libXi/man/XSendExtensionEvent.txt
@@ -28,7 +28,7 @@ SYNOPSIS
destination
Specifies the window the event is to be sent to. You can
- pass window id, PointerWindow,or InputFocus.
+ pass window id, PointerWindow, or InputFocus.
propagate
Specifies a Boolean value that is either True or False.
@@ -52,45 +52,45 @@ DESCRIPTION
event class names, see XOpenDevice(libmansuffix) This
request uses the w argument to identify the destination window
as follows:
- * If w is PointerWindow,the destination window is the window
+ * If w is PointerWindow, the destination window is the window
that contains the pointer.
- * If w is InputFocusand if the focus window contains the
- pointer,the destination window is the window that contains
+ * If w is InputFocus and if the focus window contains the
+ pointer, the destination window is the window that contains
the pointer; otherwise, the destination window is the focus
window.
To determine which clients should receive the specified events,
- XSendExtensionEventuses the propagate argument as follows:
- * If event_list is the empty set,the event is sent to the
+ XSendExtensionEvent uses the propagate argument as follows:
+ * If event_list is the empty set, the event is sent to the
client that created the destination window. If that client
- no longer exists,no event is sent.
- * If propagate is False,the event is sent to every client
- selecting on destination any of the eventtypes specified by
+ no longer exists, no event is sent.
+ * If propagate is False, the event is sent to every client
+ selecting on destination any of the event types specified by
the event_list array.
- * If propagate is Trueand no clients have selected on
- destination any ofthe events specified by the event_list
- array,the destination is replaced with theclosest ancestor
- of destination for which some client has selected atype
+ * If propagate is True and no clients have selected on
+ destination any of the events specified by the event_list
+ array, the destination is replaced with the closest ancestor
+ of destination for which some client has selected a type
specified by the event-list array and for which no
- interveningwindow has that type in
- itsdo-not-propagate-mask. If no such window exists or if
- the window isan ancestor of the focus window and
- InputFocuswas originally specifiedas the destination, the
+ intervening window has that type in
+ its do-not-propagate-mask. If no such window exists or if
+ the window is an ancestor of the focus window and
+ InputFocus was originally specified as the destination, the
event is not sent to any clients. Otherwise, the event is
- reported to every client selecting on the finaldestination
+ reported to every client selecting on the final destination
any of the events specified in the event_list array.
- The event in the XEventstructure must be one of the events
- defined by the input extension (or a BadValueerror results) so
- that the X server can correctly byte-swapthe contents as
- necessary. The contents of the event areotherwise unaltered and
- unchecked by the X server except to force send_event to Truein
+ The event in the XEvent structure must be one of the events
+ defined by the input extension (or a BadValue error results) so
+ that the X server can correctly byte-swap the contents as
+ necessary. The contents of the event are otherwise unaltered and
+ unchecked by the X server except to force send_event to True in
the forwarded event and to set the serial number in the event
correctly.
- XSendExtensionEventreturns zero if the conversion to wire
- protocol format failedand returns nonzero
- otherwise.XSendExtensionEventcan generate BadClass, BadDevice,
+ XSendExtensionEvent returns zero if the conversion to wire
+ protocol format failed and returns nonzero
+ otherwise. XSendExtensionEvent can generate BadClass, BadDevice,
BadValue, and BadWindow errors.
DIAGNOSTICS
diff --git a/lib/libXi/man/XSetDeviceButtonMapping.man b/lib/libXi/man/XSetDeviceButtonMapping.man
index 002787650..7b2c4503a 100644
--- a/lib/libXi/man/XSetDeviceButtonMapping.man
+++ b/lib/libXi/man/XSetDeviceButtonMapping.man
@@ -2,12 +2,12 @@
.\" Title: xsetdevicebuttonmapping
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSETDEVICEBUTTONMAPP" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSETDEVICEBUTTONMAPP" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -115,7 +115,7 @@ BadValue errors\&.
.nf
The XGetDeviceButtonMapping request returns the current mapping
of the specified device\&. Buttons are numbered starting from
-one\&.XGetDeviceButtonMapping returns the number of physical
+one\&. XGetDeviceButtonMapping returns the number of physical
buttons actually on the device\&. The nominal mapping for a
device is map[i]=i+1\&. The nmap argument specifies the length of
the array where the device mapping is returned, and only the
diff --git a/lib/libXi/man/XSetDeviceButtonMapping.txt b/lib/libXi/man/XSetDeviceButtonMapping.txt
index 4c1251cdb..36890fa50 100644
--- a/lib/libXi/man/XSetDeviceButtonMapping.txt
+++ b/lib/libXi/man/XSetDeviceButtonMapping.txt
@@ -60,7 +60,7 @@ DESCRIPTION
The XGetDeviceButtonMapping request returns the current mapping
of the specified device. Buttons are numbered starting from
- one.XGetDeviceButtonMapping returns the number of physical
+ one. XGetDeviceButtonMapping returns the number of physical
buttons actually on the device. The nominal mapping for a
device is map[i]=i+1. The nmap argument specifies the length of
the array where the device mapping is returned, and only the
diff --git a/lib/libXi/man/XSetDeviceFocus.man b/lib/libXi/man/XSetDeviceFocus.man
index b885c61fc..ce2604cca 100644
--- a/lib/libXi/man/XSetDeviceFocus.man
+++ b/lib/libXi/man/XSetDeviceFocus.man
@@ -2,12 +2,12 @@
.\" Title: xsetdevicefocus
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSETDEVICEFOCUS" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSETDEVICEFOCUS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XSetDeviceMode.man b/lib/libXi/man/XSetDeviceMode.man
index 544a1b3c7..b436634bc 100644
--- a/lib/libXi/man/XSetDeviceMode.man
+++ b/lib/libXi/man/XSetDeviceMode.man
@@ -2,12 +2,12 @@
.\" Title: xsetdevicemode
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSETDEVICEMODE" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSETDEVICEMODE" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XSetDeviceModifierMapping.man b/lib/libXi/man/XSetDeviceModifierMapping.man
index 3362ea9eb..1f3aa2d8f 100644
--- a/lib/libXi/man/XSetDeviceModifierMapping.man
+++ b/lib/libXi/man/XSetDeviceModifierMapping.man
@@ -1 +1 @@
-.so XGetDeviceModifierMapping.libmansuffix
+.so manlibmansuffix/XGetDeviceModifierMapping.libmansuffix
diff --git a/lib/libXi/man/XSetDeviceValuators.man b/lib/libXi/man/XSetDeviceValuators.man
index 408a92277..8c310f0e0 100644
--- a/lib/libXi/man/XSetDeviceValuators.man
+++ b/lib/libXi/man/XSetDeviceValuators.man
@@ -2,12 +2,12 @@
.\" Title: xsetdevicevaluators
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 06/19/2019
+.\" Date: 09/15/2021
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "XSETDEVICEVALUATORS" "libmansuffix" "06/19/2019" "\ \&" "\ \&"
+.TH "XSETDEVICEVALUATORS" "libmansuffix" "09/15/2021" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/lib/libXi/man/XUngrabDevice.man b/lib/libXi/man/XUngrabDevice.man
index 92a0ec776..f7925d1a2 100644
--- a/lib/libXi/man/XUngrabDevice.man
+++ b/lib/libXi/man/XUngrabDevice.man
@@ -1 +1 @@
-.so XGrabDevice.libmansuffix
+.so manlibmansuffix/XGrabDevice.libmansuffix
diff --git a/lib/libXi/man/XUngrabDeviceButton.man b/lib/libXi/man/XUngrabDeviceButton.man
index 1131aafe7..aed816df3 100644
--- a/lib/libXi/man/XUngrabDeviceButton.man
+++ b/lib/libXi/man/XUngrabDeviceButton.man
@@ -1 +1 @@
-.so XGrabDeviceButton.libmansuffix
+.so manlibmansuffix/XGrabDeviceButton.libmansuffix
diff --git a/lib/libXi/man/XUngrabDeviceKey.man b/lib/libXi/man/XUngrabDeviceKey.man
index e57f8ef99..19849bb04 100644
--- a/lib/libXi/man/XUngrabDeviceKey.man
+++ b/lib/libXi/man/XUngrabDeviceKey.man
@@ -1 +1 @@
-.so XGrabDeviceKey.libmansuffix
+.so manlibmansuffix/XGrabDeviceKey.libmansuffix
diff --git a/lib/libXi/specs/Makefile.in b/lib/libXi/specs/Makefile.in
index 359721e08..532db7064 100644
--- a/lib/libXi/specs/Makefile.in
+++ b/lib/libXi/specs/Makefile.in
@@ -276,6 +276,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/lib/libXi/src/Makefile.in b/lib/libXi/src/Makefile.in
index 018fe831e..8f78a4e4d 100644
--- a/lib/libXi/src/Makefile.in
+++ b/lib/libXi/src/Makefile.in
@@ -304,6 +304,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/lib/libXi/src/XExtInt.c b/lib/libXi/src/XExtInt.c
index d3798761e..2e2a51097 100644
--- a/lib/libXi/src/XExtInt.c
+++ b/lib/libXi/src/XExtInt.c
@@ -127,6 +127,12 @@ wireToTouchOwnershipEvent(xXITouchOwnershipEvent *in,
static int
wireToBarrierEvent(xXIBarrierEvent *in,
XGenericEventCookie *cookie);
+static int
+wireToPinchEvent(xXIGesturePinchEvent *in,
+ XGenericEventCookie *cookie);
+static int
+wireToSwipeEvent(xXIGestureSwipeEvent *in,
+ XGenericEventCookie *cookie);
static /* const */ XEvent emptyevent;
@@ -253,7 +259,9 @@ static XExtensionVersion versions[] = { {XI_Absent, 0, 0},
XI_Add_DeviceProperties_Minor},
{XI_Present, 2, 0},
{XI_Present, 2, 1},
-{XI_Present, 2, 2}
+{XI_Present, 2, 2},
+{XI_Present, 2, 3},
+{XI_Present, 2, 4},
};
/***********************************************************************
@@ -1035,6 +1043,28 @@ XInputWireToCookie(
break;
}
return ENQUEUE_EVENT;
+ case XI_GesturePinchBegin:
+ case XI_GesturePinchUpdate:
+ case XI_GesturePinchEnd:
+ *cookie = *(XGenericEventCookie*)save;
+ if (!wireToPinchEvent((xXIGesturePinchEvent*)event, cookie))
+ {
+ printf("XInputWireToCookie: CONVERSION FAILURE! evtype=%d\n",
+ ge->evtype);
+ break;
+ }
+ return ENQUEUE_EVENT;
+ case XI_GestureSwipeBegin:
+ case XI_GestureSwipeUpdate:
+ case XI_GestureSwipeEnd:
+ *cookie = *(XGenericEventCookie*)save;
+ if (!wireToSwipeEvent((xXIGestureSwipeEvent*)event, cookie))
+ {
+ printf("XInputWireToCookie: CONVERSION FAILURE! evtype=%d\n",
+ ge->evtype);
+ break;
+ }
+ return ENQUEUE_EVENT;
default:
printf("XInputWireToCookie: Unknown generic event. type %d\n", ge->evtype);
@@ -1065,7 +1095,7 @@ sizeDeviceEvent(int buttons_len, int valuators_len,
/* Return the size with added padding so next element would be
double-aligned unless the architecture is known to allow unaligned
data accesses. Not doing this can cause a bus error on
- MIPS N32. */
+ MIPS N32. */
static int
pad_to_double(int size)
{
@@ -1143,6 +1173,9 @@ sizeDeviceClassType(int type, int num_elements)
case XITouchClass:
l = pad_to_double(sizeof(XITouchClassInfo));
break;
+ case XIGestureClass:
+ l = pad_to_double(sizeof(XIGestureClassInfo));
+ break;
default:
printf("sizeDeviceClassType: unknown type %d\n", type);
break;
@@ -1432,6 +1465,41 @@ copyBarrierEvent(XGenericEventCookie *in_cookie,
return True;
}
+
+static Bool
+copyGesturePinchEvent(XGenericEventCookie *cookie_in,
+ XGenericEventCookie *cookie_out)
+{
+ XIGesturePinchEvent *in, *out;
+
+ in = cookie_in->data;
+
+ out = cookie_out->data = malloc(sizeof(XIGesturePinchEvent));
+ if (!out)
+ return False;
+
+ *out = *in;
+
+ return True;
+}
+
+static Bool
+copyGestureSwipeEvent(XGenericEventCookie *cookie_in,
+ XGenericEventCookie *cookie_out)
+{
+ XIGestureSwipeEvent *in, *out;
+
+ in = cookie_in->data;
+
+ out = cookie_out->data = malloc(sizeof(XIGestureSwipeEvent));
+ if (!out)
+ return False;
+
+ *out = *in;
+
+ return True;
+}
+
static Bool
XInputCopyCookie(Display *dpy, XGenericEventCookie *in, XGenericEventCookie *out)
{
@@ -1493,6 +1561,16 @@ XInputCopyCookie(Display *dpy, XGenericEventCookie *in, XGenericEventCookie *out
case XI_BarrierLeave:
ret = copyBarrierEvent(in, out);
break;
+ case XI_GesturePinchBegin:
+ case XI_GesturePinchUpdate:
+ case XI_GesturePinchEnd:
+ ret = copyGesturePinchEvent(in, out);
+ break;
+ case XI_GestureSwipeBegin:
+ case XI_GestureSwipeUpdate:
+ case XI_GestureSwipeEnd:
+ ret = copyGestureSwipeEvent(in, out);
+ break;
default:
printf("XInputCopyCookie: unknown evtype %d\n", in->evtype);
ret = False;
@@ -1607,6 +1685,9 @@ size_classes(xXIAnyInfo* from, int nclasses)
case XITouchClass:
l = sizeDeviceClassType(XITouchClass, 0);
break;
+ case XIGestureClass:
+ l = sizeDeviceClassType(XIGestureClass, 0);
+ break;
}
len += l;
@@ -1770,6 +1851,21 @@ copy_classes(XIDeviceInfo* to, xXIAnyInfo* from, int *nclasses)
to->classes[cls_idx++] = any_lib;
}
break;
+ case XIGestureClass:
+ {
+ XIGestureClassInfo *cls_lib;
+ xXIGestureInfo *cls_wire;
+
+ cls_wire = (xXIGestureInfo*)any_wire;
+ cls_lib = next_block(&ptr_lib, sizeof(XIGestureClassInfo));
+
+ cls_lib->type = cls_wire->type;
+ cls_lib->sourceid = cls_wire->sourceid;
+ cls_lib->num_touches = cls_wire->num_touches;
+
+ to->classes[cls_idx++] = any_lib;
+ }
+ break;
}
len += any_wire->length * 4;
ptr_wire += any_wire->length * 4;
@@ -2029,3 +2125,91 @@ wireToBarrierEvent(xXIBarrierEvent *in, XGenericEventCookie *cookie)
return 1;
}
+
+static int
+wireToPinchEvent(xXIGesturePinchEvent *in,
+ XGenericEventCookie *cookie)
+{
+ XIGesturePinchEvent *out;
+
+ cookie->data = out = malloc(sizeof(XIGesturePinchEvent));
+
+ out->display = cookie->display;
+ out->type = in->type;
+ out->serial = cookie->serial;
+ out->extension = in->extension;
+ out->evtype = in->evtype;
+ out->send_event = ((in->type & 0x80) != 0);
+ out->time = in->time;
+ out->deviceid = in->deviceid;
+ out->sourceid = in->sourceid;
+ out->detail = in->detail;
+ out->root = in->root;
+ out->event = in->event;
+ out->child = in->child;
+ out->root_x = FP1616toDBL(in->root_x);
+ out->root_y = FP1616toDBL(in->root_y);
+ out->event_x = FP1616toDBL(in->event_x);
+ out->event_y = FP1616toDBL(in->event_y);
+ out->delta_x = FP1616toDBL(in->delta_x);
+ out->delta_y = FP1616toDBL(in->delta_y);
+ out->delta_unaccel_x = FP1616toDBL(in->delta_unaccel_x);
+ out->delta_unaccel_y = FP1616toDBL(in->delta_unaccel_y);
+ out->scale = FP1616toDBL(in->scale);
+ out->delta_angle = FP1616toDBL(in->delta_angle);
+ out->flags = in->flags;
+
+ out->mods.base = in->mods.base_mods;
+ out->mods.locked = in->mods.locked_mods;
+ out->mods.latched = in->mods.latched_mods;
+ out->mods.effective = in->mods.effective_mods;
+ out->group.base = in->group.base_group;
+ out->group.locked = in->group.locked_group;
+ out->group.latched = in->group.latched_group;
+ out->group.effective = in->group.effective_group;
+
+ return 1;
+}
+
+static int
+wireToSwipeEvent(xXIGestureSwipeEvent *in,
+ XGenericEventCookie *cookie)
+{
+ XIGestureSwipeEvent *out;
+
+ cookie->data = out = malloc(sizeof(XIGestureSwipeEvent));
+
+ out->display = cookie->display;
+ out->type = in->type;
+ out->serial = cookie->serial;
+ out->extension = in->extension;
+ out->evtype = in->evtype;
+ out->send_event = ((in->type & 0x80) != 0);
+ out->time = in->time;
+ out->deviceid = in->deviceid;
+ out->sourceid = in->sourceid;
+ out->detail = in->detail;
+ out->root = in->root;
+ out->event = in->event;
+ out->child = in->child;
+ out->root_x = FP1616toDBL(in->root_x);
+ out->root_y = FP1616toDBL(in->root_y);
+ out->event_x = FP1616toDBL(in->event_x);
+ out->event_y = FP1616toDBL(in->event_y);
+ out->delta_x = FP1616toDBL(in->delta_x);
+ out->delta_y = FP1616toDBL(in->delta_y);
+ out->delta_unaccel_x = FP1616toDBL(in->delta_unaccel_x);
+ out->delta_unaccel_y = FP1616toDBL(in->delta_unaccel_y);
+ out->flags = in->flags;
+
+ out->mods.base = in->mods.base_mods;
+ out->mods.locked = in->mods.locked_mods;
+ out->mods.latched = in->mods.latched_mods;
+ out->mods.effective = in->mods.effective_mods;
+ out->group.base = in->group.base_group;
+ out->group.locked = in->group.locked_group;
+ out->group.latched = in->group.latched_group;
+ out->group.effective = in->group.effective_group;
+
+ return 1;
+}
diff --git a/lib/libXi/src/XIPassiveGrab.c b/lib/libXi/src/XIPassiveGrab.c
index 32b0ab30a..310e5239c 100644
--- a/lib/libXi/src/XIPassiveGrab.c
+++ b/lib/libXi/src/XIPassiveGrab.c
@@ -177,6 +177,37 @@ XIGrabTouchBegin(Display *dpy, int deviceid, Window grab_window,
num_modifiers, modifiers_inout, CurrentTime);
}
+int XIGrabPinchGestureBegin(Display* dpy, int deviceid, Window grab_window, int grab_mode,
+ int paired_device_mode, int owner_events,
+ XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout)
+{
+ XExtDisplayInfo *extinfo = XInput_find_display(dpy);
+
+ LockDisplay(dpy);
+ if (_XiCheckExtInit(dpy, XInput_2_4, extinfo) == -1)
+ return -1;
+ UnlockDisplay(dpy);
+
+ return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeGesturePinchBegin, 0,
+ grab_window, None, grab_mode, paired_device_mode,
+ owner_events, mask, num_modifiers, modifiers_inout, CurrentTime);
+}
+
+int XIGrabSwipeGestureBegin(Display* dpy, int deviceid, Window grab_window, int grab_mode,
+ int paired_device_mode, int owner_events,
+ XIEventMask *mask, int num_modifiers, XIGrabModifiers *modifiers_inout)
+{
+ XExtDisplayInfo *extinfo = XInput_find_display(dpy);
+
+ LockDisplay(dpy);
+ if (_XiCheckExtInit(dpy, XInput_2_4, extinfo) == -1)
+ return -1;
+ UnlockDisplay(dpy);
+
+ return _XIPassiveGrabDevice(dpy, deviceid, XIGrabtypeGestureSwipeBegin, 0,
+ grab_window, None, grab_mode, paired_device_mode,
+ owner_events, mask, num_modifiers, modifiers_inout, CurrentTime);
+}
static int
_XIPassiveUngrabDevice(Display* dpy, int deviceid, int grabtype, int detail,
@@ -256,3 +287,31 @@ XIUngrabTouchBegin(Display* display, int deviceid, Window grab_window,
return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeTouchBegin, 0,
grab_window, num_modifiers, modifiers);
}
+
+int XIUngrabPinchGestureBegin(Display* display, int deviceid, Window grab_window,
+ int num_modifiers, XIGrabModifiers *modifiers)
+{
+ XExtDisplayInfo *extinfo = XInput_find_display(display);
+
+ LockDisplay(display);
+ if (_XiCheckExtInit(display, XInput_2_4, extinfo) == -1)
+ return -1;
+ UnlockDisplay(display);
+
+ return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeGesturePinchBegin, 0,
+ grab_window, num_modifiers, modifiers);
+}
+
+int XIUngrabSwipeGestureBegin(Display* display, int deviceid, Window grab_window,
+ int num_modifiers, XIGrabModifiers *modifiers)
+{
+ XExtDisplayInfo *extinfo = XInput_find_display(display);
+
+ LockDisplay(display);
+ if (_XiCheckExtInit(display, XInput_2_4, extinfo) == -1)
+ return -1;
+ UnlockDisplay(display);
+
+ return _XIPassiveUngrabDevice(display, deviceid, XIGrabtypeGestureSwipeBegin, 0,
+ grab_window, num_modifiers, modifiers);
+}
diff --git a/lib/libXi/src/XIint.h b/lib/libXi/src/XIint.h
index 9479a79f3..40dec0b85 100644
--- a/lib/libXi/src/XIint.h
+++ b/lib/libXi/src/XIint.h
@@ -23,6 +23,7 @@
#define XInput_2_1 8
#define XInput_2_2 9
#define XInput_2_3 10
+#define XInput_2_4 11
extern XExtDisplayInfo *XInput_find_display(Display *);