Update to libxkbfile 1.1.0. Tested by krw@ and naddy@

This commit is contained in:
matthieu 2020-01-04 17:58:47 +00:00
parent a72dcdf233
commit af3df7cdfd
10 changed files with 529 additions and 219 deletions

View File

@ -1,3 +1,127 @@
commit 261992d42905f209cd5bf6afcf8a7ae3aa30b3ff
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Mar 16 11:30:41 2019 -0700
libxkbfile 1.1.0
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 306087b60496d6493323433573ee9b9fb392dd7b
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Mar 16 11:22:06 2019 -0700
Add description of libxkbfile to README.md
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 28822317438b6800435145a0312dbce59a03eaa3
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Dec 7 19:44:24 2018 -0800
Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 340581e83d57414b5f33fd2f9f22fdfebf0d4b8d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Nov 19 23:07:00 2018 -0800
Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit b660c757e308b7c561dba16d45d18863bfa2973e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Nov 10 13:21:42 2018 -0800
Remove obsolete B16 & B32 tags in struct definitions
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d2ec504fec2550f4fd046e801b34317ef4a4bab9
Author: Martin Burggraf <TSO@gmx.net>
Date: Thu Aug 13 21:16:40 2015 +0200
correcting mathematical nonsense
V2: Fixing the issue with numbers between 0 -1
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 1c070d1153e293169909b0fc8e9ff65be9121fa0
Author: Mihail Konev <k.mvc@ya.ru>
Date: Thu Jan 26 13:52:49 2017 +1000
autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
commit 9e39e36316f3dd28b1fd6f71562ec93bce2da35a
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date: Mon Mar 9 12:00:52 2015 +0000
autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit cfea939bb7d61d51b74493d77294010ddef490f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 24 10:32:07 2017 +1000
autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
commit 56fa447282c47bf23d05e18a42bbd0184dbd8302
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date: Sat Feb 15 17:35:50 2014 +0100
Fix mistyped argument of sizeof
A pointer rather than the buffer was given to sizeof. As the data to be
written is only one or two bytes, a pointer size is at least four bytes, and
the buffer has 32 bytes, this error did not have negative effects.
Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a594dde52b7903feab839f5cfe08755753aca20e
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date: Sat Feb 15 17:35:29 2014 +0100
Add support for genKeyEvent flag
ActionMessage has an optional flag genKeyEvent. This change makes sure this
flag is printed when it is set.
Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 6223ec08213cb8cc546418690c27e0fdd4f0addd
Author: Andreas Wettstein <wettstein509@solnet.ch>
Date: Sat Feb 15 17:35:09 2014 +0100
Add missing support for NoLock and NoUnlock flags
The LockMods, ISOLock and LockControls support an "affect" flag to selectively
enable and disable locking and unlocking for these actions. This change adds
output of these flags.
Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-By: Ran Benita <ran234@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit de4f2307448583988a55a587cb6a3f43e4868378
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Apr 30 22:24:39 2015 -0700

View File

@ -35,3 +35,5 @@ ChangeLog:
$(CHANGELOG_CMD)
dist-hook: ChangeLog INSTALL
EXTRA_DIST = README.md

View File

@ -72,7 +72,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/xkbfile.pc.in $(top_srcdir)/configure COPYING \
ChangeLog INSTALL compile config.guess config.sub depcomp \
@ -336,6 +336,7 @@ SUBDIRS = src
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = xkbfile.pc
MAINTAINERCLEANFILES = ChangeLog INSTALL
EXTRA_DIST = README.md
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive

View File

@ -1,24 +0,0 @@
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/lib/libxkbfile
http://cgit.freedesktop.org/xorg/lib/libxkbfile
For patch submission instructions, see:
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage

21
lib/libxkbfile/README.md Normal file
View File

@ -0,0 +1,21 @@
libxkbfile - XKB file handling routines
---------------------------------------
libxkbfile is used by the X servers and utilities to parse the XKB
configuration data files.
All questions regarding this software should be directed at the
Xorg mailing list:
https://lists.x.org/mailman/listinfo/xorg
The master development code repository can be found at:
https://gitlab.freedesktop.org/xorg/lib/libxkbfile
Please submit bug reports and requests to merge patches there.
For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches

View File

@ -8606,32 +8606,63 @@ 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])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29.1)
dnl
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
# ----------------------------------
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
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_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
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@ -8653,18 +8684,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
])dnl PKG_PROG_PKG_CONFIG
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
#
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# only at the first occurence in configure.ac, so if the first place
# it's called might be skipped (such as if it is within an "if", you
# have to call PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
@ -8674,8 +8706,10 @@ m4_ifvaln([$3], [else
$3])dnl
fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
@ -8687,10 +8721,11 @@ m4_define([_PKG_CONFIG],
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
])dnl _PKG_CONFIG
# _PKG_SHORT_ERRORS_SUPPORTED
# -----------------------------
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -8698,19 +8733,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
else
_pkg_short_errors_supported=no
fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED
])dnl _PKG_SHORT_ERRORS_SUPPORTED
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND])
#
#
# Note that if there is a possibility the first call to
# PKG_CHECK_MODULES might not happen, you should be sure to include an
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
#
# --------------------------------------------------------------
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@ -8764,16 +8797,40 @@ else
AC_MSG_RESULT([yes])
$3
fi[]dnl
])# PKG_CHECK_MODULES
])dnl PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
@ -8784,16 +8841,18 @@ AC_ARG_WITH([pkgconfigdir],
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
])dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
@ -8804,7 +8863,24 @@ AC_ARG_WITH([noarch-pkgconfigdir],
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#
@ -9829,7 +9905,7 @@ AC_SUBST([am__untar])
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
@ -9866,7 +9942,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.19.0])
m4_define([vers_have], [1.19.2])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@ -9944,6 +10020,17 @@ AC_DEFUN([XORG_MANPAGE_SECTIONS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_SED])
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
AC_CHECK_FILE([/usr/share/man/man7/attributes.7],
[SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true])
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1
fi
@ -9959,9 +10046,9 @@ if test x$LIB_MAN_DIR = x ; then
fi
if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in
solaris*) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;;
case $SYSV_MAN_SECTIONS in
true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;;
esac
fi
if test x$FILE_MAN_DIR = x ; then
@ -9969,9 +10056,9 @@ if test x$FILE_MAN_DIR = x ; then
fi
if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in
solaris*) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;;
case $SYSV_MAN_SECTIONS in
true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;;
esac
fi
if test x$MISC_MAN_DIR = x ; then
@ -9979,9 +10066,9 @@ if test x$MISC_MAN_DIR = x ; then
fi
if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in
solaris*) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;;
case $SYSV_MAN_SECTIONS in
true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;;
esac
fi
if test x$DRIVER_MAN_DIR = x ; then
@ -9989,9 +10076,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi
if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in
solaris*) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;;
case $SYSV_MAN_SECTIONS in
true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;;
esac
fi
if test x$ADMIN_MAN_DIR = x ; then
@ -10252,13 +10339,24 @@ m4_ifval([$1],
fi])
# Test for the ability of xmlto to generate a text target
#
# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the
# following test for empty XML docbook files.
# For compatibility reasons use the following empty XML docbook file and if
# it fails try it again with a non-empty XML file.
have_xmlto_text=no
cat > conftest.xml << "EOF"
EOF
AS_IF([test "$have_xmlto" = yes],
[AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
[# Try it again with a non-empty XML file.
cat > conftest.xml << "EOF"
<x></x>
EOF
AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])])
rm -f conftest.xml
AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
@ -11654,8 +11752,9 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
AC_SUBST([INSTALL_CMD])
]) # XORG_INSTALL
dnl Copyright 2005 Red Hat, Inc
@ -11716,10 +11815,11 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
#
#
AC_DEFUN([XORG_CHANGELOG], [
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
echo 'git directory not found: installing possibly empty changelog.' >&2)"
|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
AC_SUBST([CHANGELOG_CMD])
]) # XORG_CHANGELOG

View File

@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for libxkbfile 1.0.9.
# Generated by GNU Autoconf 2.69 for libxkbfile 1.1.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
# Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues>.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -275,7 +275,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
$0: https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues
$0: about your system, including any error possibly output
$0: before this message. Then install a modern shell, or
$0: manually run the script under such a shell if you do
@ -591,9 +591,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libxkbfile'
PACKAGE_TARNAME='libxkbfile'
PACKAGE_VERSION='1.0.9'
PACKAGE_STRING='libxkbfile 1.0.9'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_VERSION='1.1.0'
PACKAGE_STRING='libxkbfile 1.1.0'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues'
PACKAGE_URL=''
ac_unique_file="Makefile.am"
@ -1346,7 +1346,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 libxkbfile 1.0.9 to adapt to many kinds of systems.
\`configure' configures libxkbfile 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1416,7 +1416,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libxkbfile 1.0.9:";;
short | recursive ) echo "Configuration of libxkbfile 1.1.0:";;
esac
cat <<\_ACEOF
@ -1476,7 +1476,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues>.
_ACEOF
ac_status=$?
fi
@ -1539,7 +1539,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libxkbfile configure 1.0.9
libxkbfile configure 1.1.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1863,7 +1863,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 libxkbfile $as_me 1.0.9, which was
It was created by libxkbfile $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2692,7 +2692,7 @@ fi
# Define the identity of the package.
PACKAGE='libxkbfile'
VERSION='1.0.9'
VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@ -17378,10 +17378,11 @@ _ACEOF
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
echo 'git directory not found: installing possibly empty changelog.' >&2)"
|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
@ -17389,14 +17390,45 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)"
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/man/man7/attributes.7" >&5
$as_echo_n "checking for /usr/share/man/man7/attributes.7... " >&6; }
if ${ac_cv_file__usr_share_man_man7_attributes_7+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/usr/share/man/man7/attributes.7"; then
ac_cv_file__usr_share_man_man7_attributes_7=yes
else
ac_cv_file__usr_share_man_man7_attributes_7=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_man_man7_attributes_7" >&5
$as_echo "$ac_cv_file__usr_share_man_man7_attributes_7" >&6; }
if test "x$ac_cv_file__usr_share_man_man7_attributes_7" = xyes; then :
SYSV_MAN_SECTIONS=false
else
SYSV_MAN_SECTIONS=true
fi
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1
fi
@ -17412,9 +17444,9 @@ if test x$LIB_MAN_DIR = x ; then
fi
if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in
solaris*) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;;
case $SYSV_MAN_SECTIONS in
true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;;
esac
fi
if test x$FILE_MAN_DIR = x ; then
@ -17422,9 +17454,9 @@ if test x$FILE_MAN_DIR = x ; then
fi
if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in
solaris*) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;;
case $SYSV_MAN_SECTIONS in
true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;;
esac
fi
if test x$MISC_MAN_DIR = x ; then
@ -17432,9 +17464,9 @@ if test x$MISC_MAN_DIR = x ; then
fi
if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in
solaris*) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;;
case $SYSV_MAN_SECTIONS in
true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;;
esac
fi
if test x$DRIVER_MAN_DIR = x ; then
@ -17442,9 +17474,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi
if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in
solaris*) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;;
case $SYSV_MAN_SECTIONS in
true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;;
esac
fi
if test x$ADMIN_MAN_DIR = x ; then
@ -18171,7 +18203,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 libxkbfile $as_me 1.0.9, which was
This file was extended by libxkbfile $as_me 1.1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -18231,13 +18263,13 @@ $config_headers
Configuration commands:
$config_commands
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>."
Report bugs to <https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
libxkbfile config.status 1.0.9
libxkbfile config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -22,8 +22,8 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([libxkbfile], [1.0.9],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libxkbfile])
AC_INIT([libxkbfile], [1.1.0],
[https://gitlab.freedesktop.org/xorg/lib/libxkbfile/issues], [libxkbfile])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])

View File

@ -36,23 +36,23 @@ typedef struct _xkmFileInfo {
CARD8 min_kc;
CARD8 max_kc;
CARD8 num_toc;
CARD16 present B16;
CARD16 pad B16;
CARD16 present;
CARD16 pad;
} xkmFileInfo;
#define sz_xkmFileInfo 8
typedef struct _xkmSectionInfo {
CARD16 type B16;
CARD16 format B16;
CARD16 size B16;
CARD16 offset B16;
CARD16 type;
CARD16 format;
CARD16 size;
CARD16 offset;
} xkmSectionInfo;
#define sz_xkmSectionInfo 8
typedef struct _xkmKeyTypeDesc {
CARD8 realMods;
CARD8 numLevels;
CARD16 virtualMods B16;
CARD16 virtualMods;
CARD8 nMapEntries;
CARD8 nLevelNames;
CARD8 preserve;
@ -63,26 +63,26 @@ typedef struct _xkmKeyTypeDesc {
typedef struct _xkmKTMapEntryDesc {
CARD8 level;
CARD8 realMods;
CARD16 virtualMods B16;
CARD16 virtualMods;
} xkmKTMapEntryDesc;
#define sz_xkmKTMapEntryDesc 4
typedef struct _xkmModsDesc {
CARD8 realMods;
CARD8 pad;
CARD16 virtualMods B16;
CARD16 virtualMods;
} xkmModsDesc;
#define sz_xkmModsDesc 4
typedef struct _xkmVModMapDesc {
CARD8 key;
CARD8 pad;
CARD16 vmods B16;
CARD16 vmods;
} xkmVModMapDesc;
#define sz_xkmVModMapDesc 4
typedef struct _xkmSymInterpretDesc {
CARD32 sym B32;
CARD32 sym;
CARD8 mods;
CARD8 match;
CARD8 virtualMod;
@ -95,7 +95,7 @@ typedef struct _xkmSymInterpretDesc {
typedef struct _xkmBehaviorDesc {
CARD8 type;
CARD8 data;
CARD16 pad B16;
CARD16 pad;
} xkmBehaviorDesc;
#define sz_xkmBehaviorDesc 4
@ -128,38 +128,38 @@ typedef struct _xkmIndicatorMapDesc {
CARD8 flags;
CARD8 which_mods;
CARD8 real_mods;
CARD16 vmods B16;
CARD16 vmods;
CARD8 which_groups;
CARD8 groups;
CARD32 ctrls B32;
CARD32 ctrls;
} xkmIndicatorMapDesc;
#define sz_xkmIndicatorMapDesc 12
typedef struct _xkmGeometryDesc {
CARD16 width_mm B16;
CARD16 height_mm B16;
CARD16 width_mm;
CARD16 height_mm;
CARD8 base_color_ndx;
CARD8 label_color_ndx;
CARD16 num_properties B16;
CARD16 num_colors B16;
CARD16 num_shapes B16;
CARD16 num_sections B16;
CARD16 num_doodads B16;
CARD16 num_key_aliases B16;
CARD16 pad1 B16;
CARD16 num_properties;
CARD16 num_colors;
CARD16 num_shapes;
CARD16 num_sections;
CARD16 num_doodads;
CARD16 num_key_aliases;
CARD16 pad1;
} xkmGeometryDesc;
#define sz_xkmGeometryDesc 20
typedef struct _xkmPointDesc {
INT16 x B16;
INT16 y B16;
INT16 x;
INT16 y;
} xkmPointDesc;
#define sz_xkmPointDesc 4
typedef struct _xkmOutlineDesc {
CARD8 num_points;
CARD8 corner_radius;
CARD16 pad B16;
CARD16 pad;
} xkmOutlineDesc;
#define sz_xkmOutlineDesc 4
@ -172,31 +172,31 @@ typedef struct _xkmShapeDesc {
#define sz_xkmShapeDesc 4
typedef struct _xkmSectionDesc {
INT16 top B16;
INT16 left B16;
CARD16 width B16;
CARD16 height B16;
INT16 angle B16;
INT16 top;
INT16 left;
CARD16 width;
CARD16 height;
INT16 angle;
CARD8 priority;
CARD8 num_rows;
CARD8 num_doodads;
CARD8 num_overlays;
CARD16 pad2 B16;
CARD16 pad2;
} xkmSectionDesc;
#define sz_xkmSectionDesc 16
typedef struct _xkmRowDesc {
INT16 top B16;
INT16 left B16;
INT16 top;
INT16 left;
CARD8 num_keys;
BOOL vertical;
CARD16 pad B16;
CARD16 pad;
} xkmRowDesc;
#define sz_xkmRowDesc 8
typedef struct _xkmKeyDesc {
CARD8 name[XkbKeyNameLength];
INT16 gap B16;
INT16 gap;
CARD8 shape_ndx;
CARD8 color_ndx;
} xkmKeyDesc;
@ -205,14 +205,14 @@ typedef struct _xkmKeyDesc {
typedef struct _xkmOverlayDesc {
CARD8 num_rows;
CARD8 pad1;
CARD16 pad2 B16;
CARD16 pad2;
} xkmOverlayDesc;
#define sz_xkmOverlayDesc 4
typedef struct _xkmOverlayRowDesc {
CARD8 row_under;
CARD8 num_keys;
CARD16 pad B16;
CARD16 pad;
} xkmOverlayRowDesc;
#define sz_xkmOverlayRowDesc 4
@ -225,65 +225,65 @@ typedef struct _xkmOverlayKeyDesc {
typedef struct _xkmShapeDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
INT16 top;
INT16 left;
INT16 angle;
CARD8 color_ndx;
CARD8 shape_ndx;
CARD16 pad B16;
CARD32 pad1 B32;
CARD16 pad;
CARD32 pad1;
} xkmShapeDoodadDesc;
#define sz_xkmShapeDoodadDesc 16
typedef struct _xkmTextDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
CARD16 width B16;
CARD16 height B16;
INT16 top;
INT16 left;
INT16 angle;
CARD16 width;
CARD16 height;
CARD8 color_ndx;
CARD8 pad1;
CARD16 pad2 B16;
CARD16 pad2;
} xkmTextDoodadDesc;
#define sz_xkmTextDoodadDesc 16
typedef struct _xkmIndicatorDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 top;
INT16 left;
CARD8 shape_ndx;
CARD8 on_color_ndx;
CARD8 off_color_ndx;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD16 pad2;
CARD32 pad3;
} xkmIndicatorDoodadDesc;
#define sz_xkmIndicatorDoodadDesc 16
typedef struct _xkmLogoDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
INT16 angle B16;
INT16 top;
INT16 left;
INT16 angle;
CARD8 color_ndx;
CARD8 shape_ndx;
CARD16 pad B16;
CARD32 pad1 B32;
CARD16 pad;
CARD32 pad1;
} xkmLogoDoodadDesc;
#define sz_xkmLogoDoodadDesc 16
typedef struct _xkmAnyDoodadDesc {
CARD8 type;
CARD8 priority;
INT16 top B16;
INT16 left B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
INT16 top;
INT16 left;
CARD16 pad1;
CARD32 pad2;
CARD32 pad3;
} xkmAnyDoodadDesc;
#define sz_xkmAnyDoodadDesc 16

View File

@ -758,9 +758,17 @@ XkbGeomFPText(int val, unsigned format)
}
else {
whole = val / XkbGeomPtsPerMM;
frac = val % XkbGeomPtsPerMM;
if (frac != 0)
snprintf(buf, bufsize, "%d.%d", whole, frac);
frac = abs(val % XkbGeomPtsPerMM);
if (frac != 0) {
if (val < 0)
{
int wholeabs;
wholeabs = abs(whole);
snprintf(buf, bufsize, "-%d.%d", wholeabs, frac);
}
else
snprintf(buf, bufsize, "%d.%d", whole, frac);
}
else
snprintf(buf, bufsize, "%d", whole);
}
@ -886,8 +894,22 @@ CopyModActionArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
}
else
TryCopyStr(buf, "none", sz);
if (act->type == XkbSA_LockMods)
if (act->type == XkbSA_LockMods) {
switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
case XkbSA_LockNoLock:
TryCopyStr(buf, ",affect=unlock", sz);
break;
case XkbSA_LockNoUnlock:
TryCopyStr(buf, ",affect=lock", sz);
break;
case XkbSA_LockNoUnlock|XkbSA_LockNoLock:
TryCopyStr(buf, ",affect=neither", sz);
break;
default:
break;
}
return True;
}
if (act->flags & XkbSA_ClearLocks)
TryCopyStr(buf, ",clearLocks", sz);
if (act->flags & XkbSA_LatchToLock)
@ -906,11 +928,11 @@ CopyGroupActionArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
act = &action->group;
TryCopyStr(buf, "group=", sz);
if (act->flags & XkbSA_GroupAbsolute)
snprintf(tbuf, sizeof(buf), "%d", XkbSAGroup(act) + 1);
snprintf(tbuf, sizeof(tbuf), "%d", XkbSAGroup(act) + 1);
else if (XkbSAGroup(act) < 0)
snprintf(tbuf, sizeof(buf), "%d", XkbSAGroup(act));
snprintf(tbuf, sizeof(tbuf), "%d", XkbSAGroup(act));
else
snprintf(tbuf, sizeof(buf), "+%d", XkbSAGroup(act));
snprintf(tbuf, sizeof(tbuf), "+%d", XkbSAGroup(act));
TryCopyStr(buf, tbuf, sz);
if (act->type == XkbSA_LockGroup)
return True;
@ -1049,8 +1071,12 @@ CopyISOLockArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
TryCopyStr(buf, "none", sz);
}
TryCopyStr(buf, ",affect=", sz);
if ((act->affect & XkbSA_ISOAffectMask) == 0)
if ((act->affect & XkbSA_ISOAffectMask) == 0) {
TryCopyStr(buf, "all", sz);
}
else if ((act->affect & XkbSA_ISOAffectMask) == XkbSA_ISOAffectMask) {
TryCopyStr(buf, "none", sz);
}
else {
int nOut = 0;
@ -1074,6 +1100,18 @@ CopyISOLockArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
nOut++;
}
}
switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
case XkbSA_LockNoLock:
TryCopyStr(buf, "+unlock", sz);
break;
case XkbSA_LockNoUnlock:
TryCopyStr(buf, "+lock", sz);
break;
case XkbSA_LockNoUnlock | XkbSA_LockNoLock:
TryCopyStr(buf, "+neither", sz);
break;
default: ;
}
return True;
}
@ -1183,6 +1221,20 @@ CopySetLockControlsArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
nOut++;
}
}
if (action->type == XkbSA_LockControls) {
switch (act->flags & (XkbSA_LockNoUnlock | XkbSA_LockNoLock)) {
case XkbSA_LockNoLock:
TryCopyStr(buf, ",affect=unlock", sz);
break;
case XkbSA_LockNoUnlock:
TryCopyStr(buf, ",affect=lock", sz);
break;
case XkbSA_LockNoUnlock | XkbSA_LockNoLock:
TryCopyStr(buf, ",affect=neither", sz);
break;
default: ;
}
}
return True;
}
@ -1218,6 +1270,8 @@ CopyActionMessageArgs(Display *dpy, XkbDescPtr xkb, XkbAction *action,
TryCopyStr(buf, tbuf, sz);
snprintf(tbuf, sizeof(tbuf), ",data[5]=0x%02x", act->message[5]);
TryCopyStr(buf, tbuf, sz);
if (act->flags & XkbSA_MessageGenKeyEvent)
TryCopyStr(buf, ",genKeyEvent", sz);
return True;
}