summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2024-06-01 12:14:49 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2024-06-01 12:14:49 +0000
commitfb791b5726be96f650227395c5151288cb04f070 (patch)
treed5ea12121e96d62bdccee42d5aeca8a024aba07a /proto
parent48688c567d3e7a792c15bd07b3e48439269fae05 (diff)
Update to xorgproto 2024.1. Bulk ports build test tb@
Diffstat (limited to 'proto')
-rw-r--r--proto/xorgproto/Makefile.in139
-rw-r--r--proto/xorgproto/aclocal.m46
-rwxr-xr-xproto/xorgproto/configure20
-rw-r--r--proto/xorgproto/configure.ac2
-rw-r--r--proto/xorgproto/dri3proto.pc.in2
-rw-r--r--proto/xorgproto/dri3proto.txt52
-rw-r--r--proto/xorgproto/include/X11/DECkeysym.h16
-rw-r--r--proto/xorgproto/include/X11/HPkeysym.h172
-rw-r--r--proto/xorgproto/include/X11/Sunkeysym.h66
-rw-r--r--proto/xorgproto/include/X11/XF86keysym.h776
-rw-r--r--proto/xorgproto/include/X11/extensions/dri3proto.h28
-rw-r--r--proto/xorgproto/include/X11/extensions/presentproto.h32
-rw-r--r--proto/xorgproto/include/X11/extensions/presenttokens.h9
-rw-r--r--proto/xorgproto/include/X11/keysymdef.h743
-rwxr-xr-xproto/xorgproto/install-sh422
-rw-r--r--proto/xorgproto/meson.build13
-rw-r--r--proto/xorgproto/presentproto.pc.in2
-rw-r--r--proto/xorgproto/presentproto.txt109
-rw-r--r--proto/xorgproto/scripts/keysym-generator.py38
-rw-r--r--proto/xorgproto/specs/Makefile.in3
-rw-r--r--proto/xorgproto/specs/bigreqsproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/fontsproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/kbproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/recordproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/scrnsaverproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/xcmiscproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/xextproto/Makefile.in3
-rw-r--r--proto/xorgproto/specs/xproto/Makefile.in3
28 files changed, 1491 insertions, 1183 deletions
diff --git a/proto/xorgproto/Makefile.in b/proto/xorgproto/Makefile.in
index 56797953e..d05f0d5ae 100644
--- a/proto/xorgproto/Makefile.in
+++ b/proto/xorgproto/Makefile.in
@@ -53,47 +53,49 @@ build_triplet = @build@
host_triplet = @host@
@LEGACY_TRUE@am__append_1 = include/X11/extensions/XKBgeom.h
@LEGACY_TRUE@am__append_2 = include/X11/extensions/vldXvMC.h
+@LEGACY_TRUE@am__append_3 = PM_spec
subdir = .
DIST_COMMON = $(am__XCalibrateinclude_HEADERS_DIST) \
$(am__applewm_HEADERS_DIST) $(am__compat_HEADERS_DIST) \
- $(am__configure_deps) $(am__evie_HEADERS_DIST) \
- $(am__fontcache_HEADERS_DIST) $(am__kb_HEADERS_DIST) \
- $(am__lg3d_HEADERS_DIST) $(am__print_HEADERS_DIST) \
- $(am__trap_HEADERS_DIST) $(am__video_HEADERS_DIST) \
- $(am__windowswm_HEADERS_DIST) $(am__xf86misc_HEADERS_DIST) \
- $(am__xf86rush_HEADERS_DIST) $(am__xproxymng_HEADERS_DIST) \
- $(bigreqs_HEADERS) $(composite_HEADERS) $(damage_HEADERS) \
- $(dist_doc_DATA) $(dmx_HEADERS) $(dri2_HEADERS) \
- $(dri3_HEADERS) $(fixes_HEADERS) $(fonts_HEADERS) \
- $(gl_HEADERS) $(glinternal_HEADERS) $(input_HEADERS) \
- $(present_HEADERS) $(randr_HEADERS) $(record_HEADERS) \
- $(render_HEADERS) $(resource_HEADERS) $(scrnsaver_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/applewmproto.pc.in $(srcdir)/bigreqsproto.pc.in \
- $(srcdir)/compositeproto.pc.in $(srcdir)/damageproto.pc.in \
- $(srcdir)/dmxproto.pc.in $(srcdir)/dpmsproto.pc.in \
- $(srcdir)/dri2proto.pc.in $(srcdir)/dri3proto.pc.in \
- $(srcdir)/evieproto.pc.in $(srcdir)/fixesproto.pc.in \
- $(srcdir)/fontcacheproto.pc.in $(srcdir)/fontsproto.pc.in \
- $(srcdir)/glproto.pc.in $(srcdir)/inputproto.pc.in \
- $(srcdir)/kbproto.pc.in $(srcdir)/lg3dproto.pc.in \
- $(srcdir)/presentproto.pc.in $(srcdir)/printproto.pc.in \
- $(srcdir)/randrproto.pc.in $(srcdir)/recordproto.pc.in \
- $(srcdir)/renderproto.pc.in $(srcdir)/resourceproto.pc.in \
- $(srcdir)/scrnsaverproto.pc.in $(srcdir)/trapproto.pc.in \
- $(srcdir)/videoproto.pc.in $(srcdir)/windowswmproto.pc.in \
- $(srcdir)/xcalibrateproto.pc.in $(srcdir)/xcmiscproto.pc.in \
- $(srcdir)/xextproto.pc.in $(srcdir)/xf86bigfontproto.pc.in \
- $(srcdir)/xf86dgaproto.pc.in $(srcdir)/xf86driproto.pc.in \
- $(srcdir)/xf86miscproto.pc.in $(srcdir)/xf86rushproto.pc.in \
- $(srcdir)/xf86vidmodeproto.pc.in $(srcdir)/xineramaproto.pc.in \
- $(srcdir)/xproto.pc.in $(srcdir)/xproxymngproto.pc.in \
- $(srcdir)/xwaylandproto.pc.in $(top_srcdir)/configure \
- $(top_srcdir)/include/X11/Xpoll.h.in $(xcmisc_HEADERS) \
- $(xext_HEADERS) $(xf86bigfont_HEADERS) $(xf86dga_HEADERS) \
- $(xf86dri_HEADERS) $(xf86vidmode_HEADERS) $(xinerama_HEADERS) \
- $(xproto_HEADERS) $(xwaylandproto_HEADERS) AUTHORS INSTALL \
- compile config.guess config.sub install-sh missing
+ $(am__configure_deps) $(am__dist_doc_DATA_DIST) \
+ $(am__evie_HEADERS_DIST) $(am__fontcache_HEADERS_DIST) \
+ $(am__kb_HEADERS_DIST) $(am__lg3d_HEADERS_DIST) \
+ $(am__print_HEADERS_DIST) $(am__trap_HEADERS_DIST) \
+ $(am__video_HEADERS_DIST) $(am__windowswm_HEADERS_DIST) \
+ $(am__xf86misc_HEADERS_DIST) $(am__xf86rush_HEADERS_DIST) \
+ $(am__xproxymng_HEADERS_DIST) $(bigreqs_HEADERS) \
+ $(composite_HEADERS) $(damage_HEADERS) $(dmx_HEADERS) \
+ $(dri2_HEADERS) $(dri3_HEADERS) $(fixes_HEADERS) \
+ $(fonts_HEADERS) $(gl_HEADERS) $(glinternal_HEADERS) \
+ $(input_HEADERS) $(present_HEADERS) $(randr_HEADERS) \
+ $(record_HEADERS) $(render_HEADERS) $(resource_HEADERS) \
+ $(scrnsaver_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/applewmproto.pc.in \
+ $(srcdir)/bigreqsproto.pc.in $(srcdir)/compositeproto.pc.in \
+ $(srcdir)/damageproto.pc.in $(srcdir)/dmxproto.pc.in \
+ $(srcdir)/dpmsproto.pc.in $(srcdir)/dri2proto.pc.in \
+ $(srcdir)/dri3proto.pc.in $(srcdir)/evieproto.pc.in \
+ $(srcdir)/fixesproto.pc.in $(srcdir)/fontcacheproto.pc.in \
+ $(srcdir)/fontsproto.pc.in $(srcdir)/glproto.pc.in \
+ $(srcdir)/inputproto.pc.in $(srcdir)/kbproto.pc.in \
+ $(srcdir)/lg3dproto.pc.in $(srcdir)/presentproto.pc.in \
+ $(srcdir)/printproto.pc.in $(srcdir)/randrproto.pc.in \
+ $(srcdir)/recordproto.pc.in $(srcdir)/renderproto.pc.in \
+ $(srcdir)/resourceproto.pc.in $(srcdir)/scrnsaverproto.pc.in \
+ $(srcdir)/trapproto.pc.in $(srcdir)/videoproto.pc.in \
+ $(srcdir)/windowswmproto.pc.in $(srcdir)/xcalibrateproto.pc.in \
+ $(srcdir)/xcmiscproto.pc.in $(srcdir)/xextproto.pc.in \
+ $(srcdir)/xf86bigfontproto.pc.in $(srcdir)/xf86dgaproto.pc.in \
+ $(srcdir)/xf86driproto.pc.in $(srcdir)/xf86miscproto.pc.in \
+ $(srcdir)/xf86rushproto.pc.in $(srcdir)/xf86vidmodeproto.pc.in \
+ $(srcdir)/xineramaproto.pc.in $(srcdir)/xproto.pc.in \
+ $(srcdir)/xproxymngproto.pc.in $(srcdir)/xwaylandproto.pc.in \
+ $(top_srcdir)/configure $(top_srcdir)/include/X11/Xpoll.h.in \
+ $(xcmisc_HEADERS) $(xext_HEADERS) $(xf86bigfont_HEADERS) \
+ $(xf86dga_HEADERS) $(xf86dri_HEADERS) $(xf86vidmode_HEADERS) \
+ $(xinerama_HEADERS) $(xproto_HEADERS) $(xwaylandproto_HEADERS) \
+ AUTHORS INSTALL compile config.guess config.sub install-sh \
+ missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -219,6 +221,10 @@ am__installdirs = "$(DESTDIR)$(applewmprotopkgconfigdir)" \
"$(DESTDIR)$(xf86vidmodedir)" "$(DESTDIR)$(xineramadir)" \
"$(DESTDIR)$(xprotodir)" "$(DESTDIR)$(xproxymngdir)" \
"$(DESTDIR)$(xwaylandprotodir)"
+am__dist_doc_DATA_DIST = compositeproto.txt damageproto.txt \
+ dri2proto.txt dri3proto.txt fixesproto.txt presentproto.txt \
+ randrproto.txt renderproto.txt resproto.txt xv-protocol-v2.txt \
+ xwaylandproto.txt PM_spec
DATA = $(applewmprotopkgconfig_DATA) $(bigreqsprotopkgconfig_DATA) \
$(calibrateprotopkgconfig_DATA) \
$(compositeprotopkgconfig_DATA) $(damageprotopkgconfig_DATA) \
@@ -338,7 +344,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -349,12 +354,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
@@ -369,17 +372,16 @@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
-@APPLEWM_TRUE@MAN_SUBSTS = \
-@APPLEWM_TRUE@ -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-@APPLEWM_TRUE@ -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
-@APPLEWM_TRUE@ -e 's|__datadir__|$(datadir)|g' \
-@APPLEWM_TRUE@ -e 's|__libdir__|$(libdir)|g' \
-@APPLEWM_TRUE@ -e 's|__sysconfdir__|$(sysconfdir)|g' \
-@APPLEWM_TRUE@ -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
-@APPLEWM_TRUE@ -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
-@APPLEWM_TRUE@ -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
-
-MAN_SUBSTS = @MAN_SUBSTS@
+MAN_SUBSTS = \
+ -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+ -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+ -e 's|__datadir__|$(datadir)|g' \
+ -e 's|__libdir__|$(libdir)|g' \
+ -e 's|__sysconfdir__|$(sysconfdir)|g' \
+ -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+ -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
+ -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
+
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
@@ -400,8 +402,7 @@ PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
-@APPLEWM_TRUE@SED = sed
-SED = @SED@
+SED = sed
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
@@ -469,9 +470,13 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-@APPLEWM_TRUE@XORGRELSTRING = @PACKAGE_STRING@
-@APPLEWM_TRUE@XORGMANNAME = X Version 11
-@APPLEWM_TRUE@SUFFIXES = .$(MISC_MAN_SUFFIX) .man
+XORGRELSTRING = @PACKAGE_STRING@
+XORGMANNAME = X Version 11
+SUFFIXES = .$(MISC_MAN_SUFFIX) .man
+dist_doc_DATA = compositeproto.txt damageproto.txt dri2proto.txt \
+ dri3proto.txt fixesproto.txt presentproto.txt randrproto.txt \
+ renderproto.txt resproto.txt xv-protocol-v2.txt \
+ xwaylandproto.txt $(am__append_3)
@APPLEWM_TRUE@applewmdir = $(includedir)/X11/extensions
@APPLEWM_TRUE@applewm_HEADERS = \
@APPLEWM_TRUE@ include/X11/extensions/applewmconst.h \
@@ -827,20 +832,6 @@ xwaylandprotopkgconfig_DATA = xwaylandproto.pc
@LEGACY_TRUE@xf86rushprotopkgconfig_DATA = xf86rushproto.pc
# SUBDIRS=specs
-dist_doc_DATA = \
- compositeproto.txt \
- damageproto.txt \
- dri2proto.txt \
- dri3proto.txt \
- fixesproto.txt \
- PM_spec \
- presentproto.txt \
- randrproto.txt \
- renderproto.txt \
- resproto.txt \
- xv-protocol-v2.txt \
- xwaylandproto.txt
-
EXTRA_DIST = \
COPYING-applewmproto \
COPYING-bigreqsproto \
@@ -3366,9 +3357,9 @@ uninstall-am: uninstall-XCalibrateincludeHEADERS \
uninstall-xwaylandprotopkgconfigDATA
-@APPLEWM_TRUE@.man.$(MISC_MAN_SUFFIX): man
-@APPLEWM_TRUE@ $(MKDIR_P) man
-@APPLEWM_TRUE@ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+.man.$(MISC_MAN_SUFFIX): man
+ $(MKDIR_P) man
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/proto/xorgproto/aclocal.m4 b/proto/xorgproto/aclocal.m4
index 45a48cfc0..2281998d7 100644
--- a/proto/xorgproto/aclocal.m4
+++ b/proto/xorgproto/aclocal.m4
@@ -1607,7 +1607,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.20.0])
+m4_define([vers_have], [1.20.1])
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,,
@@ -1654,10 +1654,10 @@ rm -f conftest.$ac_ext
AC_MSG_CHECKING([if $RAWCPP requires -traditional])
AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])])
-if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
+if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
AC_MSG_RESULT([no])
else
- if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
+ if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve "'` -eq 1 ; then
TRADITIONALCPPFLAGS="-traditional"
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
AC_MSG_RESULT([yes])
diff --git a/proto/xorgproto/configure b/proto/xorgproto/configure
index b106bc913..17cc7cc6b 100755
--- a/proto/xorgproto/configure
+++ b/proto/xorgproto/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for xorgproto 2023.2.
+# Generated by GNU Autoconf 2.71 for xorgproto 2024.1.
#
# Report bugs to <https://gitlab.freedesktop.org/xorg/proto/xorgproto/issues>.
#
@@ -672,8 +672,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xorgproto'
PACKAGE_TARNAME='xorgproto'
-PACKAGE_VERSION='2023.2'
-PACKAGE_STRING='xorgproto 2023.2'
+PACKAGE_VERSION='2024.1'
+PACKAGE_STRING='xorgproto 2024.1'
PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/proto/xorgproto/issues'
PACKAGE_URL=''
@@ -1442,7 +1442,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 xorgproto 2023.2 to adapt to many kinds of systems.
+\`configure' configures xorgproto 2024.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1513,7 +1513,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xorgproto 2023.2:";;
+ short | recursive ) echo "Configuration of xorgproto 2024.1:";;
esac
cat <<\_ACEOF
@@ -1634,7 +1634,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xorgproto configure 2023.2
+xorgproto configure 2024.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1902,7 +1902,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 xorgproto $as_me 2023.2, which was
+It was created by xorgproto $as_me 2024.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3134,7 +3134,7 @@ fi
# Define the identity of the package.
PACKAGE='xorgproto'
- VERSION='2023.2'
+ VERSION='2024.1'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -12557,7 +12557,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 xorgproto $as_me 2023.2, which was
+This file was extended by xorgproto $as_me 2024.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12616,7 +12616,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-xorgproto config.status 2023.2
+xorgproto config.status 2024.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/proto/xorgproto/configure.ac b/proto/xorgproto/configure.ac
index 84254ac6c..cf822bb9c 100644
--- a/proto/xorgproto/configure.ac
+++ b/proto/xorgproto/configure.ac
@@ -23,7 +23,7 @@ dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
# keep version in sync with meson.build
-AC_INIT([xorgproto], [2023.2],
+AC_INIT([xorgproto], [2024.1],
[https://gitlab.freedesktop.org/xorg/proto/xorgproto/issues])
AM_INIT_AUTOMAKE([foreign dist-xz])
diff --git a/proto/xorgproto/dri3proto.pc.in b/proto/xorgproto/dri3proto.pc.in
index 7725bc5cb..be6ccb953 100644
--- a/proto/xorgproto/dri3proto.pc.in
+++ b/proto/xorgproto/dri3proto.pc.in
@@ -3,5 +3,5 @@ includedir=@includedir@
Name: DRI3Proto
Description: DRI3 extension headers
-Version: 1.3
+Version: 1.4
Cflags: -I${includedir}
diff --git a/proto/xorgproto/dri3proto.txt b/proto/xorgproto/dri3proto.txt
index 3f9275681..f1f74c482 100644
--- a/proto/xorgproto/dri3proto.txt
+++ b/proto/xorgproto/dri3proto.txt
@@ -1,5 +1,5 @@
The DRI3 Extension
- Version 1.3
+ Version 1.4
2021-11-30
Keith Packard
@@ -60,7 +60,7 @@ DRI3 defines no events.
6. Protocol Types
-DRI3 defines no new protocol types.
+SYNCOBJ { XID }
❄ ❄ ❄ ❄ ❄ ❄ ❄
@@ -395,6 +395,36 @@ The name of this extension is "DRI3"
If the window specified was not found, a Window error will
be returned.
+
+┌───
+ DRI3ImportSyncobj
+ syncobj: SYNCOBJ
+ drawable: DRAWABLE
+ fd: FD
+└───
+ Errors: IDchoice, Drawable
+
+ Imports the DRM synchronization object bound to the given 'fd'. This
+ may then be used to enable explicit synchronization with the
+ server-side direct rendering device associated with 'drawable'.
+
+ The provided syncobj must be a timeline syncobj.
+
+ If 'drawable' is not found, a Drawable error will be returned.
+
+
+┌───
+ DRI3FreeSyncobj
+ syncobj: SYNCOBJ
+└───
+ Errors: Value
+
+ Indicates that any resources associated with the given 'syncobj' should
+ be released by the server. The actual release may be deferred until any
+ pending operations that depend on the object have completed.
+
+ If 'syncobj' is not found, a Value error will be returned.
+
❄ ❄ ❄ ❄ ❄ ❄ ❄
9. Extension Events
@@ -703,6 +733,24 @@ A.2 Protocol Requests
4 CARD32 drmMinor
└───
+┌───
+ DRI3ImportSyncobj
+ 1 CARD8 major opcode
+ 1 11 DRI3 opcode
+ 2 3 length
+ 4 SYNCOBJ syncobj
+ 4 Drawable drawable
+ 0 FD syncobj fd
+└───
+
+┌───
+ DRI3FreeSyncobj
+ 1 CARD8 major opcode
+ 1 12 DRI3 opcode
+ 2 2 length
+ 4 SYNCOBJ syncobj
+└───
+
A.3 Protocol Events
The DRI3 extension defines no events.
diff --git a/proto/xorgproto/include/X11/DECkeysym.h b/proto/xorgproto/include/X11/DECkeysym.h
index d9e23c4be..088dfa500 100644
--- a/proto/xorgproto/include/X11/DECkeysym.h
+++ b/proto/xorgproto/include/X11/DECkeysym.h
@@ -52,14 +52,14 @@ SOFTWARE.
/* two-key compose sequence initiators, chosen to map to Latin1 characters */
-#define DXK_ring_accent 0x1000FEB0
-#define DXK_circumflex_accent 0x1000FE5E
-#define DXK_cedilla_accent 0x1000FE2C
-#define DXK_acute_accent 0x1000FE27
-#define DXK_grave_accent 0x1000FE60
-#define DXK_tilde 0x1000FE7E
-#define DXK_diaeresis 0x1000FE22
+#define DXK_ring_accent 0x1000feb0
+#define DXK_circumflex_accent 0x1000fe5e
+#define DXK_cedilla_accent 0x1000fe2c
+#define DXK_acute_accent 0x1000fe27
+#define DXK_grave_accent 0x1000fe60
+#define DXK_tilde 0x1000fe7e
+#define DXK_diaeresis 0x1000fe22
/* special keysym for LK2** "Remove" key on editing keypad */
-#define DXK_Remove 0x1000FF00 /* Remove */
+#define DXK_Remove 0x1000ff00 /* Remove */
diff --git a/proto/xorgproto/include/X11/HPkeysym.h b/proto/xorgproto/include/X11/HPkeysym.h
index d41ed3883..5585dc47a 100644
--- a/proto/xorgproto/include/X11/HPkeysym.h
+++ b/proto/xorgproto/include/X11/HPkeysym.h
@@ -59,74 +59,74 @@ performance, or use of this material.
#define _HPKEYSYM_H
-#define hpXK_ClearLine 0x1000FF6F
-#define hpXK_InsertLine 0x1000FF70
-#define hpXK_DeleteLine 0x1000FF71
-#define hpXK_InsertChar 0x1000FF72
-#define hpXK_DeleteChar 0x1000FF73
-#define hpXK_BackTab 0x1000FF74
-#define hpXK_KP_BackTab 0x1000FF75
-#define hpXK_Modelock1 0x1000FF48
-#define hpXK_Modelock2 0x1000FF49
-#define hpXK_Reset 0x1000FF6C
-#define hpXK_System 0x1000FF6D
-#define hpXK_User 0x1000FF6E
-#define hpXK_mute_acute 0x100000A8
-#define hpXK_mute_grave 0x100000A9
-#define hpXK_mute_asciicircum 0x100000AA
-#define hpXK_mute_diaeresis 0x100000AB
-#define hpXK_mute_asciitilde 0x100000AC
-#define hpXK_lira 0x100000AF
-#define hpXK_guilder 0x100000BE
-#define hpXK_Ydiaeresis 0x100000EE
-#define hpXK_IO 0x100000EE
-#define hpXK_longminus 0x100000F6
-#define hpXK_block 0x100000FC
+#define hpXK_ClearLine 0x1000ff6f
+#define hpXK_InsertLine 0x1000ff70
+#define hpXK_DeleteLine 0x1000ff71
+#define hpXK_InsertChar 0x1000ff72
+#define hpXK_DeleteChar 0x1000ff73
+#define hpXK_BackTab 0x1000ff74
+#define hpXK_KP_BackTab 0x1000ff75
+#define hpXK_Modelock1 0x1000ff48
+#define hpXK_Modelock2 0x1000ff49
+#define hpXK_Reset 0x1000ff6c
+#define hpXK_System 0x1000ff6d
+#define hpXK_User 0x1000ff6e
+#define hpXK_mute_acute 0x100000a8
+#define hpXK_mute_grave 0x100000a9
+#define hpXK_mute_asciicircum 0x100000aa
+#define hpXK_mute_diaeresis 0x100000ab
+#define hpXK_mute_asciitilde 0x100000ac
+#define hpXK_lira 0x100000af
+#define hpXK_guilder 0x100000be
+#define hpXK_Ydiaeresis 0x100000ee
+#define hpXK_IO 0x100000ee /* deprecated alias for hpYdiaeresis */
+#define hpXK_longminus 0x100000f6
+#define hpXK_block 0x100000fc
#ifndef _OSF_Keysyms
#define _OSF_Keysyms
-#define osfXK_Copy 0x1004FF02
-#define osfXK_Cut 0x1004FF03
-#define osfXK_Paste 0x1004FF04
-#define osfXK_BackTab 0x1004FF07
-#define osfXK_BackSpace 0x1004FF08
-#define osfXK_Clear 0x1004FF0B
-#define osfXK_Escape 0x1004FF1B
-#define osfXK_AddMode 0x1004FF31
-#define osfXK_PrimaryPaste 0x1004FF32
-#define osfXK_QuickPaste 0x1004FF33
-#define osfXK_PageLeft 0x1004FF40
-#define osfXK_PageUp 0x1004FF41
-#define osfXK_PageDown 0x1004FF42
-#define osfXK_PageRight 0x1004FF43
-#define osfXK_Activate 0x1004FF44
-#define osfXK_MenuBar 0x1004FF45
-#define osfXK_Left 0x1004FF51
-#define osfXK_Up 0x1004FF52
-#define osfXK_Right 0x1004FF53
-#define osfXK_Down 0x1004FF54
-#define osfXK_EndLine 0x1004FF57
-#define osfXK_BeginLine 0x1004FF58
-#define osfXK_EndData 0x1004FF59
-#define osfXK_BeginData 0x1004FF5A
-#define osfXK_PrevMenu 0x1004FF5B
-#define osfXK_NextMenu 0x1004FF5C
-#define osfXK_PrevField 0x1004FF5D
-#define osfXK_NextField 0x1004FF5E
-#define osfXK_Select 0x1004FF60
-#define osfXK_Insert 0x1004FF63
-#define osfXK_Undo 0x1004FF65
-#define osfXK_Menu 0x1004FF67
-#define osfXK_Cancel 0x1004FF69
-#define osfXK_Help 0x1004FF6A
-#define osfXK_SelectAll 0x1004FF71
-#define osfXK_DeselectAll 0x1004FF72
-#define osfXK_Reselect 0x1004FF73
-#define osfXK_Extend 0x1004FF74
-#define osfXK_Restore 0x1004FF78
-#define osfXK_Delete 0x1004FFFF
+#define osfXK_Copy 0x1004ff02
+#define osfXK_Cut 0x1004ff03
+#define osfXK_Paste 0x1004ff04
+#define osfXK_BackTab 0x1004ff07
+#define osfXK_BackSpace 0x1004ff08
+#define osfXK_Clear 0x1004ff0b
+#define osfXK_Escape 0x1004ff1b
+#define osfXK_AddMode 0x1004ff31
+#define osfXK_PrimaryPaste 0x1004ff32
+#define osfXK_QuickPaste 0x1004ff33
+#define osfXK_PageLeft 0x1004ff40
+#define osfXK_PageUp 0x1004ff41
+#define osfXK_PageDown 0x1004ff42
+#define osfXK_PageRight 0x1004ff43
+#define osfXK_Activate 0x1004ff44
+#define osfXK_MenuBar 0x1004ff45
+#define osfXK_Left 0x1004ff51
+#define osfXK_Up 0x1004ff52
+#define osfXK_Right 0x1004ff53
+#define osfXK_Down 0x1004ff54
+#define osfXK_EndLine 0x1004ff57
+#define osfXK_BeginLine 0x1004ff58
+#define osfXK_EndData 0x1004ff59
+#define osfXK_BeginData 0x1004ff5a
+#define osfXK_PrevMenu 0x1004ff5b
+#define osfXK_NextMenu 0x1004ff5c
+#define osfXK_PrevField 0x1004ff5d
+#define osfXK_NextField 0x1004ff5e
+#define osfXK_Select 0x1004ff60
+#define osfXK_Insert 0x1004ff63
+#define osfXK_Undo 0x1004ff65
+#define osfXK_Menu 0x1004ff67
+#define osfXK_Cancel 0x1004ff69
+#define osfXK_Help 0x1004ff6a
+#define osfXK_SelectAll 0x1004ff71
+#define osfXK_DeselectAll 0x1004ff72
+#define osfXK_Reselect 0x1004ff73
+#define osfXK_Extend 0x1004ff74
+#define osfXK_Restore 0x1004ff78
+#define osfXK_Delete 0x1004ffff
#endif /* _OSF_Keysyms */
@@ -135,30 +135,30 @@ performance, or use of this material.
* The use of the following macros is deprecated.
* They are listed below only for backwards compatibility.
*/
-#define XK_Reset 0x1000FF6C
-#define XK_System 0x1000FF6D
-#define XK_User 0x1000FF6E
-#define XK_ClearLine 0x1000FF6F
-#define XK_InsertLine 0x1000FF70
-#define XK_DeleteLine 0x1000FF71
-#define XK_InsertChar 0x1000FF72
-#define XK_DeleteChar 0x1000FF73
-#define XK_BackTab 0x1000FF74
-#define XK_KP_BackTab 0x1000FF75
-#define XK_Ext16bit_L 0x1000FF76
-#define XK_Ext16bit_R 0x1000FF77
-#define XK_mute_acute 0x100000a8
-#define XK_mute_grave 0x100000a9
-#define XK_mute_asciicircum 0x100000aa
-#define XK_mute_diaeresis 0x100000ab
-#define XK_mute_asciitilde 0x100000ac
-#define XK_lira 0x100000af
-#define XK_guilder 0x100000be
+#define XK_Reset 0x1000ff6c /* deprecated alias for hpReset */
+#define XK_System 0x1000ff6d /* deprecated alias for hpSystem */
+#define XK_User 0x1000ff6e /* deprecated alias for hpUser */
+#define XK_ClearLine 0x1000ff6f /* deprecated alias for hpClearLine */
+#define XK_InsertLine 0x1000ff70 /* deprecated alias for hpInsertLine */
+#define XK_DeleteLine 0x1000ff71 /* deprecated alias for hpDeleteLine */
+#define XK_InsertChar 0x1000ff72 /* deprecated alias for hpInsertChar */
+#define XK_DeleteChar 0x1000ff73 /* deprecated alias for hpDeleteChar */
+#define XK_BackTab 0x1000ff74 /* deprecated alias for hpBackTab */
+#define XK_KP_BackTab 0x1000ff75 /* deprecated alias for hpKP_BackTab */
+#define XK_Ext16bit_L 0x1000ff76 /* deprecated */
+#define XK_Ext16bit_R 0x1000ff77 /* deprecated */
+#define XK_mute_acute 0x100000a8 /* deprecated alias for hpmute_acute */
+#define XK_mute_grave 0x100000a9 /* deprecated alias for hpmute_grave */
+#define XK_mute_asciicircum 0x100000aa /* deprecated alias for hpmute_asciicircum */
+#define XK_mute_diaeresis 0x100000ab /* deprecated alias for hpmute_diaeresis */
+#define XK_mute_asciitilde 0x100000ac /* deprecated alias for hpmute_asciitilde */
+#define XK_lira 0x100000af /* deprecated alias for hplira */
+#define XK_guilder 0x100000be /* deprecated alias for hpguilder */
#ifndef XK_Ydiaeresis
-#define XK_Ydiaeresis 0x100000ee
+#define XK_Ydiaeresis 0x100000ee /* deprecated */
#endif
-#define XK_IO 0x100000ee
-#define XK_longminus 0x100000f6
-#define XK_block 0x100000fc
+#define XK_IO 0x100000ee /* deprecated alias for hpYdiaeresis */
+#define XK_longminus 0x100000f6 /* deprecated alias for hplongminus */
+#define XK_block 0x100000fc /* deprecated alias for hpblock */
#endif /* _HPKEYSYM_H */
diff --git a/proto/xorgproto/include/X11/Sunkeysym.h b/proto/xorgproto/include/X11/Sunkeysym.h
index 149740b92..35987afc5 100644
--- a/proto/xorgproto/include/X11/Sunkeysym.h
+++ b/proto/xorgproto/include/X11/Sunkeysym.h
@@ -50,57 +50,57 @@ in this Software without prior written authorization from The Open Group.
* Floating Accent
*/
-#define SunXK_FA_Grave 0x1005FF00
-#define SunXK_FA_Circum 0x1005FF01
-#define SunXK_FA_Tilde 0x1005FF02
-#define SunXK_FA_Acute 0x1005FF03
-#define SunXK_FA_Diaeresis 0x1005FF04
-#define SunXK_FA_Cedilla 0x1005FF05
+#define SunXK_FA_Grave 0x1005ff00
+#define SunXK_FA_Circum 0x1005ff01
+#define SunXK_FA_Tilde 0x1005ff02
+#define SunXK_FA_Acute 0x1005ff03
+#define SunXK_FA_Diaeresis 0x1005ff04
+#define SunXK_FA_Cedilla 0x1005ff05
/*
* Miscellaneous Functions
*/
-#define SunXK_F36 0x1005FF10 /* Labeled F11 */
-#define SunXK_F37 0x1005FF11 /* Labeled F12 */
+#define SunXK_F36 0x1005ff10 /* Labeled F11 */
+#define SunXK_F37 0x1005ff11 /* Labeled F12 */
-#define SunXK_Sys_Req 0x1005FF60
-#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
+#define SunXK_Sys_Req 0x1005ff60
+#define SunXK_Print_Screen 0x0000ff61 /* Same as XK_Print */
/*
* International & Multi-Key Character Composition
*/
-#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
-#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
+#define SunXK_Compose 0x0000ff20 /* Same as XK_Multi_key */
+#define SunXK_AltGraph 0x0000ff7e /* Same as XK_Mode_switch */
/*
* Cursor Control
*/
-#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
-#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
+#define SunXK_PageUp 0x0000ff55 /* Same as XK_Prior */
+#define SunXK_PageDown 0x0000ff56 /* Same as XK_Next */
/*
* Open Look Functions
*/
-#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
-#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
-#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
-#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
-#define SunXK_Props 0x1005FF70
-#define SunXK_Front 0x1005FF71
-#define SunXK_Copy 0x1005FF72
-#define SunXK_Open 0x1005FF73
-#define SunXK_Paste 0x1005FF74
-#define SunXK_Cut 0x1005FF75
-
-#define SunXK_PowerSwitch 0x1005FF76
-#define SunXK_AudioLowerVolume 0x1005FF77
-#define SunXK_AudioMute 0x1005FF78
-#define SunXK_AudioRaiseVolume 0x1005FF79
-#define SunXK_VideoDegauss 0x1005FF7A
-#define SunXK_VideoLowerBrightness 0x1005FF7B
-#define SunXK_VideoRaiseBrightness 0x1005FF7C
-#define SunXK_PowerSwitchShift 0x1005FF7D
+#define SunXK_Undo 0x0000ff65 /* Same as XK_Undo */
+#define SunXK_Again 0x0000ff66 /* Same as XK_Redo */
+#define SunXK_Find 0x0000ff68 /* Same as XK_Find */
+#define SunXK_Stop 0x0000ff69 /* Same as XK_Cancel */
+#define SunXK_Props 0x1005ff70
+#define SunXK_Front 0x1005ff71
+#define SunXK_Copy 0x1005ff72
+#define SunXK_Open 0x1005ff73
+#define SunXK_Paste 0x1005ff74
+#define SunXK_Cut 0x1005ff75
+
+#define SunXK_PowerSwitch 0x1005ff76
+#define SunXK_AudioLowerVolume 0x1005ff77
+#define SunXK_AudioMute 0x1005ff78
+#define SunXK_AudioRaiseVolume 0x1005ff79
+#define SunXK_VideoDegauss 0x1005ff7a
+#define SunXK_VideoLowerBrightness 0x1005ff7b
+#define SunXK_VideoRaiseBrightness 0x1005ff7c
+#define SunXK_PowerSwitchShift 0x1005ff7d
diff --git a/proto/xorgproto/include/X11/XF86keysym.h b/proto/xorgproto/include/X11/XF86keysym.h
index e8a9fb8cb..7b248fa46 100644
--- a/proto/xorgproto/include/X11/XF86keysym.h
+++ b/proto/xorgproto/include/X11/XF86keysym.h
@@ -1,7 +1,7 @@
/*
* XFree86 vendor specific keysyms.
*
- * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ * The XFree86 keysym range is 0x10080001 - 0x1008ffff.
*
* The XF86 set of keysyms is a catch-all set of defines for keysyms found
* on various multimedia keyboards. Originally specific to XFree86 they have
@@ -22,216 +22,216 @@
* functionality.
*/
-#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
+#define XF86XK_ModeLock 0x1008ff01 /* Mode Switch Lock */
/* Backlight controls. */
-#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
-#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
-#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
-#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
-#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
-#define XF86XK_MonBrightnessCycle 0x1008FF07 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessUp 0x1008ff02 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessDown 0x1008ff03 /* Monitor/panel brightness */
+#define XF86XK_KbdLightOnOff 0x1008ff04 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessUp 0x1008ff05 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessDown 0x1008ff06 /* Keyboards may be lit */
+#define XF86XK_MonBrightnessCycle 0x1008ff07 /* Monitor/panel brightness */
/*
* Keys found on some "Internet" keyboards.
*/
-#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
-#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
-#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
-#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
-#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
-#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
-#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
-#define XF86XK_AudioNext 0x1008FF17 /* Next track */
-#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
-#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
-#define XF86XK_Start 0x1008FF1A /* Start application */
-#define XF86XK_Search 0x1008FF1B /* Search */
-#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
+#define XF86XK_Standby 0x1008ff10 /* System into standby mode */
+#define XF86XK_AudioLowerVolume 0x1008ff11 /* Volume control down */
+#define XF86XK_AudioMute 0x1008ff12 /* Mute sound from the system */
+#define XF86XK_AudioRaiseVolume 0x1008ff13 /* Volume control up */
+#define XF86XK_AudioPlay 0x1008ff14 /* Start playing of audio > */
+#define XF86XK_AudioStop 0x1008ff15 /* Stop playing audio */
+#define XF86XK_AudioPrev 0x1008ff16 /* Previous track */
+#define XF86XK_AudioNext 0x1008ff17 /* Next track */
+#define XF86XK_HomePage 0x1008ff18 /* Display user's home page */
+#define XF86XK_Mail 0x1008ff19 /* Invoke user's mail program */
+#define XF86XK_Start 0x1008ff1a /* Start application */
+#define XF86XK_Search 0x1008ff1b /* Search */
+#define XF86XK_AudioRecord 0x1008ff1c /* Record audio application */
/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
-#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
-#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
-#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
-#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
-#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
-#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
-#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
-#define XF86XK_RockerDown 0x1008FF24 /* and down */
-#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
+#define XF86XK_Calculator 0x1008ff1d /* Invoke calculator program */
+#define XF86XK_Memo 0x1008ff1e /* Invoke Memo taking program */
+#define XF86XK_ToDoList 0x1008ff1f /* Invoke To Do List program */
+#define XF86XK_Calendar 0x1008ff20 /* Invoke Calendar program */
+#define XF86XK_PowerDown 0x1008ff21 /* Deep sleep the system */
+#define XF86XK_ContrastAdjust 0x1008ff22 /* Adjust screen contrast */
+#define XF86XK_RockerUp 0x1008ff23 /* Rocker switches exist up */
+#define XF86XK_RockerDown 0x1008ff24 /* and down */
+#define XF86XK_RockerEnter 0x1008ff25 /* and let you press them */
/* Some more "Internet" keyboard symbols */
-#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
-#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
-#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
-#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
-#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
-#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
-#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
-#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
-#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
-#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
-#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
-#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
-#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
-#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
-#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
-#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
-#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
-#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
-#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
-#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
-#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
-#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
-#define XF86XK_Finance 0x1008FF3C /* Display financial site */
-#define XF86XK_Community 0x1008FF3D /* Display user's community */
-#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
-#define XF86XK_BackForward 0x1008FF3F /* ??? */
-#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
-#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
-#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
-#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
-#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
-#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
-#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
-#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
-#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
-#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
-#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
-#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
-#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
-#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
-#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
-#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
+#define XF86XK_Back 0x1008ff26 /* Like back on a browser */
+#define XF86XK_Forward 0x1008ff27 /* Like forward on a browser */
+#define XF86XK_Stop 0x1008ff28 /* Stop current operation */
+#define XF86XK_Refresh 0x1008ff29 /* Refresh the page */
+#define XF86XK_PowerOff 0x1008ff2a /* Power off system entirely */
+#define XF86XK_WakeUp 0x1008ff2b /* Wake up system from sleep */
+#define XF86XK_Eject 0x1008ff2c /* Eject device (e.g. DVD) */
+#define XF86XK_ScreenSaver 0x1008ff2d /* Invoke screensaver */
+#define XF86XK_WWW 0x1008ff2e /* Invoke web browser */
+#define XF86XK_Sleep 0x1008ff2f /* Put system to sleep */
+#define XF86XK_Favorites 0x1008ff30 /* Show favorite locations */
+#define XF86XK_AudioPause 0x1008ff31 /* Pause audio playing */
+#define XF86XK_AudioMedia 0x1008ff32 /* Launch media collection app */
+#define XF86XK_MyComputer 0x1008ff33 /* Display "My Computer" window */
+#define XF86XK_VendorHome 0x1008ff34 /* Display vendor home web site */
+#define XF86XK_LightBulb 0x1008ff35 /* Light bulb keys exist */
+#define XF86XK_Shop 0x1008ff36 /* Display shopping web site */
+#define XF86XK_History 0x1008ff37 /* Show history of web surfing */
+#define XF86XK_OpenURL 0x1008ff38 /* Open selected URL */
+#define XF86XK_AddFavorite 0x1008ff39 /* Add URL to favorites list */
+#define XF86XK_HotLinks 0x1008ff3a /* Show "hot" links */
+#define XF86XK_BrightnessAdjust 0x1008ff3b /* Invoke brightness adj. UI */
+#define XF86XK_Finance 0x1008ff3c /* Display financial site */
+#define XF86XK_Community 0x1008ff3d /* Display user's community */
+#define XF86XK_AudioRewind 0x1008ff3e /* "rewind" audio track */
+#define XF86XK_BackForward 0x1008ff3f /* ??? */
+#define XF86XK_Launch0 0x1008ff40 /* Launch Application */
+#define XF86XK_Launch1 0x1008ff41 /* Launch Application */
+#define XF86XK_Launch2 0x1008ff42 /* Launch Application */
+#define XF86XK_Launch3 0x1008ff43 /* Launch Application */
+#define XF86XK_Launch4 0x1008ff44 /* Launch Application */
+#define XF86XK_Launch5 0x1008ff45 /* Launch Application */
+#define XF86XK_Launch6 0x1008ff46 /* Launch Application */
+#define XF86XK_Launch7 0x1008ff47 /* Launch Application */
+#define XF86XK_Launch8 0x1008ff48 /* Launch Application */
+#define XF86XK_Launch9 0x1008ff49 /* Launch Application */
+#define XF86XK_LaunchA 0x1008ff4a /* Launch Application */
+#define XF86XK_LaunchB 0x1008ff4b /* Launch Application */
+#define XF86XK_LaunchC 0x1008ff4c /* Launch Application */
+#define XF86XK_LaunchD 0x1008ff4d /* Launch Application */
+#define XF86XK_LaunchE 0x1008ff4e /* Launch Application */
+#define XF86XK_LaunchF 0x1008ff4f /* Launch Application */
-#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
-#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
-#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
-#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
-#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
-#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
-#define XF86XK_Close 0x1008FF56 /* Close window */
-#define XF86XK_Copy 0x1008FF57 /* Copy selection */
-#define XF86XK_Cut 0x1008FF58 /* Cut selection */
-#define XF86XK_Display 0x1008FF59 /* Output switch key */
-#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
-#define XF86XK_Documents 0x1008FF5B /* Open documents window */
-#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
-#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
-#define XF86XK_Game 0x1008FF5E /* Launch game */
-#define XF86XK_Go 0x1008FF5F /* Go to URL */
-#define XF86XK_iTouch 0x1008FF60 /* Logitech iTouch- don't use */
-#define XF86XK_LogOff 0x1008FF61 /* Log off system */
-#define XF86XK_Market 0x1008FF62 /* ?? */
-#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
-#define XF86XK_MenuKB 0x1008FF65 /* distinguish keyboard from PB */
-#define XF86XK_MenuPB 0x1008FF66 /* distinguish PB from keyboard */
-#define XF86XK_MySites 0x1008FF67 /* Favourites */
-#define XF86XK_New 0x1008FF68 /* New (folder, document... */
-#define XF86XK_News 0x1008FF69 /* News */
-#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
-#define XF86XK_Open 0x1008FF6B /* Open */
-#define XF86XK_Option 0x1008FF6C /* ?? */
-#define XF86XK_Paste 0x1008FF6D /* Paste */
-#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
-#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
-#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
-#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
-#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
-#define XF86XK_RotationPB 0x1008FF75 /* don't use */
-#define XF86XK_RotationKB 0x1008FF76 /* don't use */
-#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
-#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
-#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
-#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
-#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
-#define XF86XK_Spell 0x1008FF7C /* Spell checker */
-#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
-#define XF86XK_Support 0x1008FF7E /* Get support (??) */
-#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
-#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
-#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
-#define XF86XK_Travel 0x1008FF82 /* ?? */
-#define XF86XK_UserPB 0x1008FF84 /* ?? */
-#define XF86XK_User1KB 0x1008FF85 /* ?? */
-#define XF86XK_User2KB 0x1008FF86 /* ?? */
-#define XF86XK_Video 0x1008FF87 /* Launch video player */
-#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
-#define XF86XK_Word 0x1008FF89 /* Launch word processor */
-#define XF86XK_Xfer 0x1008FF8A
-#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
-#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
+#define XF86XK_ApplicationLeft 0x1008ff50 /* switch to application, left */
+#define XF86XK_ApplicationRight 0x1008ff51 /* switch to application, right*/
+#define XF86XK_Book 0x1008ff52 /* Launch bookreader */
+#define XF86XK_CD 0x1008ff53 /* Launch CD/DVD player */
+#define XF86XK_Calculater 0x1008ff54 /* Launch Calculater */
+#define XF86XK_Clear 0x1008ff55 /* Clear window, screen */
+#define XF86XK_Close 0x1008ff56 /* Close window */
+#define XF86XK_Copy 0x1008ff57 /* Copy selection */
+#define XF86XK_Cut 0x1008ff58 /* Cut selection */
+#define XF86XK_Display 0x1008ff59 /* Output switch key */
+#define XF86XK_DOS 0x1008ff5a /* Launch DOS (emulation) */
+#define XF86XK_Documents 0x1008ff5b /* Open documents window */
+#define XF86XK_Excel 0x1008ff5c /* Launch spread sheet */
+#define XF86XK_Explorer 0x1008ff5d /* Launch file explorer */
+#define XF86XK_Game 0x1008ff5e /* Launch game */
+#define XF86XK_Go 0x1008ff5f /* Go to URL */
+#define XF86XK_iTouch 0x1008ff60 /* Logitech iTouch- don't use */
+#define XF86XK_LogOff 0x1008ff61 /* Log off system */
+#define XF86XK_Market 0x1008ff62 /* ?? */
+#define XF86XK_Meeting 0x1008ff63 /* enter meeting in calendar */
+#define XF86XK_MenuKB 0x1008ff65 /* distinguish keyboard from PB */
+#define XF86XK_MenuPB 0x1008ff66 /* distinguish PB from keyboard */
+#define XF86XK_MySites 0x1008ff67 /* Favourites */
+#define XF86XK_New 0x1008ff68 /* New (folder, document... */
+#define XF86XK_News 0x1008ff69 /* News */
+#define XF86XK_OfficeHome 0x1008ff6a /* Office home (old Staroffice)*/
+#define XF86XK_Open 0x1008ff6b /* Open */
+#define XF86XK_Option 0x1008ff6c /* ?? */
+#define XF86XK_Paste 0x1008ff6d /* Paste */
+#define XF86XK_Phone 0x1008ff6e /* Launch phone; dial number */
+#define XF86XK_Q 0x1008ff70 /* Compaq's Q - don't use */
+#define XF86XK_Reply 0x1008ff72 /* Reply e.g., mail */
+#define XF86XK_Reload 0x1008ff73 /* Reload web page, file, etc. */
+#define XF86XK_RotateWindows 0x1008ff74 /* Rotate windows e.g. xrandr */
+#define XF86XK_RotationPB 0x1008ff75 /* don't use */
+#define XF86XK_RotationKB 0x1008ff76 /* don't use */
+#define XF86XK_Save 0x1008ff77 /* Save (file, document, state */
+#define XF86XK_ScrollUp 0x1008ff78 /* Scroll window/contents up */
+#define XF86XK_ScrollDown 0x1008ff79 /* Scrool window/contentd down */
+#define XF86XK_ScrollClick 0x1008ff7a /* Use XKB mousekeys instead */
+#define XF86XK_Send 0x1008ff7b /* Send mail, file, object */
+#define XF86XK_Spell 0x1008ff7c /* Spell checker */
+#define XF86XK_SplitScreen 0x1008ff7d /* Split window or screen */
+#define XF86XK_Support 0x1008ff7e /* Get support (??) */
+#define XF86XK_TaskPane 0x1008ff7f /* Show tasks */
+#define XF86XK_Terminal 0x1008ff80 /* Launch terminal emulator */
+#define XF86XK_Tools 0x1008ff81 /* toolbox of desktop/app. */
+#define XF86XK_Travel 0x1008ff82 /* ?? */
+#define XF86XK_UserPB 0x1008ff84 /* ?? */
+#define XF86XK_User1KB 0x1008ff85 /* ?? */
+#define XF86XK_User2KB 0x1008ff86 /* ?? */
+#define XF86XK_Video 0x1008ff87 /* Launch video player */
+#define XF86XK_WheelButton 0x1008ff88 /* button from a mouse wheel */
+#define XF86XK_Word 0x1008ff89 /* Launch word processor */
+#define XF86XK_Xfer 0x1008ff8a
+#define XF86XK_ZoomIn 0x1008ff8b /* zoom in view, map, etc. */
+#define XF86XK_ZoomOut 0x1008ff8c /* zoom out view, map, etc. */
-#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
-#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
-#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
-#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
-#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
-#define XF86XK_Music 0x1008FF92 /* Launch music application */
+#define XF86XK_Away 0x1008ff8d /* mark yourself as away */
+#define XF86XK_Messenger 0x1008ff8e /* as in instant messaging */
+#define XF86XK_WebCam 0x1008ff8f /* Launch web camera app. */
+#define XF86XK_MailForward 0x1008ff90 /* Forward in mail */
+#define XF86XK_Pictures 0x1008ff91 /* Show pictures */
+#define XF86XK_Music 0x1008ff92 /* Launch music application */
-#define XF86XK_Battery 0x1008FF93 /* Display battery information */
-#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
-#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
-#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
+#define XF86XK_Battery 0x1008ff93 /* Display battery information */
+#define XF86XK_Bluetooth 0x1008ff94 /* Enable/disable Bluetooth */
+#define XF86XK_WLAN 0x1008ff95 /* Enable/disable WLAN */
+#define XF86XK_UWB 0x1008ff96 /* Enable/disable UWB */
-#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
-#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
-#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
-#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
-#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
-#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
-#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
-#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
-#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
-#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
-#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
-#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
+#define XF86XK_AudioForward 0x1008ff97 /* fast-forward audio track */
+#define XF86XK_AudioRepeat 0x1008ff98 /* toggle repeat mode */
+#define XF86XK_AudioRandomPlay 0x1008ff99 /* toggle shuffle mode */
+#define XF86XK_Subtitle 0x1008ff9a /* cycle through subtitle */
+#define XF86XK_AudioCycleTrack 0x1008ff9b /* cycle through audio tracks */
+#define XF86XK_CycleAngle 0x1008ff9c /* cycle through angles */
+#define XF86XK_FrameBack 0x1008ff9d /* video: go one frame back */
+#define XF86XK_FrameForward 0x1008ff9e /* video: go one frame forward */
+#define XF86XK_Time 0x1008ff9f /* display, or shows an entry for time seeking */
+#define XF86XK_Select 0x1008ffa0 /* Select button on joypads and remotes */
+#define XF86XK_View 0x1008ffa1 /* Show a view options/properties */
+#define XF86XK_TopMenu 0x1008ffa2 /* Go to a top-level menu in a video */
-#define XF86XK_Red 0x1008FFA3 /* Red button */
-#define XF86XK_Green 0x1008FFA4 /* Green button */
-#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
-#define XF86XK_Blue 0x1008FFA6 /* Blue button */
+#define XF86XK_Red 0x1008ffa3 /* Red button */
+#define XF86XK_Green 0x1008ffa4 /* Green button */
+#define XF86XK_Yellow 0x1008ffa5 /* Yellow button */
+#define XF86XK_Blue 0x1008ffa6 /* Blue button */
-#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
-#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
-#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
-#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */
-#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */
+#define XF86XK_Suspend 0x1008ffa7 /* Sleep to RAM */
+#define XF86XK_Hibernate 0x1008ffa8 /* Sleep to disk */
+#define XF86XK_TouchpadToggle 0x1008ffa9 /* Toggle between touchpad/trackstick */
+#define XF86XK_TouchpadOn 0x1008ffb0 /* The touchpad got switched on */
+#define XF86XK_TouchpadOff 0x1008ffb1 /* The touchpad got switched off */
-#define XF86XK_AudioMicMute 0x1008FFB2 /* Mute the Mic from the system */
+#define XF86XK_AudioMicMute 0x1008ffb2 /* Mute the Mic from the system */
-#define XF86XK_Keyboard 0x1008FFB3 /* User defined keyboard related action */
+#define XF86XK_Keyboard 0x1008ffb3 /* User defined keyboard related action */
-#define XF86XK_WWAN 0x1008FFB4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
-#define XF86XK_RFKill 0x1008FFB5 /* Toggle radios on/off */
+#define XF86XK_WWAN 0x1008ffb4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
+#define XF86XK_RFKill 0x1008ffb5 /* Toggle radios on/off */
-#define XF86XK_AudioPreset 0x1008FFB6 /* Select equalizer preset, e.g. theatre-mode */
+#define XF86XK_AudioPreset 0x1008ffb6 /* Select equalizer preset, e.g. theatre-mode */
-#define XF86XK_RotationLockToggle 0x1008FFB7 /* Toggle screen rotation lock on/off */
+#define XF86XK_RotationLockToggle 0x1008ffb7 /* Toggle screen rotation lock on/off */
-#define XF86XK_FullScreen 0x1008FFB8 /* Toggle fullscreen */
+#define XF86XK_FullScreen 0x1008ffb8 /* Toggle fullscreen */
/* Keys for special action keys (hot keys) */
/* Virtual terminals on some operating systems */
-#define XF86XK_Switch_VT_1 0x1008FE01
-#define XF86XK_Switch_VT_2 0x1008FE02
-#define XF86XK_Switch_VT_3 0x1008FE03
-#define XF86XK_Switch_VT_4 0x1008FE04
-#define XF86XK_Switch_VT_5 0x1008FE05
-#define XF86XK_Switch_VT_6 0x1008FE06
-#define XF86XK_Switch_VT_7 0x1008FE07
-#define XF86XK_Switch_VT_8 0x1008FE08
-#define XF86XK_Switch_VT_9 0x1008FE09
-#define XF86XK_Switch_VT_10 0x1008FE0A
-#define XF86XK_Switch_VT_11 0x1008FE0B
-#define XF86XK_Switch_VT_12 0x1008FE0C
+#define XF86XK_Switch_VT_1 0x1008fe01
+#define XF86XK_Switch_VT_2 0x1008fe02
+#define XF86XK_Switch_VT_3 0x1008fe03
+#define XF86XK_Switch_VT_4 0x1008fe04
+#define XF86XK_Switch_VT_5 0x1008fe05
+#define XF86XK_Switch_VT_6 0x1008fe06
+#define XF86XK_Switch_VT_7 0x1008fe07
+#define XF86XK_Switch_VT_8 0x1008fe08
+#define XF86XK_Switch_VT_9 0x1008fe09
+#define XF86XK_Switch_VT_10 0x1008fe0a
+#define XF86XK_Switch_VT_11 0x1008fe0b
+#define XF86XK_Switch_VT_12 0x1008fe0c
-#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
-#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
-#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
-#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
-#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */
-#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */
+#define XF86XK_Ungrab 0x1008fe20 /* force ungrab */
+#define XF86XK_ClearGrab 0x1008fe21 /* kill application with grab */
+#define XF86XK_Next_VMode 0x1008fe22 /* next video mode available */
+#define XF86XK_Prev_VMode 0x1008fe23 /* prev. video mode available */
+#define XF86XK_LogWindowTree 0x1008fe24 /* print window tree to log */
+#define XF86XK_LogGrabInfo 0x1008fe25 /* print all active grabs to log */
/*
@@ -271,199 +271,217 @@
*
*/
#define _EVDEVK(_v) (0x10081000 + _v)
-/* Use: XF86XK_Eject _EVDEVK(0x0A2) KEY_EJECTCLOSECD */
-/* Use: XF86XK_New _EVDEVK(0x0B5) v2.6.14 KEY_NEW */
-/* Use: XK_Redo _EVDEVK(0x0B6) v2.6.14 KEY_REDO */
+/* Use: XF86XK_Eject _EVDEVK(0x0a2) KEY_EJECTCLOSECD */
+/* Use: XF86XK_New _EVDEVK(0x0b5) v2.6.14 KEY_NEW */
+/* Use: XK_Redo _EVDEVK(0x0b6) v2.6.14 KEY_REDO */
/* KEY_DASHBOARD has been mapped to LaunchB in xkeyboard-config since 2011 */
-/* Use: XF86XK_LaunchB _EVDEVK(0x0CC) v2.6.28 KEY_DASHBOARD */
-/* Use: XF86XK_Display _EVDEVK(0x0E3) v2.6.12 KEY_SWITCHVIDEOMODE */
-/* Use: XF86XK_KbdLightOnOff _EVDEVK(0x0E4) v2.6.12 KEY_KBDILLUMTOGGLE */
-/* Use: XF86XK_KbdBrightnessDown _EVDEVK(0x0E5) v2.6.12 KEY_KBDILLUMDOWN */
-/* Use: XF86XK_KbdBrightnessUp _EVDEVK(0x0E6) v2.6.12 KEY_KBDILLUMUP */
-/* Use: XF86XK_Send _EVDEVK(0x0E7) v2.6.14 KEY_SEND */
-/* Use: XF86XK_Reply _EVDEVK(0x0E8) v2.6.14 KEY_REPLY */
-/* Use: XF86XK_MailForward _EVDEVK(0x0E9) v2.6.14 KEY_FORWARDMAIL */
-/* Use: XF86XK_Save _EVDEVK(0x0EA) v2.6.14 KEY_SAVE */
-/* Use: XF86XK_Documents _EVDEVK(0x0EB) v2.6.14 KEY_DOCUMENTS */
-/* Use: XF86XK_Battery _EVDEVK(0x0EC) v2.6.17 KEY_BATTERY */
-/* Use: XF86XK_Bluetooth _EVDEVK(0x0ED) v2.6.19 KEY_BLUETOOTH */
-/* Use: XF86XK_WLAN _EVDEVK(0x0EE) v2.6.19 KEY_WLAN */
-/* Use: XF86XK_UWB _EVDEVK(0x0EF) v2.6.24 KEY_UWB */
-/* Use: XF86XK_Next_VMode _EVDEVK(0x0F1) v2.6.23 KEY_VIDEO_NEXT */
-/* Use: XF86XK_Prev_VMode _EVDEVK(0x0F2) v2.6.23 KEY_VIDEO_PREV */
-/* Use: XF86XK_MonBrightnessCycle _EVDEVK(0x0F3) v2.6.23 KEY_BRIGHTNESS_CYCLE */
-#define XF86XK_BrightnessAuto _EVDEVK(0x0F4) /* v3.16 KEY_BRIGHTNESS_AUTO */
-#define XF86XK_DisplayOff _EVDEVK(0x0F5) /* v2.6.23 KEY_DISPLAY_OFF */
-/* Use: XF86XK_WWAN _EVDEVK(0x0F6) v3.13 KEY_WWAN */
-/* Use: XF86XK_RFKill _EVDEVK(0x0F7) v2.6.33 KEY_RFKILL */
-/* Use: XF86XK_AudioMicMute _EVDEVK(0x0F8) v3.1 KEY_MICMUTE */
-#define XF86XK_Info _EVDEVK(0x166) /* KEY_INFO */
-/* Use: XF86XK_CycleAngle _EVDEVK(0x173) KEY_ANGLE */
-/* Use: XF86XK_FullScreen _EVDEVK(0x174) v5.1 KEY_FULL_SCREEN */
-#define XF86XK_AspectRatio _EVDEVK(0x177) /* v5.1 KEY_ASPECT_RATIO */
-#define XF86XK_DVD _EVDEVK(0x185) /* KEY_DVD */
-#define XF86XK_Audio _EVDEVK(0x188) /* KEY_AUDIO */
-/* Use: XF86XK_Video _EVDEVK(0x189) KEY_VIDEO */
-/* Use: XF86XK_Calendar _EVDEVK(0x18D) KEY_CALENDAR */
-#define XF86XK_ChannelUp _EVDEVK(0x192) /* KEY_CHANNELUP */
-#define XF86XK_ChannelDown _EVDEVK(0x193) /* KEY_CHANNELDOWN */
-/* Use: XF86XK_AudioRandomPlay _EVDEVK(0x19A) KEY_SHUFFLE */
-#define XF86XK_Break _EVDEVK(0x19B) /* KEY_BREAK */
-#define XF86XK_VideoPhone _EVDEVK(0x1A0) /* v2.6.20 KEY_VIDEOPHONE */
-/* Use: XF86XK_Game _EVDEVK(0x1A1) v2.6.20 KEY_GAMES */
-/* Use: XF86XK_ZoomIn _EVDEVK(0x1A2) v2.6.20 KEY_ZOOMIN */
-/* Use: XF86XK_ZoomOut _EVDEVK(0x1A3) v2.6.20 KEY_ZOOMOUT */
-#define XF86XK_ZoomReset _EVDEVK(0x1A4) /* v2.6.20 KEY_ZOOMRESET */
-/* Use: XF86XK_Word _EVDEVK(0x1A5) v2.6.20 KEY_WORDPROCESSOR */
-#define XF86XK_Editor _EVDEVK(0x1A6) /* v2.6.20 KEY_EDITOR */
-/* Use: XF86XK_Excel _EVDEVK(0x1A7) v2.6.20 KEY_SPREADSHEET */
-#define XF86XK_GraphicsEditor _EVDEVK(0x1A8) /* v2.6.20 KEY_GRAPHICSEDITOR */
-#define XF86XK_Presentation _EVDEVK(0x1A9) /* v2.6.20 KEY_PRESENTATION */
-#define XF86XK_Database _EVDEVK(0x1AA) /* v2.6.20 KEY_DATABASE */
-/* Use: XF86XK_News _EVDEVK(0x1AB) v2.6.20 KEY_NEWS */
-#define XF86XK_Voicemail _EVDEVK(0x1AC) /* v2.6.20 KEY_VOICEMAIL */
-#define XF86XK_Addressbook _EVDEVK(0x1AD) /* v2.6.20 KEY_ADDRESSBOOK */
-/* Use: XF86XK_Messenger _EVDEVK(0x1AE) v2.6.20 KEY_MESSENGER */
-#define XF86XK_DisplayToggle _EVDEVK(0x1AF) /* v2.6.20 KEY_DISPLAYTOGGLE */
-#define XF86XK_SpellCheck _EVDEVK(0x1B0) /* v2.6.24 KEY_SPELLCHECK */
-/* Use: XF86XK_LogOff _EVDEVK(0x1B1) v2.6.24 KEY_LOGOFF */
-/* Use: XK_dollar _EVDEVK(0x1B2) v2.6.24 KEY_DOLLAR */
-/* Use: XK_EuroSign _EVDEVK(0x1B3) v2.6.24 KEY_EURO */
-/* Use: XF86XK_FrameBack _EVDEVK(0x1B4) v2.6.24 KEY_FRAMEBACK */
-/* Use: XF86XK_FrameForward _EVDEVK(0x1B5) v2.6.24 KEY_FRAMEFORWARD */
-#define XF86XK_ContextMenu _EVDEVK(0x1B6) /* v2.6.24 KEY_CONTEXT_MENU */
-#define XF86XK_MediaRepeat _EVDEVK(0x1B7) /* v2.6.26 KEY_MEDIA_REPEAT */
-#define XF86XK_10ChannelsUp _EVDEVK(0x1B8) /* v2.6.38 KEY_10CHANNELSUP */
-#define XF86XK_10ChannelsDown _EVDEVK(0x1B9) /* v2.6.38 KEY_10CHANNELSDOWN */
-#define XF86XK_Images _EVDEVK(0x1BA) /* v2.6.39 KEY_IMAGES */
-#define XF86XK_NotificationCenter _EVDEVK(0x1BC) /* v5.10 KEY_NOTIFICATION_CENTER */
-#define XF86XK_PickupPhone _EVDEVK(0x1BD) /* v5.10 KEY_PICKUP_PHONE */
-#define XF86XK_HangupPhone _EVDEVK(0x1BE) /* v5.10 KEY_HANGUP_PHONE */
-#define XF86XK_Fn _EVDEVK(0x1D0) /* KEY_FN */
-#define XF86XK_Fn_Esc _EVDEVK(0x1D1) /* KEY_FN_ESC */
-#define XF86XK_FnRightShift _EVDEVK(0x1E5) /* v5.10 KEY_FN_RIGHT_SHIFT */
-/* Use: XK_braille_dot_1 _EVDEVK(0x1F1) v2.6.17 KEY_BRL_DOT1 */
-/* Use: XK_braille_dot_2 _EVDEVK(0x1F2) v2.6.17 KEY_BRL_DOT2 */
-/* Use: XK_braille_dot_3 _EVDEVK(0x1F3) v2.6.17 KEY_BRL_DOT3 */
-/* Use: XK_braille_dot_4 _EVDEVK(0x1F4) v2.6.17 KEY_BRL_DOT4 */
-/* Use: XK_braille_dot_5 _EVDEVK(0x1F5) v2.6.17 KEY_BRL_DOT5 */
-/* Use: XK_braille_dot_6 _EVDEVK(0x1F6) v2.6.17 KEY_BRL_DOT6 */
-/* Use: XK_braille_dot_7 _EVDEVK(0x1F7) v2.6.17 KEY_BRL_DOT7 */
-/* Use: XK_braille_dot_8 _EVDEVK(0x1F8) v2.6.17 KEY_BRL_DOT8 */
-/* Use: XK_braille_dot_9 _EVDEVK(0x1F9) v2.6.23 KEY_BRL_DOT9 */
-/* Use: XK_braille_dot_1 _EVDEVK(0x1FA) v2.6.23 KEY_BRL_DOT10 */
-#define XF86XK_Numeric0 _EVDEVK(0x200) /* v2.6.28 KEY_NUMERIC_0 */
-#define XF86XK_Numeric1 _EVDEVK(0x201) /* v2.6.28 KEY_NUMERIC_1 */
-#define XF86XK_Numeric2 _EVDEVK(0x202) /* v2.6.28 KEY_NUMERIC_2 */
-#define XF86XK_Numeric3 _EVDEVK(0x203) /* v2.6.28 KEY_NUMERIC_3 */
-#define XF86XK_Numeric4 _EVDEVK(0x204) /* v2.6.28 KEY_NUMERIC_4 */
-#define XF86XK_Numeric5 _EVDEVK(0x205) /* v2.6.28 KEY_NUMERIC_5 */
-#define XF86XK_Numeric6 _EVDEVK(0x206) /* v2.6.28 KEY_NUMERIC_6 */
-#define XF86XK_Numeric7 _EVDEVK(0x207) /* v2.6.28 KEY_NUMERIC_7 */
-#define XF86XK_Numeric8 _EVDEVK(0x208) /* v2.6.28 KEY_NUMERIC_8 */
-#define XF86XK_Numeric9 _EVDEVK(0x209) /* v2.6.28 KEY_NUMERIC_9 */
-#define XF86XK_NumericStar _EVDEVK(0x20A) /* v2.6.28 KEY_NUMERIC_STAR */
-#define XF86XK_NumericPound _EVDEVK(0x20B) /* v2.6.28 KEY_NUMERIC_POUND */
-#define XF86XK_NumericA _EVDEVK(0x20C) /* v4.1 KEY_NUMERIC_A */
-#define XF86XK_NumericB _EVDEVK(0x20D) /* v4.1 KEY_NUMERIC_B */
-#define XF86XK_NumericC _EVDEVK(0x20E) /* v4.1 KEY_NUMERIC_C */
-#define XF86XK_NumericD _EVDEVK(0x20F) /* v4.1 KEY_NUMERIC_D */
-#define XF86XK_CameraFocus _EVDEVK(0x210) /* v2.6.33 KEY_CAMERA_FOCUS */
-#define XF86XK_WPSButton _EVDEVK(0x211) /* v2.6.34 KEY_WPS_BUTTON */
-/* Use: XF86XK_TouchpadToggle _EVDEVK(0x212) v2.6.37 KEY_TOUCHPAD_TOGGLE */
-/* Use: XF86XK_TouchpadOn _EVDEVK(0x213) v2.6.37 KEY_TOUCHPAD_ON */
-/* Use: XF86XK_TouchpadOff _EVDEVK(0x214) v2.6.37 KEY_TOUCHPAD_OFF */
-#define XF86XK_CameraZoomIn _EVDEVK(0x215) /* v2.6.39 KEY_CAMERA_ZOOMIN */
-#define XF86XK_CameraZoomOut _EVDEVK(0x216) /* v2.6.39 KEY_CAMERA_ZOOMOUT */
-#define XF86XK_CameraUp _EVDEVK(0x217) /* v2.6.39 KEY_CAMERA_UP */
-#define XF86XK_CameraDown _EVDEVK(0x218) /* v2.6.39 KEY_CAMERA_DOWN */
-#define XF86XK_CameraLeft _EVDEVK(0x219) /* v2.6.39 KEY_CAMERA_LEFT */
-#define XF86XK_CameraRight _EVDEVK(0x21A) /* v2.6.39 KEY_CAMERA_RIGHT */
-#define XF86XK_AttendantOn _EVDEVK(0x21B) /* v3.10 KEY_ATTENDANT_ON */
-#define XF86XK_AttendantOff _EVDEVK(0x21C) /* v3.10 KEY_ATTENDANT_OFF */
-#define XF86XK_AttendantToggle _EVDEVK(0x21D) /* v3.10 KEY_ATTENDANT_TOGGLE */
-#define XF86XK_LightsToggle _EVDEVK(0x21E) /* v3.10 KEY_LIGHTS_TOGGLE */
-#define XF86XK_ALSToggle _EVDEVK(0x230) /* v3.13 KEY_ALS_TOGGLE */
-/* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE */
-#define XF86XK_Buttonconfig _EVDEVK(0x240) /* v3.16 KEY_BUTTONCONFIG */
-#define XF86XK_Taskmanager _EVDEVK(0x241) /* v3.16 KEY_TASKMANAGER */
-#define XF86XK_Journal _EVDEVK(0x242) /* v3.16 KEY_JOURNAL */
-#define XF86XK_ControlPanel _EVDEVK(0x243) /* v3.16 KEY_CONTROLPANEL */
-#define XF86XK_AppSelect _EVDEVK(0x244) /* v3.16 KEY_APPSELECT */
-#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
-#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
-#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
-/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
-#define XF86XK_EmojiPicker _EVDEVK(0x249) /* v5.13 KEY_EMOJI_PICKER */
-#define XF86XK_Dictate _EVDEVK(0x24A) /* v5.17 KEY_DICTATE */
-#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
-#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
-#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
-#define XF86XK_KbdInputAssistNext _EVDEVK(0x261) /* v3.18 KEY_KBDINPUTASSIST_NEXT */
-#define XF86XK_KbdInputAssistPrevgroup _EVDEVK(0x262) /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
-#define XF86XK_KbdInputAssistNextgroup _EVDEVK(0x263) /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
-#define XF86XK_KbdInputAssistAccept _EVDEVK(0x264) /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
-#define XF86XK_KbdInputAssistCancel _EVDEVK(0x265) /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
-#define XF86XK_RightUp _EVDEVK(0x266) /* v4.7 KEY_RIGHT_UP */
-#define XF86XK_RightDown _EVDEVK(0x267) /* v4.7 KEY_RIGHT_DOWN */
-#define XF86XK_LeftUp _EVDEVK(0x268) /* v4.7 KEY_LEFT_UP */
-#define XF86XK_LeftDown _EVDEVK(0x269) /* v4.7 KEY_LEFT_DOWN */
-#define XF86XK_RootMenu _EVDEVK(0x26A) /* v4.7 KEY_ROOT_MENU */
-#define XF86XK_MediaTopMenu _EVDEVK(0x26B) /* v4.7 KEY_MEDIA_TOP_MENU */
-#define XF86XK_Numeric11 _EVDEVK(0x26C) /* v4.7 KEY_NUMERIC_11 */
-#define XF86XK_Numeric12 _EVDEVK(0x26D) /* v4.7 KEY_NUMERIC_12 */
-#define XF86XK_AudioDesc _EVDEVK(0x26E) /* v4.7 KEY_AUDIO_DESC */
-#define XF86XK_3DMode _EVDEVK(0x26F) /* v4.7 KEY_3D_MODE */
-#define XF86XK_NextFavorite _EVDEVK(0x270) /* v4.7 KEY_NEXT_FAVORITE */
-#define XF86XK_StopRecord _EVDEVK(0x271) /* v4.7 KEY_STOP_RECORD */
-#define XF86XK_PauseRecord _EVDEVK(0x272) /* v4.7 KEY_PAUSE_RECORD */
-#define XF86XK_VOD _EVDEVK(0x273) /* v4.7 KEY_VOD */
-#define XF86XK_Unmute _EVDEVK(0x274) /* v4.7 KEY_UNMUTE */
-#define XF86XK_FastReverse _EVDEVK(0x275) /* v4.7 KEY_FASTREVERSE */
-#define XF86XK_SlowReverse _EVDEVK(0x276) /* v4.7 KEY_SLOWREVERSE */
-#define XF86XK_Data _EVDEVK(0x277) /* v4.7 KEY_DATA */
-#define XF86XK_OnScreenKeyboard _EVDEVK(0x278) /* v4.12 KEY_ONSCREEN_KEYBOARD */
-#define XF86XK_PrivacyScreenToggle _EVDEVK(0x279) /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
-#define XF86XK_SelectiveScreenshot _EVDEVK(0x27A) /* v5.6 KEY_SELECTIVE_SCREENSHOT */
-#define XF86XK_Macro1 _EVDEVK(0x290) /* v5.5 KEY_MACRO1 */
-#define XF86XK_Macro2 _EVDEVK(0x291) /* v5.5 KEY_MACRO2 */
-#define XF86XK_Macro3 _EVDEVK(0x292) /* v5.5 KEY_MACRO3 */
-#define XF86XK_Macro4 _EVDEVK(0x293) /* v5.5 KEY_MACRO4 */
-#define XF86XK_Macro5 _EVDEVK(0x294) /* v5.5 KEY_MACRO5 */
-#define XF86XK_Macro6 _EVDEVK(0x295) /* v5.5 KEY_MACRO6 */
-#define XF86XK_Macro7 _EVDEVK(0x296) /* v5.5 KEY_MACRO7 */
-#define XF86XK_Macro8 _EVDEVK(0x297) /* v5.5 KEY_MACRO8 */
-#define XF86XK_Macro9 _EVDEVK(0x298) /* v5.5 KEY_MACRO9 */
-#define XF86XK_Macro10 _EVDEVK(0x299) /* v5.5 KEY_MACRO10 */
-#define XF86XK_Macro11 _EVDEVK(0x29A) /* v5.5 KEY_MACRO11 */
-#define XF86XK_Macro12 _EVDEVK(0x29B) /* v5.5 KEY_MACRO12 */
-#define XF86XK_Macro13 _EVDEVK(0x29C) /* v5.5 KEY_MACRO13 */
-#define XF86XK_Macro14 _EVDEVK(0x29D) /* v5.5 KEY_MACRO14 */
-#define XF86XK_Macro15 _EVDEVK(0x29E) /* v5.5 KEY_MACRO15 */
-#define XF86XK_Macro16 _EVDEVK(0x29F) /* v5.5 KEY_MACRO16 */
-#define XF86XK_Macro17 _EVDEVK(0x2A0) /* v5.5 KEY_MACRO17 */
-#define XF86XK_Macro18 _EVDEVK(0x2A1) /* v5.5 KEY_MACRO18 */
-#define XF86XK_Macro19 _EVDEVK(0x2A2) /* v5.5 KEY_MACRO19 */
-#define XF86XK_Macro20 _EVDEVK(0x2A3) /* v5.5 KEY_MACRO20 */
-#define XF86XK_Macro21 _EVDEVK(0x2A4) /* v5.5 KEY_MACRO21 */
-#define XF86XK_Macro22 _EVDEVK(0x2A5) /* v5.5 KEY_MACRO22 */
-#define XF86XK_Macro23 _EVDEVK(0x2A6) /* v5.5 KEY_MACRO23 */
-#define XF86XK_Macro24 _EVDEVK(0x2A7) /* v5.5 KEY_MACRO24 */
-#define XF86XK_Macro25 _EVDEVK(0x2A8) /* v5.5 KEY_MACRO25 */
-#define XF86XK_Macro26 _EVDEVK(0x2A9) /* v5.5 KEY_MACRO26 */
-#define XF86XK_Macro27 _EVDEVK(0x2AA) /* v5.5 KEY_MACRO27 */
-#define XF86XK_Macro28 _EVDEVK(0x2AB) /* v5.5 KEY_MACRO28 */
-#define XF86XK_Macro29 _EVDEVK(0x2AC) /* v5.5 KEY_MACRO29 */
-#define XF86XK_Macro30 _EVDEVK(0x2AD) /* v5.5 KEY_MACRO30 */
-#define XF86XK_MacroRecordStart _EVDEVK(0x2B0) /* v5.5 KEY_MACRO_RECORD_START */
-#define XF86XK_MacroRecordStop _EVDEVK(0x2B1) /* v5.5 KEY_MACRO_RECORD_STOP */
-#define XF86XK_MacroPresetCycle _EVDEVK(0x2B2) /* v5.5 KEY_MACRO_PRESET_CYCLE */
-#define XF86XK_MacroPreset1 _EVDEVK(0x2B3) /* v5.5 KEY_MACRO_PRESET1 */
-#define XF86XK_MacroPreset2 _EVDEVK(0x2B4) /* v5.5 KEY_MACRO_PRESET2 */
-#define XF86XK_MacroPreset3 _EVDEVK(0x2B5) /* v5.5 KEY_MACRO_PRESET3 */
-#define XF86XK_KbdLcdMenu1 _EVDEVK(0x2B8) /* v5.5 KEY_KBD_LCD_MENU1 */
-#define XF86XK_KbdLcdMenu2 _EVDEVK(0x2B9) /* v5.5 KEY_KBD_LCD_MENU2 */
-#define XF86XK_KbdLcdMenu3 _EVDEVK(0x2BA) /* v5.5 KEY_KBD_LCD_MENU3 */
-#define XF86XK_KbdLcdMenu4 _EVDEVK(0x2BB) /* v5.5 KEY_KBD_LCD_MENU4 */
-#define XF86XK_KbdLcdMenu5 _EVDEVK(0x2BC) /* v5.5 KEY_KBD_LCD_MENU5 */
+/* Use: XF86XK_LaunchB _EVDEVK(0x0cc) v2.6.28 KEY_DASHBOARD */
+/* Use: XF86XK_Display _EVDEVK(0x0e3) v2.6.12 KEY_SWITCHVIDEOMODE */
+/* Use: XF86XK_KbdLightOnOff _EVDEVK(0x0e4) v2.6.12 KEY_KBDILLUMTOGGLE */
+/* Use: XF86XK_KbdBrightnessDown _EVDEVK(0x0e5) v2.6.12 KEY_KBDILLUMDOWN */
+/* Use: XF86XK_KbdBrightnessUp _EVDEVK(0x0e6) v2.6.12 KEY_KBDILLUMUP */
+/* Use: XF86XK_Send _EVDEVK(0x0e7) v2.6.14 KEY_SEND */
+/* Use: XF86XK_Reply _EVDEVK(0x0e8) v2.6.14 KEY_REPLY */
+/* Use: XF86XK_MailForward _EVDEVK(0x0e9) v2.6.14 KEY_FORWARDMAIL */
+/* Use: XF86XK_Save _EVDEVK(0x0ea) v2.6.14 KEY_SAVE */
+/* Use: XF86XK_Documents _EVDEVK(0x0eb) v2.6.14 KEY_DOCUMENTS */
+/* Use: XF86XK_Battery _EVDEVK(0x0ec) v2.6.17 KEY_BATTERY */
+/* Use: XF86XK_Bluetooth _EVDEVK(0x0ed) v2.6.19 KEY_BLUETOOTH */
+/* Use: XF86XK_WLAN _EVDEVK(0x0ee) v2.6.19 KEY_WLAN */
+/* Use: XF86XK_UWB _EVDEVK(0x0ef) v2.6.24 KEY_UWB */
+/* Use: XF86XK_Next_VMode _EVDEVK(0x0f1) v2.6.23 KEY_VIDEO_NEXT */
+/* Use: XF86XK_Prev_VMode _EVDEVK(0x0f2) v2.6.23 KEY_VIDEO_PREV */
+/* Use: XF86XK_MonBrightnessCycle _EVDEVK(0x0f3) v2.6.23 KEY_BRIGHTNESS_CYCLE */
+#define XF86XK_BrightnessAuto _EVDEVK(0x0f4) /* v3.16 KEY_BRIGHTNESS_AUTO */
+#define XF86XK_DisplayOff _EVDEVK(0x0f5) /* v2.6.23 KEY_DISPLAY_OFF */
+/* Use: XF86XK_WWAN _EVDEVK(0x0f6) v3.13 KEY_WWAN */
+/* Use: XF86XK_RFKill _EVDEVK(0x0f7) v2.6.33 KEY_RFKILL */
+/* Use: XF86XK_AudioMicMute _EVDEVK(0x0f8) v3.1 KEY_MICMUTE */
+#define XF86XK_Info _EVDEVK(0x166) /* KEY_INFO */
+/* Use: XF86XK_CycleAngle _EVDEVK(0x173) KEY_ANGLE */
+/* Use: XF86XK_FullScreen _EVDEVK(0x174) v5.1 KEY_FULL_SCREEN */
+#define XF86XK_AspectRatio _EVDEVK(0x177) /* v5.1 KEY_ASPECT_RATIO */
+#define XF86XK_DVD _EVDEVK(0x185) /* KEY_DVD */
+#define XF86XK_Audio _EVDEVK(0x188) /* KEY_AUDIO */
+/* Use: XF86XK_Video _EVDEVK(0x189) KEY_VIDEO */
+/* Use: XF86XK_Calendar _EVDEVK(0x18d) KEY_CALENDAR */
+#define XF86XK_ChannelUp _EVDEVK(0x192) /* KEY_CHANNELUP */
+#define XF86XK_ChannelDown _EVDEVK(0x193) /* KEY_CHANNELDOWN */
+/* Use: XF86XK_AudioRandomPlay _EVDEVK(0x19a) KEY_SHUFFLE */
+#define XF86XK_Break _EVDEVK(0x19b) /* KEY_BREAK */
+#define XF86XK_VideoPhone _EVDEVK(0x1a0) /* v2.6.20 KEY_VIDEOPHONE */
+/* Use: XF86XK_Game _EVDEVK(0x1a1) v2.6.20 KEY_GAMES */
+/* Use: XF86XK_ZoomIn _EVDEVK(0x1a2) v2.6.20 KEY_ZOOMIN */
+/* Use: XF86XK_ZoomOut _EVDEVK(0x1a3) v2.6.20 KEY_ZOOMOUT */
+#define XF86XK_ZoomReset _EVDEVK(0x1a4) /* v2.6.20 KEY_ZOOMRESET */
+/* Use: XF86XK_Word _EVDEVK(0x1a5) v2.6.20 KEY_WORDPROCESSOR */
+#define XF86XK_Editor _EVDEVK(0x1a6) /* v2.6.20 KEY_EDITOR */
+/* Use: XF86XK_Excel _EVDEVK(0x1a7) v2.6.20 KEY_SPREADSHEET */
+#define XF86XK_GraphicsEditor _EVDEVK(0x1a8) /* v2.6.20 KEY_GRAPHICSEDITOR */
+#define XF86XK_Presentation _EVDEVK(0x1a9) /* v2.6.20 KEY_PRESENTATION */
+#define XF86XK_Database _EVDEVK(0x1aa) /* v2.6.20 KEY_DATABASE */
+/* Use: XF86XK_News _EVDEVK(0x1ab) v2.6.20 KEY_NEWS */
+#define XF86XK_Voicemail _EVDEVK(0x1ac) /* v2.6.20 KEY_VOICEMAIL */
+#define XF86XK_Addressbook _EVDEVK(0x1ad) /* v2.6.20 KEY_ADDRESSBOOK */
+/* Use: XF86XK_Messenger _EVDEVK(0x1ae) v2.6.20 KEY_MESSENGER */
+#define XF86XK_DisplayToggle _EVDEVK(0x1af) /* v2.6.20 KEY_DISPLAYTOGGLE */
+#define XF86XK_SpellCheck _EVDEVK(0x1b0) /* v2.6.24 KEY_SPELLCHECK */
+/* Use: XF86XK_LogOff _EVDEVK(0x1b1) v2.6.24 KEY_LOGOFF */
+/* Use: XK_dollar _EVDEVK(0x1b2) v2.6.24 KEY_DOLLAR */
+/* Use: XK_EuroSign _EVDEVK(0x1b3) v2.6.24 KEY_EURO */
+/* Use: XF86XK_FrameBack _EVDEVK(0x1b4) v2.6.24 KEY_FRAMEBACK */
+/* Use: XF86XK_FrameForward _EVDEVK(0x1b5) v2.6.24 KEY_FRAMEFORWARD */
+#define XF86XK_ContextMenu _EVDEVK(0x1b6) /* v2.6.24 KEY_CONTEXT_MENU */
+#define XF86XK_MediaRepeat _EVDEVK(0x1b7) /* v2.6.26 KEY_MEDIA_REPEAT */
+#define XF86XK_10ChannelsUp _EVDEVK(0x1b8) /* v2.6.38 KEY_10CHANNELSUP */
+#define XF86XK_10ChannelsDown _EVDEVK(0x1b9) /* v2.6.38 KEY_10CHANNELSDOWN */
+#define XF86XK_Images _EVDEVK(0x1ba) /* v2.6.39 KEY_IMAGES */
+#define XF86XK_NotificationCenter _EVDEVK(0x1bc) /* v5.10 KEY_NOTIFICATION_CENTER */
+#define XF86XK_PickupPhone _EVDEVK(0x1bd) /* v5.10 KEY_PICKUP_PHONE */
+#define XF86XK_HangupPhone _EVDEVK(0x1be) /* v5.10 KEY_HANGUP_PHONE */
+#define XF86XK_Fn _EVDEVK(0x1d0) /* KEY_FN */
+#define XF86XK_Fn_Esc _EVDEVK(0x1d1) /* KEY_FN_ESC */
+#define XF86XK_FnRightShift _EVDEVK(0x1e5) /* v5.10 KEY_FN_RIGHT_SHIFT */
+/* Use: XK_braille_dot_1 _EVDEVK(0x1f1) v2.6.17 KEY_BRL_DOT1 */
+/* Use: XK_braille_dot_2 _EVDEVK(0x1f2) v2.6.17 KEY_BRL_DOT2 */
+/* Use: XK_braille_dot_3 _EVDEVK(0x1f3) v2.6.17 KEY_BRL_DOT3 */
+/* Use: XK_braille_dot_4 _EVDEVK(0x1f4) v2.6.17 KEY_BRL_DOT4 */
+/* Use: XK_braille_dot_5 _EVDEVK(0x1f5) v2.6.17 KEY_BRL_DOT5 */
+/* Use: XK_braille_dot_6 _EVDEVK(0x1f6) v2.6.17 KEY_BRL_DOT6 */
+/* Use: XK_braille_dot_7 _EVDEVK(0x1f7) v2.6.17 KEY_BRL_DOT7 */
+/* Use: XK_braille_dot_8 _EVDEVK(0x1f8) v2.6.17 KEY_BRL_DOT8 */
+/* Use: XK_braille_dot_9 _EVDEVK(0x1f9) v2.6.23 KEY_BRL_DOT9 */
+/* Use: XK_braille_dot_1 _EVDEVK(0x1fa) v2.6.23 KEY_BRL_DOT10 */
+#define XF86XK_Numeric0 _EVDEVK(0x200) /* v2.6.28 KEY_NUMERIC_0 */
+#define XF86XK_Numeric1 _EVDEVK(0x201) /* v2.6.28 KEY_NUMERIC_1 */
+#define XF86XK_Numeric2 _EVDEVK(0x202) /* v2.6.28 KEY_NUMERIC_2 */
+#define XF86XK_Numeric3 _EVDEVK(0x203) /* v2.6.28 KEY_NUMERIC_3 */
+#define XF86XK_Numeric4 _EVDEVK(0x204) /* v2.6.28 KEY_NUMERIC_4 */
+#define XF86XK_Numeric5 _EVDEVK(0x205) /* v2.6.28 KEY_NUMERIC_5 */
+#define XF86XK_Numeric6 _EVDEVK(0x206) /* v2.6.28 KEY_NUMERIC_6 */
+#define XF86XK_Numeric7 _EVDEVK(0x207) /* v2.6.28 KEY_NUMERIC_7 */
+#define XF86XK_Numeric8 _EVDEVK(0x208) /* v2.6.28 KEY_NUMERIC_8 */
+#define XF86XK_Numeric9 _EVDEVK(0x209) /* v2.6.28 KEY_NUMERIC_9 */
+#define XF86XK_NumericStar _EVDEVK(0x20a) /* v2.6.28 KEY_NUMERIC_STAR */
+#define XF86XK_NumericPound _EVDEVK(0x20b) /* v2.6.28 KEY_NUMERIC_POUND */
+#define XF86XK_NumericA _EVDEVK(0x20c) /* v4.1 KEY_NUMERIC_A */
+#define XF86XK_NumericB _EVDEVK(0x20d) /* v4.1 KEY_NUMERIC_B */
+#define XF86XK_NumericC _EVDEVK(0x20e) /* v4.1 KEY_NUMERIC_C */
+#define XF86XK_NumericD _EVDEVK(0x20f) /* v4.1 KEY_NUMERIC_D */
+#define XF86XK_CameraFocus _EVDEVK(0x210) /* v2.6.33 KEY_CAMERA_FOCUS */
+#define XF86XK_WPSButton _EVDEVK(0x211) /* v2.6.34 KEY_WPS_BUTTON */
+/* Use: XF86XK_TouchpadToggle _EVDEVK(0x212) v2.6.37 KEY_TOUCHPAD_TOGGLE */
+/* Use: XF86XK_TouchpadOn _EVDEVK(0x213) v2.6.37 KEY_TOUCHPAD_ON */
+/* Use: XF86XK_TouchpadOff _EVDEVK(0x214) v2.6.37 KEY_TOUCHPAD_OFF */
+#define XF86XK_CameraZoomIn _EVDEVK(0x215) /* v2.6.39 KEY_CAMERA_ZOOMIN */
+#define XF86XK_CameraZoomOut _EVDEVK(0x216) /* v2.6.39 KEY_CAMERA_ZOOMOUT */
+#define XF86XK_CameraUp _EVDEVK(0x217) /* v2.6.39 KEY_CAMERA_UP */
+#define XF86XK_CameraDown _EVDEVK(0x218) /* v2.6.39 KEY_CAMERA_DOWN */
+#define XF86XK_CameraLeft _EVDEVK(0x219) /* v2.6.39 KEY_CAMERA_LEFT */
+#define XF86XK_CameraRight _EVDEVK(0x21a) /* v2.6.39 KEY_CAMERA_RIGHT */
+#define XF86XK_AttendantOn _EVDEVK(0x21b) /* v3.10 KEY_ATTENDANT_ON */
+#define XF86XK_AttendantOff _EVDEVK(0x21c) /* v3.10 KEY_ATTENDANT_OFF */
+#define XF86XK_AttendantToggle _EVDEVK(0x21d) /* v3.10 KEY_ATTENDANT_TOGGLE */
+#define XF86XK_LightsToggle _EVDEVK(0x21e) /* v3.10 KEY_LIGHTS_TOGGLE */
+#define XF86XK_ALSToggle _EVDEVK(0x230) /* v3.13 KEY_ALS_TOGGLE */
+/* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE */
+#define XF86XK_Buttonconfig _EVDEVK(0x240) /* v3.16 KEY_BUTTONCONFIG */
+#define XF86XK_Taskmanager _EVDEVK(0x241) /* v3.16 KEY_TASKMANAGER */
+#define XF86XK_Journal _EVDEVK(0x242) /* v3.16 KEY_JOURNAL */
+#define XF86XK_ControlPanel _EVDEVK(0x243) /* v3.16 KEY_CONTROLPANEL */
+#define XF86XK_AppSelect _EVDEVK(0x244) /* v3.16 KEY_APPSELECT */
+#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
+#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
+#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
+/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
+#define XF86XK_EmojiPicker _EVDEVK(0x249) /* v5.13 KEY_EMOJI_PICKER */
+#define XF86XK_Dictate _EVDEVK(0x24a) /* v5.17 KEY_DICTATE */
+#define XF86XK_CameraAccessEnable _EVDEVK(0x24b) /* v6.2 KEY_CAMERA_ACCESS_ENABLE */
+#define XF86XK_CameraAccessDisable _EVDEVK(0x24c) /* v6.2 KEY_CAMERA_ACCESS_DISABLE */
+#define XF86XK_CameraAccessToggle _EVDEVK(0x24d) /* v6.2 KEY_CAMERA_ACCESS_TOGGLE */
+#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
+#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
+#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
+#define XF86XK_KbdInputAssistNext _EVDEVK(0x261) /* v3.18 KEY_KBDINPUTASSIST_NEXT */
+#define XF86XK_KbdInputAssistPrevgroup _EVDEVK(0x262) /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
+#define XF86XK_KbdInputAssistNextgroup _EVDEVK(0x263) /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
+#define XF86XK_KbdInputAssistAccept _EVDEVK(0x264) /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
+#define XF86XK_KbdInputAssistCancel _EVDEVK(0x265) /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
+#define XF86XK_RightUp _EVDEVK(0x266) /* v4.7 KEY_RIGHT_UP */
+#define XF86XK_RightDown _EVDEVK(0x267) /* v4.7 KEY_RIGHT_DOWN */
+#define XF86XK_LeftUp _EVDEVK(0x268) /* v4.7 KEY_LEFT_UP */
+#define XF86XK_LeftDown _EVDEVK(0x269) /* v4.7 KEY_LEFT_DOWN */
+#define XF86XK_RootMenu _EVDEVK(0x26a) /* v4.7 KEY_ROOT_MENU */
+#define XF86XK_MediaTopMenu _EVDEVK(0x26b) /* v4.7 KEY_MEDIA_TOP_MENU */
+#define XF86XK_Numeric11 _EVDEVK(0x26c) /* v4.7 KEY_NUMERIC_11 */
+#define XF86XK_Numeric12 _EVDEVK(0x26d) /* v4.7 KEY_NUMERIC_12 */
+#define XF86XK_AudioDesc _EVDEVK(0x26e) /* v4.7 KEY_AUDIO_DESC */
+#define XF86XK_3DMode _EVDEVK(0x26f) /* v4.7 KEY_3D_MODE */
+#define XF86XK_NextFavorite _EVDEVK(0x270) /* v4.7 KEY_NEXT_FAVORITE */
+#define XF86XK_StopRecord _EVDEVK(0x271) /* v4.7 KEY_STOP_RECORD */
+#define XF86XK_PauseRecord _EVDEVK(0x272) /* v4.7 KEY_PAUSE_RECORD */
+#define XF86XK_VOD _EVDEVK(0x273) /* v4.7 KEY_VOD */
+#define XF86XK_Unmute _EVDEVK(0x274) /* v4.7 KEY_UNMUTE */
+#define XF86XK_FastReverse _EVDEVK(0x275) /* v4.7 KEY_FASTREVERSE */
+#define XF86XK_SlowReverse _EVDEVK(0x276) /* v4.7 KEY_SLOWREVERSE */
+#define XF86XK_Data _EVDEVK(0x277) /* v4.7 KEY_DATA */
+#define XF86XK_OnScreenKeyboard _EVDEVK(0x278) /* v4.12 KEY_ONSCREEN_KEYBOARD */
+#define XF86XK_PrivacyScreenToggle _EVDEVK(0x279) /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
+#define XF86XK_SelectiveScreenshot _EVDEVK(0x27a) /* v5.6 KEY_SELECTIVE_SCREENSHOT */
+#define XF86XK_NextElement _EVDEVK(0x27b) /* v5.18 KEY_NEXT_ELEMENT */
+#define XF86XK_PreviousElement _EVDEVK(0x27c) /* v5.18 KEY_PREVIOUS_ELEMENT */
+#define XF86XK_AutopilotEngageToggle _EVDEVK(0x27d) /* v5.18 KEY_AUTOPILOT_ENGAGE_TOGGLE */
+#define XF86XK_MarkWaypoint _EVDEVK(0x27e) /* v5.18 KEY_MARK_WAYPOINT */
+#define XF86XK_Sos _EVDEVK(0x27f) /* v5.18 KEY_SOS */
+#define XF86XK_NavChart _EVDEVK(0x280) /* v5.18 KEY_NAV_CHART */
+#define XF86XK_FishingChart _EVDEVK(0x281) /* v5.18 KEY_FISHING_CHART */
+#define XF86XK_SingleRangeRadar _EVDEVK(0x282) /* v5.18 KEY_SINGLE_RANGE_RADAR */
+#define XF86XK_DualRangeRadar _EVDEVK(0x283) /* v5.18 KEY_DUAL_RANGE_RADAR */
+#define XF86XK_RadarOverlay _EVDEVK(0x284) /* v5.18 KEY_RADAR_OVERLAY */
+#define XF86XK_TraditionalSonar _EVDEVK(0x285) /* v5.18 KEY_TRADITIONAL_SONAR */
+#define XF86XK_ClearvuSonar _EVDEVK(0x286) /* v5.18 KEY_CLEARVU_SONAR */
+#define XF86XK_SidevuSonar _EVDEVK(0x287) /* v5.18 KEY_SIDEVU_SONAR */
+#define XF86XK_NavInfo _EVDEVK(0x288) /* v5.18 KEY_NAV_INFO */
+/* Use: XF86XK_BrightnessAdjust _EVDEVK(0x289) v5.18 KEY_BRIGHTNESS_MENU */
+#define XF86XK_Macro1 _EVDEVK(0x290) /* v5.5 KEY_MACRO1 */
+#define XF86XK_Macro2 _EVDEVK(0x291) /* v5.5 KEY_MACRO2 */
+#define XF86XK_Macro3 _EVDEVK(0x292) /* v5.5 KEY_MACRO3 */
+#define XF86XK_Macro4 _EVDEVK(0x293) /* v5.5 KEY_MACRO4 */
+#define XF86XK_Macro5 _EVDEVK(0x294) /* v5.5 KEY_MACRO5 */
+#define XF86XK_Macro6 _EVDEVK(0x295) /* v5.5 KEY_MACRO6 */
+#define XF86XK_Macro7 _EVDEVK(0x296) /* v5.5 KEY_MACRO7 */
+#define XF86XK_Macro8 _EVDEVK(0x297) /* v5.5 KEY_MACRO8 */
+#define XF86XK_Macro9 _EVDEVK(0x298) /* v5.5 KEY_MACRO9 */
+#define XF86XK_Macro10 _EVDEVK(0x299) /* v5.5 KEY_MACRO10 */
+#define XF86XK_Macro11 _EVDEVK(0x29a) /* v5.5 KEY_MACRO11 */
+#define XF86XK_Macro12 _EVDEVK(0x29b) /* v5.5 KEY_MACRO12 */
+#define XF86XK_Macro13 _EVDEVK(0x29c) /* v5.5 KEY_MACRO13 */
+#define XF86XK_Macro14 _EVDEVK(0x29d) /* v5.5 KEY_MACRO14 */
+#define XF86XK_Macro15 _EVDEVK(0x29e) /* v5.5 KEY_MACRO15 */
+#define XF86XK_Macro16 _EVDEVK(0x29f) /* v5.5 KEY_MACRO16 */
+#define XF86XK_Macro17 _EVDEVK(0x2a0) /* v5.5 KEY_MACRO17 */
+#define XF86XK_Macro18 _EVDEVK(0x2a1) /* v5.5 KEY_MACRO18 */
+#define XF86XK_Macro19 _EVDEVK(0x2a2) /* v5.5 KEY_MACRO19 */
+#define XF86XK_Macro20 _EVDEVK(0x2a3) /* v5.5 KEY_MACRO20 */
+#define XF86XK_Macro21 _EVDEVK(0x2a4) /* v5.5 KEY_MACRO21 */
+#define XF86XK_Macro22 _EVDEVK(0x2a5) /* v5.5 KEY_MACRO22 */
+#define XF86XK_Macro23 _EVDEVK(0x2a6) /* v5.5 KEY_MACRO23 */
+#define XF86XK_Macro24 _EVDEVK(0x2a7) /* v5.5 KEY_MACRO24 */
+#define XF86XK_Macro25 _EVDEVK(0x2a8) /* v5.5 KEY_MACRO25 */
+#define XF86XK_Macro26 _EVDEVK(0x2a9) /* v5.5 KEY_MACRO26 */
+#define XF86XK_Macro27 _EVDEVK(0x2aa) /* v5.5 KEY_MACRO27 */
+#define XF86XK_Macro28 _EVDEVK(0x2ab) /* v5.5 KEY_MACRO28 */
+#define XF86XK_Macro29 _EVDEVK(0x2ac) /* v5.5 KEY_MACRO29 */
+#define XF86XK_Macro30 _EVDEVK(0x2ad) /* v5.5 KEY_MACRO30 */
+#define XF86XK_MacroRecordStart _EVDEVK(0x2b0) /* v5.5 KEY_MACRO_RECORD_START */
+#define XF86XK_MacroRecordStop _EVDEVK(0x2b1) /* v5.5 KEY_MACRO_RECORD_STOP */
+#define XF86XK_MacroPresetCycle _EVDEVK(0x2b2) /* v5.5 KEY_MACRO_PRESET_CYCLE */
+#define XF86XK_MacroPreset1 _EVDEVK(0x2b3) /* v5.5 KEY_MACRO_PRESET1 */
+#define XF86XK_MacroPreset2 _EVDEVK(0x2b4) /* v5.5 KEY_MACRO_PRESET2 */
+#define XF86XK_MacroPreset3 _EVDEVK(0x2b5) /* v5.5 KEY_MACRO_PRESET3 */
+#define XF86XK_KbdLcdMenu1 _EVDEVK(0x2b8) /* v5.5 KEY_KBD_LCD_MENU1 */
+#define XF86XK_KbdLcdMenu2 _EVDEVK(0x2b9) /* v5.5 KEY_KBD_LCD_MENU2 */
+#define XF86XK_KbdLcdMenu3 _EVDEVK(0x2ba) /* v5.5 KEY_KBD_LCD_MENU3 */
+#define XF86XK_KbdLcdMenu4 _EVDEVK(0x2bb) /* v5.5 KEY_KBD_LCD_MENU4 */
+#define XF86XK_KbdLcdMenu5 _EVDEVK(0x2bc) /* v5.5 KEY_KBD_LCD_MENU5 */
#undef _EVDEVK
diff --git a/proto/xorgproto/include/X11/extensions/dri3proto.h b/proto/xorgproto/include/X11/extensions/dri3proto.h
index 9cba105dd..a1fbed55c 100644
--- a/proto/xorgproto/include/X11/extensions/dri3proto.h
+++ b/proto/xorgproto/include/X11/extensions/dri3proto.h
@@ -25,7 +25,7 @@
#define DRI3_NAME "DRI3"
#define DRI3_MAJOR 1
-#define DRI3_MINOR 3
+#define DRI3_MINOR 4
#define DRI3NumberErrors 0
#define DRI3NumberEvents 0
@@ -45,7 +45,13 @@
/* v1.3 */
#define xDRI3SetDRMDeviceInUse 9
-#define DRI3NumberRequests 10
+/* v1.4 */
+#define xDRI3ImportSyncobj 10
+#define xDRI3FreeSyncobj 11
+
+#define DRI3NumberRequests 12
+
+#define DRI3Syncobj CARD32
typedef struct {
CARD8 reqType;
@@ -261,4 +267,22 @@ typedef struct {
} xDRI3SetDRMDeviceInUseReq;
#define sz_xDRI3SetDRMDeviceInUseReq 16
+/* v1.4 */
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length;
+ DRI3Syncobj syncobj;
+ CARD32 drawable;
+} xDRI3ImportSyncobjReq;
+#define sz_xDRI3ImportSyncobjReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri3ReqType;
+ CARD16 length;
+ DRI3Syncobj syncobj;
+} xDRI3FreeSyncobjReq;
+#define sz_xDRI3FreeSyncobjReq 8
+
#endif
diff --git a/proto/xorgproto/include/X11/extensions/presentproto.h b/proto/xorgproto/include/X11/extensions/presentproto.h
index d8dc6d271..ea8086312 100644
--- a/proto/xorgproto/include/X11/extensions/presentproto.h
+++ b/proto/xorgproto/include/X11/extensions/presentproto.h
@@ -24,6 +24,7 @@
#define _PRESENT_PROTO_H_
#include <X11/extensions/presenttokens.h>
+#include <X11/extensions/dri3proto.h>
#define Window CARD32
#define Pixmap CARD32
@@ -136,6 +137,37 @@ typedef struct {
} xPresentQueryCapabilitiesReply;
#define sz_xPresentQueryCapabilitiesReply 32
+typedef struct {
+ CARD8 reqType;
+ CARD8 presentReqType;
+ CARD16 length;
+ Window window;
+
+ Pixmap pixmap;
+ CARD32 serial;
+
+ Region valid;
+ Region update;
+
+ INT16 x_off;
+ INT16 y_off;
+ CARD32 target_crtc;
+
+ DRI3Syncobj acquire_syncobj;
+ DRI3Syncobj release_syncobj;
+ CARD64 acquire_point;
+ CARD64 release_point;
+
+ CARD32 options;
+ CARD32 pad1;
+
+ CARD64 target_msc;
+ CARD64 divisor;
+ CARD64 remainder;
+ /* followed by a LISTofPRESENTNOTIFY */
+} xPresentPixmapSyncedReq;
+#define sz_xPresentPixmapSyncedReq 88
+
/*
* Events
*
diff --git a/proto/xorgproto/include/X11/extensions/presenttokens.h b/proto/xorgproto/include/X11/extensions/presenttokens.h
index 400e84d8f..8004625a6 100644
--- a/proto/xorgproto/include/X11/extensions/presenttokens.h
+++ b/proto/xorgproto/include/X11/extensions/presenttokens.h
@@ -25,7 +25,7 @@
#define PRESENT_NAME "Present"
#define PRESENT_MAJOR 1
-#define PRESENT_MINOR 3
+#define PRESENT_MINOR 4
#define PresentNumberErrors 0
#define PresentNumberEvents 0
@@ -36,8 +36,9 @@
#define X_PresentNotifyMSC 2
#define X_PresentSelectInput 3
#define X_PresentQueryCapabilities 4
+#define X_PresentPixmapSynced 5
-#define PresentNumberRequests 5
+#define PresentNumberRequests 6
/* Present operation options */
#define PresentOptionNone 0
@@ -62,11 +63,13 @@
#define PresentCapabilityFence 2
#define PresentCapabilityUST 4
#define PresentCapabilityAsyncMayTear 8
+#define PresentCapabilitySyncobj 16
#define PresentAllCapabilities (PresentCapabilityAsync | \
PresentCapabilityFence | \
PresentCapabilityUST | \
- PresentCapabilityAsyncMayTear)
+ PresentCapabilityAsyncMayTear | \
+ PresentCapabilitySyncobj)
#define PresentAllAsyncCapabilities (PresentCapabilityAsync | PresentCapabilityAsyncMayTear)
diff --git a/proto/xorgproto/include/X11/keysymdef.h b/proto/xorgproto/include/X11/keysymdef.h
index 625cc6160..6f3edfbaa 100644
--- a/proto/xorgproto/include/X11/keysymdef.h
+++ b/proto/xorgproto/include/X11/keysymdef.h
@@ -62,6 +62,15 @@ SOFTWARE.
* Unicode position, as well as the official Unicode name of the
* character.
*
+ * Some keysyms map to a character already mapped by another keysym,
+ * with compatible but more precise semantics, such as the keypad-
+ * related keysyms. In this case, none of the keysym are deprecated.
+ * The most generic keysym is annotated as previously and more specific
+ * keysyms have the same annotation between angle brackets:
+ *
+ * #define XK_space 0x0020 // U+0020 SPACE
+ * #define XK_KP_Space 0xff80 //<U+0020 SPACE>
+ *
* Where the correspondence is either not one-to-one or semantically
* unclear, the Unicode position and name are enclosed in
* parentheses. Such legacy keysyms should be considered deprecated
@@ -81,12 +90,58 @@ SOFTWARE.
* existing legacy keysym values in the range 0x0100 to 0x20ff.
*
* Where several mnemonic names are defined for the same keysym in this
- * file, all but the first one listed should be considered deprecated.
+ * file, the first one listed is considered the "canonical" name. This
+ * is the name that should be used when retrieving a keysym name from
+ * its code. The next names are considered "aliases" to the canonical
+ * name.
+ *
+ * Aliases are made explicit by writing in their comment "alias for",
+ * followed by the corresponding canonical name. Example:
+ *
+ * #define XK_dead_tilde 0xfe53
+ * #define XK_dead_perispomeni 0xfe53 // alias for dead_tilde
+ *
+ * The rules to consider a keysym mnemonic name deprecated are:
+ *
+ * 1. A legacy keysym with its Unicode mapping in parentheses is
+ * deprecated (see above).
+ *
+ * 2. A keysym name is *explicitly* deprecated by starting its comment
+ * with "deprecated". Examples:
+ *
+ * #define XK_L1 0xffc8 // deprecated alias for F11
+ * #define XK_quoteleft 0x0060 // deprecated
+ *
+ * 3. A keysym name is *explicitly* *not* deprecated by starting its
+ * comment with "non-deprecated alias". Examples:
+ *
+ * #define XK_dead_tilde 0xfe53
+ * #define XK_dead_perispomeni 0xfe53 // non-deprecated alias for dead_tilde
+ *
+ * 4. If none of the previous rules apply, an alias is *implicitly*
+ * deprecated if there is at least one previous name for the
+ * corresponding keysym that is *not* explicitly deprecated.
+ *
+ * Examples:
+ *
+ * // SingleCandidate is the canonical name
+ * #define XK_SingleCandidate 0xff3c
+ * // Hangul_SingleCandidate is deprecated because it is an alias
+ * // and it does not start with "non-deprecated alias"
+ * #define XK_Hangul_SingleCandidate 0xff3c // Single candidate
+ *
+ * // guillemotleft is the canonical name, but it is deprecated
+ * #define XK_guillemotleft 0x00ab // deprecated alias for guillemetleft (misspelling)
+ * // guillemetleft is not deprecated, because the keysym has no endorsed name before it.
+ * #define XK_guillemetleft 0x00ab // U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ * // The following hypothetical name is deprecated because guillemetleft come before.
+ * #define XK_guillemetleft2 0x00ab
*
* Mnemonic names for keysyms are defined in this file with lines
* that match one of these Perl regular expressions:
*
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U\+([0-9A-F]{4,6}) (.*) \*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*<U\+([0-9A-F]{4,6}) (.*)>\*\/\s*$/
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U\+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
*
@@ -110,6 +165,27 @@ SOFTWARE.
* - the protocol specification in specs/keysyms.xml in this repo
* https://gitlab.freedesktop.org/xorg/proto/xorgproto
*
+ * Before removing or changing the order of the keysyms, please consider
+ * the following: it is very difficult to know what keysyms are used and
+ * how.
+ *
+ * - A sandboxed application may have incompatibilities with the host
+ * system. For example, if new keysym name is introduced and is made
+ * the canonical name, then an application with an older keysym parser
+ * will not be able to parse the new name.
+ * - Customization of keyboard layout and Compose files are two popular
+ * use cases. Checking the standard keyboard layout database xkeyboard-config
+ * https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
+ * and the standard Compose files in libx11
+ * https://gitlab.freedesktop.org/xorg/lib/libx11 is a mandatory
+ * step, but may *not* be enough for a proper impact assessment for
+ * e.g. keysyms removals.
+ *
+ * Therefore, it is advised to proceed to no removal and to make a new
+ * name canonical only 10 years after its introduction. This means that
+ * some keysyms may have their first listed name deprecated during the
+ * period of transition. Once this period is over, the deprecated name
+ * should be moved after the new canonical name.
*/
#define XK_VoidSymbol 0xffffff /* Void symbol */
@@ -121,16 +197,16 @@ SOFTWARE.
* tables in client code).
*/
-#define XK_BackSpace 0xff08 /* Back space, back char */
-#define XK_Tab 0xff09
-#define XK_Linefeed 0xff0a /* Linefeed, LF */
-#define XK_Clear 0xff0b
-#define XK_Return 0xff0d /* Return, enter */
+#define XK_BackSpace 0xff08 /* U+0008 BACKSPACE */
+#define XK_Tab 0xff09 /* U+0009 CHARACTER TABULATION */
+#define XK_Linefeed 0xff0a /* U+000A LINE FEED */
+#define XK_Clear 0xff0b /* U+000B LINE TABULATION */
+#define XK_Return 0xff0d /* U+000D CARRIAGE RETURN */
#define XK_Pause 0xff13 /* Pause, hold */
#define XK_Scroll_Lock 0xff14
#define XK_Sys_Req 0xff15
-#define XK_Escape 0xff1b
-#define XK_Delete 0xffff /* Delete, rubout */
+#define XK_Escape 0xff1b /* U+001B ESCAPE */
+#define XK_Delete 0xffff /* U+007F DELETE */
@@ -147,7 +223,7 @@ SOFTWARE.
#define XK_Kanji 0xff21 /* Kanji, Kanji convert */
#define XK_Muhenkan 0xff22 /* Cancel Conversion */
#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */
-#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */
+#define XK_Henkan 0xff23 /* non-deprecated alias for Henkan_Mode */
#define XK_Romaji 0xff24 /* to Romaji */
#define XK_Hiragana 0xff25 /* to Hiragana */
#define XK_Katakana 0xff26 /* to Katakana */
@@ -175,9 +251,9 @@ SOFTWARE.
#define XK_Right 0xff53 /* Move right, right arrow */
#define XK_Down 0xff54 /* Move down, down arrow */
#define XK_Prior 0xff55 /* Prior, previous */
-#define XK_Page_Up 0xff55
+#define XK_Page_Up 0xff55 /* deprecated alias for Prior */
#define XK_Next 0xff56 /* Next */
-#define XK_Page_Down 0xff56
+#define XK_Page_Down 0xff56 /* deprecated alias for Next */
#define XK_End 0xff57 /* EOL */
#define XK_Begin 0xff58 /* BOL */
@@ -196,14 +272,14 @@ SOFTWARE.
#define XK_Help 0xff6a /* Help */
#define XK_Break 0xff6b
#define XK_Mode_switch 0xff7e /* Character set switch */
-#define XK_script_switch 0xff7e /* Alias for mode_switch */
+#define XK_script_switch 0xff7e /* non-deprecated alias for Mode_switch */
#define XK_Num_Lock 0xff7f
/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
-#define XK_KP_Space 0xff80 /* Space */
-#define XK_KP_Tab 0xff89
-#define XK_KP_Enter 0xff8d /* Enter */
+#define XK_KP_Space 0xff80 /*<U+0020 SPACE>*/
+#define XK_KP_Tab 0xff89 /*<U+0009 CHARACTER TABULATION>*/
+#define XK_KP_Enter 0xff8d /*<U+000D CARRIAGE RETURN>*/
#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */
#define XK_KP_F2 0xff92
#define XK_KP_F3 0xff93
@@ -214,31 +290,31 @@ SOFTWARE.
#define XK_KP_Right 0xff98
#define XK_KP_Down 0xff99
#define XK_KP_Prior 0xff9a
-#define XK_KP_Page_Up 0xff9a
+#define XK_KP_Page_Up 0xff9a /* deprecated alias for KP_Prior */
#define XK_KP_Next 0xff9b
-#define XK_KP_Page_Down 0xff9b
+#define XK_KP_Page_Down 0xff9b /* deprecated alias for KP_Next */
#define XK_KP_End 0xff9c
#define XK_KP_Begin 0xff9d
#define XK_KP_Insert 0xff9e
#define XK_KP_Delete 0xff9f
-#define XK_KP_Equal 0xffbd /* Equals */
-#define XK_KP_Multiply 0xffaa
-#define XK_KP_Add 0xffab
-#define XK_KP_Separator 0xffac /* Separator, often comma */
-#define XK_KP_Subtract 0xffad
-#define XK_KP_Decimal 0xffae
-#define XK_KP_Divide 0xffaf
-
-#define XK_KP_0 0xffb0
-#define XK_KP_1 0xffb1
-#define XK_KP_2 0xffb2
-#define XK_KP_3 0xffb3
-#define XK_KP_4 0xffb4
-#define XK_KP_5 0xffb5
-#define XK_KP_6 0xffb6
-#define XK_KP_7 0xffb7
-#define XK_KP_8 0xffb8
-#define XK_KP_9 0xffb9
+#define XK_KP_Equal 0xffbd /*<U+003D EQUALS SIGN>*/
+#define XK_KP_Multiply 0xffaa /*<U+002A ASTERISK>*/
+#define XK_KP_Add 0xffab /*<U+002B PLUS SIGN>*/
+#define XK_KP_Separator 0xffac /*<U+002C COMMA>*/
+#define XK_KP_Subtract 0xffad /*<U+002D HYPHEN-MINUS>*/
+#define XK_KP_Decimal 0xffae /*<U+002E FULL STOP>*/
+#define XK_KP_Divide 0xffaf /*<U+002F SOLIDUS>*/
+
+#define XK_KP_0 0xffb0 /*<U+0030 DIGIT ZERO>*/
+#define XK_KP_1 0xffb1 /*<U+0031 DIGIT ONE>*/
+#define XK_KP_2 0xffb2 /*<U+0032 DIGIT TWO>*/
+#define XK_KP_3 0xffb3 /*<U+0033 DIGIT THREE>*/
+#define XK_KP_4 0xffb4 /*<U+0034 DIGIT FOUR>*/
+#define XK_KP_5 0xffb5 /*<U+0035 DIGIT FIVE>*/
+#define XK_KP_6 0xffb6 /*<U+0036 DIGIT SIX>*/
+#define XK_KP_7 0xffb7 /*<U+0037 DIGIT SEVEN>*/
+#define XK_KP_8 0xffb8 /*<U+0038 DIGIT EIGHT>*/
+#define XK_KP_9 0xffb9 /*<U+0039 DIGIT NINE>*/
@@ -260,55 +336,55 @@ SOFTWARE.
#define XK_F9 0xffc6
#define XK_F10 0xffc7
#define XK_F11 0xffc8
-#define XK_L1 0xffc8
+#define XK_L1 0xffc8 /* deprecated alias for F11 */
#define XK_F12 0xffc9
-#define XK_L2 0xffc9
+#define XK_L2 0xffc9 /* deprecated alias for F12 */
#define XK_F13 0xffca
-#define XK_L3 0xffca
+#define XK_L3 0xffca /* deprecated alias for F13 */
#define XK_F14 0xffcb
-#define XK_L4 0xffcb
+#define XK_L4 0xffcb /* deprecated alias for F14 */
#define XK_F15 0xffcc
-#define XK_L5 0xffcc
+#define XK_L5 0xffcc /* deprecated alias for F15 */
#define XK_F16 0xffcd
-#define XK_L6 0xffcd
+#define XK_L6 0xffcd /* deprecated alias for F16 */
#define XK_F17 0xffce
-#define XK_L7 0xffce
+#define XK_L7 0xffce /* deprecated alias for F17 */
#define XK_F18 0xffcf
-#define XK_L8 0xffcf
+#define XK_L8 0xffcf /* deprecated alias for F18 */
#define XK_F19 0xffd0
-#define XK_L9 0xffd0
+#define XK_L9 0xffd0 /* deprecated alias for F19 */
#define XK_F20 0xffd1
-#define XK_L10 0xffd1
+#define XK_L10 0xffd1 /* deprecated alias for F20 */
#define XK_F21 0xffd2
-#define XK_R1 0xffd2
+#define XK_R1 0xffd2 /* deprecated alias for F21 */
#define XK_F22 0xffd3
-#define XK_R2 0xffd3
+#define XK_R2 0xffd3 /* deprecated alias for F22 */
#define XK_F23 0xffd4
-#define XK_R3 0xffd4
+#define XK_R3 0xffd4 /* deprecated alias for F23 */
#define XK_F24 0xffd5
-#define XK_R4 0xffd5
+#define XK_R4 0xffd5 /* deprecated alias for F24 */
#define XK_F25 0xffd6
-#define XK_R5 0xffd6
+#define XK_R5 0xffd6 /* deprecated alias for F25 */
#define XK_F26 0xffd7
-#define XK_R6 0xffd7
+#define XK_R6 0xffd7 /* deprecated alias for F26 */
#define XK_F27 0xffd8
-#define XK_R7 0xffd8
+#define XK_R7 0xffd8 /* deprecated alias for F27 */
#define XK_F28 0xffd9
-#define XK_R8 0xffd9
+#define XK_R8 0xffd9 /* deprecated alias for F28 */
#define XK_F29 0xffda
-#define XK_R9 0xffda
+#define XK_R9 0xffda /* deprecated alias for F29 */
#define XK_F30 0xffdb
-#define XK_R10 0xffdb
+#define XK_R10 0xffdb /* deprecated alias for F30 */
#define XK_F31 0xffdc
-#define XK_R11 0xffdc
+#define XK_R11 0xffdc /* deprecated alias for F31 */
#define XK_F32 0xffdd
-#define XK_R12 0xffdd
+#define XK_R12 0xffdd /* deprecated alias for F32 */
#define XK_F33 0xffde
-#define XK_R13 0xffde
+#define XK_R13 0xffde /* deprecated alias for F33 */
#define XK_F34 0xffdf
-#define XK_R14 0xffdf
+#define XK_R14 0xffdf /* deprecated alias for F34 */
#define XK_F35 0xffe0
-#define XK_R15 0xffe0
+#define XK_R15 0xffe0 /* deprecated alias for F35 */
/* Modifiers */
@@ -344,7 +420,7 @@ SOFTWARE.
#define XK_ISO_Level5_Shift 0xfe11
#define XK_ISO_Level5_Latch 0xfe12
#define XK_ISO_Level5_Lock 0xfe13
-#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */
+#define XK_ISO_Group_Shift 0xff7e /* non-deprecated alias for Mode_switch */
#define XK_ISO_Group_Latch 0xfe06
#define XK_ISO_Group_Lock 0xfe07
#define XK_ISO_Next_Group 0xfe08
@@ -382,7 +458,7 @@ SOFTWARE.
#define XK_dead_acute 0xfe51
#define XK_dead_circumflex 0xfe52
#define XK_dead_tilde 0xfe53
-#define XK_dead_perispomeni 0xfe53 /* alias for dead_tilde */
+#define XK_dead_perispomeni 0xfe53 /* non-deprecated alias for dead_tilde */
#define XK_dead_macron 0xfe54
#define XK_dead_breve 0xfe55
#define XK_dead_abovedot 0xfe56
@@ -400,9 +476,9 @@ SOFTWARE.
#define XK_dead_horn 0xfe62
#define XK_dead_stroke 0xfe63
#define XK_dead_abovecomma 0xfe64
-#define XK_dead_psili 0xfe64 /* alias for dead_abovecomma */
+#define XK_dead_psili 0xfe64 /* non-deprecated alias for dead_abovecomma */
#define XK_dead_abovereversedcomma 0xfe65
-#define XK_dead_dasia 0xfe65 /* alias for dead_abovereversedcomma */
+#define XK_dead_dasia 0xfe65 /* non-deprecated alias for dead_abovereversedcomma */
#define XK_dead_doublegrave 0xfe66
#define XK_dead_belowring 0xfe67
#define XK_dead_belowmacron 0xfe68
@@ -414,6 +490,12 @@ SOFTWARE.
#define XK_dead_belowcomma 0xfe6e
#define XK_dead_currency 0xfe6f
+/* extra dead elements for German T3 layout */
+#define XK_dead_lowline 0xfe90
+#define XK_dead_aboveverticalline 0xfe91
+#define XK_dead_belowverticalline 0xfe92
+#define XK_dead_longsolidusoverlay 0xfe93
+
/* dead vowels for universal syllable entry */
#define XK_dead_a 0xfe80
#define XK_dead_A 0xfe81
@@ -425,12 +507,13 @@ SOFTWARE.
#define XK_dead_O 0xfe87
#define XK_dead_u 0xfe88
#define XK_dead_U 0xfe89
+#define XK_dead_small_schwa 0xfe8a /* deprecated alias for dead_schwa */
#define XK_dead_schwa 0xfe8a
+#define XK_dead_capital_schwa 0xfe8b /* deprecated alias for dead_SCHWA */
#define XK_dead_SCHWA 0xfe8b
-#define XK_dead_small_schwa 0xfe8a /* deprecated, remove in 2025 */
-#define XK_dead_capital_schwa 0xfe8b /* deprecated, remove in 2025 */
#define XK_dead_greek 0xfe8c
+#define XK_dead_hamza 0xfe8d
#define XK_First_Virtual_Screen 0xfed0
#define XK_Prev_Virtual_Screen 0xfed1
@@ -646,8 +729,8 @@ SOFTWARE.
#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */
#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */
#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft 0x00ab /* deprecated alias for guillemetleft (misspelling) */
#define XK_guillemetleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
-#define XK_guillemotleft 0x00ab /* deprecated misspelling */
#define XK_notsign 0x00ac /* U+00AC NOT SIGN */
#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */
#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */
@@ -662,10 +745,10 @@ SOFTWARE.
#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */
#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */
#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine 0x00ba /* deprecated alias for ordmasculine (inconsistent name) */
#define XK_ordmasculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
-#define XK_masculine 0x00ba /* deprecated inconsistent name */
+#define XK_guillemotright 0x00bb /* deprecated alias for guillemetright (misspelling) */
#define XK_guillemetright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
-#define XK_guillemotright 0x00bb /* deprecated misspelling */
#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
@@ -696,7 +779,7 @@ SOFTWARE.
#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
-#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique 0x00d8 /* deprecated alias for Oslash */
#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
@@ -730,7 +813,7 @@ SOFTWARE.
#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */
#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
-#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique 0x00f8 /* deprecated alias for oslash */
#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
@@ -998,7 +1081,7 @@ SOFTWARE.
#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */
#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
-#define XK_kana_switch 0xff7e /* Alias for mode_switch */
+#define XK_kana_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_KATAKANA */
/*
@@ -1094,10 +1177,10 @@ SOFTWARE.
#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
-#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh 0x10006cc /* deprecated alias for Farsi_yeh */
#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
-#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */
+#define XK_Arabic_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_ARABIC */
/*
@@ -1260,7 +1343,7 @@ SOFTWARE.
#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
-#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */
+#define XK_Greek_IOTAdiaeresis 0x07a5 /* deprecated (old typo) */
#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
@@ -1289,7 +1372,7 @@ SOFTWARE.
#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
-#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA 0x07cb /* non-deprecated alias for Greek_LAMDA */
#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
@@ -1314,7 +1397,7 @@ SOFTWARE.
#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
-#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda 0x07eb /* non-deprecated alias for Greek_lamda */
#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */
#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */
#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */
@@ -1329,7 +1412,7 @@ SOFTWARE.
#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
-#define XK_Greek_switch 0xff7e /* Alias for mode_switch */
+#define XK_Greek_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_GREEK */
/*
@@ -1589,7 +1672,7 @@ SOFTWARE.
#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */
#define XK_hebrew_taf 0x0cfa /* deprecated */
-#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */
+#define XK_Hebrew_switch 0xff7e /* non-deprecated alias for Mode_switch */
#endif /* XK_HEBREW */
/*
@@ -1656,7 +1739,7 @@ SOFTWARE.
#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
-#define XK_Thai_maihanakat_maitho 0x0dde
+#define XK_Thai_maihanakat_maitho 0x0dde /*(U+0E3E Unassigned code point)*/
#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
@@ -1706,7 +1789,7 @@ SOFTWARE.
#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
#define XK_Hangul_Special 0xff3f /* Special symbols */
-#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */
+#define XK_Hangul_switch 0xff7e /* non-deprecated alias for Mode_switch */
/* Hangul Consonant Characters */
#define XK_Hangul_Kiyeog 0x0ea1 /* U+3131 HANGUL LETTER KIYEOK */
@@ -1822,17 +1905,17 @@ SOFTWARE.
#ifdef XK_ARMENIAN
#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */
-#define XK_Armenian_verjaket 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket 0x1000589 /* deprecated alias for Armenian_full_stop */
#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */
-#define XK_Armenian_but 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but 0x100055d /* deprecated alias for Armenian_separation_mark */
#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */
-#define XK_Armenian_yentamna 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna 0x100058a /* deprecated alias for Armenian_hyphen */
#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
-#define XK_Armenian_amanak 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak 0x100055c /* deprecated alias for Armenian_exclam */
#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
-#define XK_Armenian_shesht 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht 0x100055b /* deprecated alias for Armenian_accent */
#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */
-#define XK_Armenian_paruyk 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk 0x100055e /* deprecated alias for Armenian_question */
#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
@@ -2127,15 +2210,15 @@ SOFTWARE.
#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */
#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
-#define XK_emptyset 0x1002205 /* U+2205 NULL SET */
+#define XK_emptyset 0x1002205 /* U+2205 EMPTY SET */
#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */
#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */
-#define XK_containsas 0x100220B /* U+220B CONTAINS AS MEMBER */
-#define XK_squareroot 0x100221A /* U+221A SQUARE ROOT */
-#define XK_cuberoot 0x100221B /* U+221B CUBE ROOT */
-#define XK_fourthroot 0x100221C /* U+221C FOURTH ROOT */
-#define XK_dintegral 0x100222C /* U+222C DOUBLE INTEGRAL */
-#define XK_tintegral 0x100222D /* U+222D TRIPLE INTEGRAL */
+#define XK_containsas 0x100220b /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot 0x100221a /* U+221A SQUARE ROOT */
+#define XK_cuberoot 0x100221b /* U+221B CUBE ROOT */
+#define XK_fourthroot 0x100221c /* U+221C FOURTH ROOT */
+#define XK_dintegral 0x100222c /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral 0x100222d /* U+222D TRIPLE INTEGRAL */
#define XK_because 0x1002235 /* U+2235 BECAUSE */
#define XK_approxeq 0x1002248 /*(U+2248 ALMOST EQUAL TO)*/
#define XK_notapproxeq 0x1002247 /*(U+2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO)*/
@@ -2164,12 +2247,12 @@ SOFTWARE.
#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
-#define XK_braille_dots_24 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */
-#define XK_braille_dots_124 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */
-#define XK_braille_dots_34 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */
-#define XK_braille_dots_134 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */
-#define XK_braille_dots_234 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */
-#define XK_braille_dots_1234 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_24 0x100280a /* U+280A BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124 0x100280b /* U+280B BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34 0x100280c /* U+280C BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134 0x100280d /* U+280D BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234 0x100280e /* U+280E BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234 0x100280f /* U+280F BRAILLE PATTERN DOTS-1234 */
#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
@@ -2180,12 +2263,12 @@ SOFTWARE.
#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
-#define XK_braille_dots_245 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */
-#define XK_braille_dots_1245 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */
-#define XK_braille_dots_345 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */
-#define XK_braille_dots_1345 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */
-#define XK_braille_dots_2345 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */
-#define XK_braille_dots_12345 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_245 0x100281a /* U+281A BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245 0x100281b /* U+281B BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345 0x100281c /* U+281C BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345 0x100281d /* U+281D BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345 0x100281e /* U+281E BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345 0x100281f /* U+281F BRAILLE PATTERN DOTS-12345 */
#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
@@ -2196,12 +2279,12 @@ SOFTWARE.
#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
-#define XK_braille_dots_246 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */
-#define XK_braille_dots_1246 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */
-#define XK_braille_dots_346 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */
-#define XK_braille_dots_1346 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */
-#define XK_braille_dots_2346 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */
-#define XK_braille_dots_12346 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_246 0x100282a /* U+282A BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246 0x100282b /* U+282B BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346 0x100282c /* U+282C BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346 0x100282d /* U+282D BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346 0x100282e /* U+282E BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346 0x100282f /* U+282F BRAILLE PATTERN DOTS-12346 */
#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
@@ -2212,12 +2295,12 @@ SOFTWARE.
#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
-#define XK_braille_dots_2456 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */
-#define XK_braille_dots_12456 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */
-#define XK_braille_dots_3456 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */
-#define XK_braille_dots_13456 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */
-#define XK_braille_dots_23456 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */
-#define XK_braille_dots_123456 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_2456 0x100283a /* U+283A BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456 0x100283b /* U+283B BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456 0x100283c /* U+283C BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456 0x100283d /* U+283D BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456 0x100283e /* U+283E BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456 0x100283f /* U+283F BRAILLE PATTERN DOTS-123456 */
#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
@@ -2228,12 +2311,12 @@ SOFTWARE.
#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
-#define XK_braille_dots_247 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */
-#define XK_braille_dots_1247 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */
-#define XK_braille_dots_347 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */
-#define XK_braille_dots_1347 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */
-#define XK_braille_dots_2347 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */
-#define XK_braille_dots_12347 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_247 0x100284a /* U+284A BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247 0x100284b /* U+284B BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347 0x100284c /* U+284C BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347 0x100284d /* U+284D BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347 0x100284e /* U+284E BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347 0x100284f /* U+284F BRAILLE PATTERN DOTS-12347 */
#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
@@ -2244,12 +2327,12 @@ SOFTWARE.
#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
-#define XK_braille_dots_2457 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */
-#define XK_braille_dots_12457 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */
-#define XK_braille_dots_3457 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */
-#define XK_braille_dots_13457 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */
-#define XK_braille_dots_23457 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */
-#define XK_braille_dots_123457 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_2457 0x100285a /* U+285A BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457 0x100285b /* U+285B BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457 0x100285c /* U+285C BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457 0x100285d /* U+285D BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457 0x100285e /* U+285E BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457 0x100285f /* U+285F BRAILLE PATTERN DOTS-123457 */
#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
@@ -2260,12 +2343,12 @@ SOFTWARE.
#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
-#define XK_braille_dots_2467 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */
-#define XK_braille_dots_12467 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */
-#define XK_braille_dots_3467 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */
-#define XK_braille_dots_13467 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */
-#define XK_braille_dots_23467 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */
-#define XK_braille_dots_123467 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_2467 0x100286a /* U+286A BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467 0x100286b /* U+286B BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467 0x100286c /* U+286C BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467 0x100286d /* U+286D BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467 0x100286e /* U+286E BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467 0x100286f /* U+286F BRAILLE PATTERN DOTS-123467 */
#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
@@ -2276,12 +2359,12 @@ SOFTWARE.
#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
-#define XK_braille_dots_24567 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */
-#define XK_braille_dots_124567 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */
-#define XK_braille_dots_34567 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */
-#define XK_braille_dots_134567 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */
-#define XK_braille_dots_234567 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */
-#define XK_braille_dots_1234567 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_24567 0x100287a /* U+287A BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567 0x100287b /* U+287B BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567 0x100287c /* U+287C BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567 0x100287d /* U+287D BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567 0x100287e /* U+287E BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567 0x100287f /* U+287F BRAILLE PATTERN DOTS-1234567 */
#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
@@ -2292,12 +2375,12 @@ SOFTWARE.
#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
-#define XK_braille_dots_248 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */
-#define XK_braille_dots_1248 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */
-#define XK_braille_dots_348 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */
-#define XK_braille_dots_1348 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */
-#define XK_braille_dots_2348 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */
-#define XK_braille_dots_12348 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_248 0x100288a /* U+288A BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248 0x100288b /* U+288B BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348 0x100288c /* U+288C BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348 0x100288d /* U+288D BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348 0x100288e /* U+288E BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348 0x100288f /* U+288F BRAILLE PATTERN DOTS-12348 */
#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
@@ -2308,108 +2391,108 @@ SOFTWARE.
#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
-#define XK_braille_dots_2458 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */
-#define XK_braille_dots_12458 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */
-#define XK_braille_dots_3458 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */
-#define XK_braille_dots_13458 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */
-#define XK_braille_dots_23458 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */
-#define XK_braille_dots_123458 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */
-#define XK_braille_dots_68 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */
-#define XK_braille_dots_168 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */
-#define XK_braille_dots_268 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */
-#define XK_braille_dots_1268 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */
-#define XK_braille_dots_368 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */
-#define XK_braille_dots_1368 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */
-#define XK_braille_dots_2368 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */
-#define XK_braille_dots_12368 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */
-#define XK_braille_dots_468 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */
-#define XK_braille_dots_1468 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */
-#define XK_braille_dots_2468 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */
-#define XK_braille_dots_12468 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */
-#define XK_braille_dots_3468 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */
-#define XK_braille_dots_13468 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */
-#define XK_braille_dots_23468 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */
-#define XK_braille_dots_123468 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */
-#define XK_braille_dots_568 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */
-#define XK_braille_dots_1568 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */
-#define XK_braille_dots_2568 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */
-#define XK_braille_dots_12568 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */
-#define XK_braille_dots_3568 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */
-#define XK_braille_dots_13568 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */
-#define XK_braille_dots_23568 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */
-#define XK_braille_dots_123568 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */
-#define XK_braille_dots_4568 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */
-#define XK_braille_dots_14568 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */
-#define XK_braille_dots_24568 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */
-#define XK_braille_dots_124568 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */
-#define XK_braille_dots_34568 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */
-#define XK_braille_dots_134568 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */
-#define XK_braille_dots_234568 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */
-#define XK_braille_dots_1234568 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */
-#define XK_braille_dots_78 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */
-#define XK_braille_dots_178 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */
-#define XK_braille_dots_278 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */
-#define XK_braille_dots_1278 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */
-#define XK_braille_dots_378 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */
-#define XK_braille_dots_1378 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */
-#define XK_braille_dots_2378 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */
-#define XK_braille_dots_12378 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */
-#define XK_braille_dots_478 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */
-#define XK_braille_dots_1478 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */
-#define XK_braille_dots_2478 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */
-#define XK_braille_dots_12478 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */
-#define XK_braille_dots_3478 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */
-#define XK_braille_dots_13478 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */
-#define XK_braille_dots_23478 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */
-#define XK_braille_dots_123478 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */
-#define XK_braille_dots_578 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */
-#define XK_braille_dots_1578 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */
-#define XK_braille_dots_2578 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */
-#define XK_braille_dots_12578 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */
-#define XK_braille_dots_3578 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */
-#define XK_braille_dots_13578 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */
-#define XK_braille_dots_23578 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */
-#define XK_braille_dots_123578 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */
-#define XK_braille_dots_4578 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */
-#define XK_braille_dots_14578 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */
-#define XK_braille_dots_24578 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */
-#define XK_braille_dots_124578 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */
-#define XK_braille_dots_34578 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */
-#define XK_braille_dots_134578 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */
-#define XK_braille_dots_234578 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */
-#define XK_braille_dots_1234578 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */
-#define XK_braille_dots_678 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */
-#define XK_braille_dots_1678 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */
-#define XK_braille_dots_2678 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */
-#define XK_braille_dots_12678 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */
-#define XK_braille_dots_3678 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */
-#define XK_braille_dots_13678 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */
-#define XK_braille_dots_23678 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */
-#define XK_braille_dots_123678 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */
-#define XK_braille_dots_4678 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */
-#define XK_braille_dots_14678 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */
-#define XK_braille_dots_24678 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */
-#define XK_braille_dots_124678 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */
-#define XK_braille_dots_34678 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */
-#define XK_braille_dots_134678 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */
-#define XK_braille_dots_234678 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */
-#define XK_braille_dots_1234678 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */
-#define XK_braille_dots_5678 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */
-#define XK_braille_dots_15678 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */
-#define XK_braille_dots_25678 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */
-#define XK_braille_dots_125678 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */
-#define XK_braille_dots_35678 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */
-#define XK_braille_dots_135678 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */
-#define XK_braille_dots_235678 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */
-#define XK_braille_dots_1235678 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
-#define XK_braille_dots_45678 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */
-#define XK_braille_dots_145678 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */
-#define XK_braille_dots_245678 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */
-#define XK_braille_dots_1245678 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */
-#define XK_braille_dots_345678 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */
-#define XK_braille_dots_1345678 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */
-#define XK_braille_dots_2345678 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */
-#define XK_braille_dots_12345678 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */
+#define XK_braille_dots_2458 0x100289a /* U+289A BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458 0x100289b /* U+289B BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458 0x100289c /* U+289C BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458 0x100289d /* U+289D BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458 0x100289e /* U+289E BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458 0x100289f /* U+289F BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68 0x10028a0 /* U+28A0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168 0x10028a1 /* U+28A1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268 0x10028a2 /* U+28A2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268 0x10028a3 /* U+28A3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368 0x10028a4 /* U+28A4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368 0x10028a5 /* U+28A5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368 0x10028a6 /* U+28A6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368 0x10028a7 /* U+28A7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468 0x10028a8 /* U+28A8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468 0x10028a9 /* U+28A9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468 0x10028aa /* U+28AA BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468 0x10028ab /* U+28AB BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468 0x10028ac /* U+28AC BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468 0x10028ad /* U+28AD BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468 0x10028ae /* U+28AE BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468 0x10028af /* U+28AF BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568 0x10028b0 /* U+28B0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568 0x10028b1 /* U+28B1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568 0x10028b2 /* U+28B2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568 0x10028b3 /* U+28B3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568 0x10028b4 /* U+28B4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568 0x10028b5 /* U+28B5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568 0x10028b6 /* U+28B6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568 0x10028b7 /* U+28B7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568 0x10028b8 /* U+28B8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568 0x10028b9 /* U+28B9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568 0x10028ba /* U+28BA BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568 0x10028bb /* U+28BB BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568 0x10028bc /* U+28BC BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568 0x10028bd /* U+28BD BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568 0x10028be /* U+28BE BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568 0x10028bf /* U+28BF BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78 0x10028c0 /* U+28C0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178 0x10028c1 /* U+28C1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278 0x10028c2 /* U+28C2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278 0x10028c3 /* U+28C3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378 0x10028c4 /* U+28C4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378 0x10028c5 /* U+28C5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378 0x10028c6 /* U+28C6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378 0x10028c7 /* U+28C7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478 0x10028c8 /* U+28C8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478 0x10028c9 /* U+28C9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478 0x10028ca /* U+28CA BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478 0x10028cb /* U+28CB BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478 0x10028cc /* U+28CC BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478 0x10028cd /* U+28CD BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478 0x10028ce /* U+28CE BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478 0x10028cf /* U+28CF BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578 0x10028d0 /* U+28D0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578 0x10028d1 /* U+28D1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578 0x10028d2 /* U+28D2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578 0x10028d3 /* U+28D3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578 0x10028d4 /* U+28D4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578 0x10028d5 /* U+28D5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578 0x10028d6 /* U+28D6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578 0x10028d7 /* U+28D7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578 0x10028d8 /* U+28D8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578 0x10028d9 /* U+28D9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578 0x10028da /* U+28DA BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578 0x10028db /* U+28DB BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578 0x10028dc /* U+28DC BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578 0x10028dd /* U+28DD BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578 0x10028de /* U+28DE BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578 0x10028df /* U+28DF BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678 0x10028e0 /* U+28E0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678 0x10028e1 /* U+28E1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678 0x10028e2 /* U+28E2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678 0x10028e3 /* U+28E3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678 0x10028e4 /* U+28E4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678 0x10028e5 /* U+28E5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678 0x10028e6 /* U+28E6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678 0x10028e7 /* U+28E7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678 0x10028e8 /* U+28E8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678 0x10028e9 /* U+28E9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678 0x10028ea /* U+28EA BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678 0x10028eb /* U+28EB BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678 0x10028ec /* U+28EC BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678 0x10028ed /* U+28ED BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678 0x10028ee /* U+28EE BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678 0x10028ef /* U+28EF BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678 0x10028f0 /* U+28F0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678 0x10028f1 /* U+28F1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678 0x10028f2 /* U+28F2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678 0x10028f3 /* U+28F3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678 0x10028f4 /* U+28F4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678 0x10028f5 /* U+28F5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678 0x10028f6 /* U+28F6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678 0x10028f7 /* U+28F7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678 0x10028f8 /* U+28F8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678 0x10028f9 /* U+28F9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678 0x10028fa /* U+28FA BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678 0x10028fb /* U+28FB BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678 0x10028fc /* U+28FC BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678 0x10028fd /* U+28FD BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678 0x10028fe /* U+28FE BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678 0x10028ff /* U+28FF BRAILLE PATTERN DOTS-12345678 */
#endif /* XK_BRAILLE */
/*
@@ -2418,84 +2501,84 @@ SOFTWARE.
*/
#ifdef XK_SINHALA
-#define XK_Sinh_ng 0x1000d82 /* U+0D82 SINHALA ANUSVARAYA */
-#define XK_Sinh_h2 0x1000d83 /* U+0D83 SINHALA VISARGAYA */
-#define XK_Sinh_a 0x1000d85 /* U+0D85 SINHALA AYANNA */
-#define XK_Sinh_aa 0x1000d86 /* U+0D86 SINHALA AAYANNA */
-#define XK_Sinh_ae 0x1000d87 /* U+0D87 SINHALA AEYANNA */
-#define XK_Sinh_aee 0x1000d88 /* U+0D88 SINHALA AEEYANNA */
-#define XK_Sinh_i 0x1000d89 /* U+0D89 SINHALA IYANNA */
-#define XK_Sinh_ii 0x1000d8a /* U+0D8A SINHALA IIYANNA */
-#define XK_Sinh_u 0x1000d8b /* U+0D8B SINHALA UYANNA */
-#define XK_Sinh_uu 0x1000d8c /* U+0D8C SINHALA UUYANNA */
-#define XK_Sinh_ri 0x1000d8d /* U+0D8D SINHALA IRUYANNA */
-#define XK_Sinh_rii 0x1000d8e /* U+0D8E SINHALA IRUUYANNA */
-#define XK_Sinh_lu 0x1000d8f /* U+0D8F SINHALA ILUYANNA */
-#define XK_Sinh_luu 0x1000d90 /* U+0D90 SINHALA ILUUYANNA */
-#define XK_Sinh_e 0x1000d91 /* U+0D91 SINHALA EYANNA */
-#define XK_Sinh_ee 0x1000d92 /* U+0D92 SINHALA EEYANNA */
-#define XK_Sinh_ai 0x1000d93 /* U+0D93 SINHALA AIYANNA */
-#define XK_Sinh_o 0x1000d94 /* U+0D94 SINHALA OYANNA */
-#define XK_Sinh_oo 0x1000d95 /* U+0D95 SINHALA OOYANNA */
-#define XK_Sinh_au 0x1000d96 /* U+0D96 SINHALA AUYANNA */
-#define XK_Sinh_ka 0x1000d9a /* U+0D9A SINHALA KAYANNA */
-#define XK_Sinh_kha 0x1000d9b /* U+0D9B SINHALA MAHA. KAYANNA */
-#define XK_Sinh_ga 0x1000d9c /* U+0D9C SINHALA GAYANNA */
-#define XK_Sinh_gha 0x1000d9d /* U+0D9D SINHALA MAHA. GAYANNA */
-#define XK_Sinh_ng2 0x1000d9e /* U+0D9E SINHALA KANTAJA NAASIKYAYA */
-#define XK_Sinh_nga 0x1000d9f /* U+0D9F SINHALA SANYAKA GAYANNA */
-#define XK_Sinh_ca 0x1000da0 /* U+0DA0 SINHALA CAYANNA */
-#define XK_Sinh_cha 0x1000da1 /* U+0DA1 SINHALA MAHA. CAYANNA */
-#define XK_Sinh_ja 0x1000da2 /* U+0DA2 SINHALA JAYANNA */
-#define XK_Sinh_jha 0x1000da3 /* U+0DA3 SINHALA MAHA. JAYANNA */
-#define XK_Sinh_nya 0x1000da4 /* U+0DA4 SINHALA TAALUJA NAASIKYAYA */
-#define XK_Sinh_jnya 0x1000da5 /* U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA */
-#define XK_Sinh_nja 0x1000da6 /* U+0DA6 SINHALA SANYAKA JAYANNA */
-#define XK_Sinh_tta 0x1000da7 /* U+0DA7 SINHALA TTAYANNA */
-#define XK_Sinh_ttha 0x1000da8 /* U+0DA8 SINHALA MAHA. TTAYANNA */
-#define XK_Sinh_dda 0x1000da9 /* U+0DA9 SINHALA DDAYANNA */
-#define XK_Sinh_ddha 0x1000daa /* U+0DAA SINHALA MAHA. DDAYANNA */
-#define XK_Sinh_nna 0x1000dab /* U+0DAB SINHALA MUURDHAJA NAYANNA */
-#define XK_Sinh_ndda 0x1000dac /* U+0DAC SINHALA SANYAKA DDAYANNA */
-#define XK_Sinh_tha 0x1000dad /* U+0DAD SINHALA TAYANNA */
-#define XK_Sinh_thha 0x1000dae /* U+0DAE SINHALA MAHA. TAYANNA */
-#define XK_Sinh_dha 0x1000daf /* U+0DAF SINHALA DAYANNA */
-#define XK_Sinh_dhha 0x1000db0 /* U+0DB0 SINHALA MAHA. DAYANNA */
-#define XK_Sinh_na 0x1000db1 /* U+0DB1 SINHALA DANTAJA NAYANNA */
-#define XK_Sinh_ndha 0x1000db3 /* U+0DB3 SINHALA SANYAKA DAYANNA */
-#define XK_Sinh_pa 0x1000db4 /* U+0DB4 SINHALA PAYANNA */
-#define XK_Sinh_pha 0x1000db5 /* U+0DB5 SINHALA MAHA. PAYANNA */
-#define XK_Sinh_ba 0x1000db6 /* U+0DB6 SINHALA BAYANNA */
-#define XK_Sinh_bha 0x1000db7 /* U+0DB7 SINHALA MAHA. BAYANNA */
-#define XK_Sinh_ma 0x1000db8 /* U+0DB8 SINHALA MAYANNA */
-#define XK_Sinh_mba 0x1000db9 /* U+0DB9 SINHALA AMBA BAYANNA */
-#define XK_Sinh_ya 0x1000dba /* U+0DBA SINHALA YAYANNA */
-#define XK_Sinh_ra 0x1000dbb /* U+0DBB SINHALA RAYANNA */
-#define XK_Sinh_la 0x1000dbd /* U+0DBD SINHALA DANTAJA LAYANNA */
-#define XK_Sinh_va 0x1000dc0 /* U+0DC0 SINHALA VAYANNA */
-#define XK_Sinh_sha 0x1000dc1 /* U+0DC1 SINHALA TAALUJA SAYANNA */
-#define XK_Sinh_ssha 0x1000dc2 /* U+0DC2 SINHALA MUURDHAJA SAYANNA */
-#define XK_Sinh_sa 0x1000dc3 /* U+0DC3 SINHALA DANTAJA SAYANNA */
-#define XK_Sinh_ha 0x1000dc4 /* U+0DC4 SINHALA HAYANNA */
-#define XK_Sinh_lla 0x1000dc5 /* U+0DC5 SINHALA MUURDHAJA LAYANNA */
-#define XK_Sinh_fa 0x1000dc6 /* U+0DC6 SINHALA FAYANNA */
-#define XK_Sinh_al 0x1000dca /* U+0DCA SINHALA AL-LAKUNA */
-#define XK_Sinh_aa2 0x1000dcf /* U+0DCF SINHALA AELA-PILLA */
-#define XK_Sinh_ae2 0x1000dd0 /* U+0DD0 SINHALA AEDA-PILLA */
-#define XK_Sinh_aee2 0x1000dd1 /* U+0DD1 SINHALA DIGA AEDA-PILLA */
-#define XK_Sinh_i2 0x1000dd2 /* U+0DD2 SINHALA IS-PILLA */
-#define XK_Sinh_ii2 0x1000dd3 /* U+0DD3 SINHALA DIGA IS-PILLA */
-#define XK_Sinh_u2 0x1000dd4 /* U+0DD4 SINHALA PAA-PILLA */
-#define XK_Sinh_uu2 0x1000dd6 /* U+0DD6 SINHALA DIGA PAA-PILLA */
-#define XK_Sinh_ru2 0x1000dd8 /* U+0DD8 SINHALA GAETTA-PILLA */
-#define XK_Sinh_e2 0x1000dd9 /* U+0DD9 SINHALA KOMBUVA */
-#define XK_Sinh_ee2 0x1000dda /* U+0DDA SINHALA DIGA KOMBUVA */
-#define XK_Sinh_ai2 0x1000ddb /* U+0DDB SINHALA KOMBU DEKA */
-#define XK_Sinh_o2 0x1000ddc /* U+0DDC SINHALA KOMBUVA HAA AELA-PILLA*/
-#define XK_Sinh_oo2 0x1000ddd /* U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILLA*/
-#define XK_Sinh_au2 0x1000dde /* U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA */
-#define XK_Sinh_lu2 0x1000ddf /* U+0DDF SINHALA GAYANUKITTA */
-#define XK_Sinh_ruu2 0x1000df2 /* U+0DF2 SINHALA DIGA GAETTA-PILLA */
-#define XK_Sinh_luu2 0x1000df3 /* U+0DF3 SINHALA DIGA GAYANUKITTA */
-#define XK_Sinh_kunddaliya 0x1000df4 /* U+0DF4 SINHALA KUNDDALIYA */
+#define XK_Sinh_ng 0x1000d82 /* U+0D82 SINHALA SIGN ANUSVARAYA */
+#define XK_Sinh_h2 0x1000d83 /* U+0D83 SINHALA SIGN VISARGAYA */
+#define XK_Sinh_a 0x1000d85 /* U+0D85 SINHALA LETTER AYANNA */
+#define XK_Sinh_aa 0x1000d86 /* U+0D86 SINHALA LETTER AAYANNA */
+#define XK_Sinh_ae 0x1000d87 /* U+0D87 SINHALA LETTER AEYANNA */
+#define XK_Sinh_aee 0x1000d88 /* U+0D88 SINHALA LETTER AEEYANNA */
+#define XK_Sinh_i 0x1000d89 /* U+0D89 SINHALA LETTER IYANNA */
+#define XK_Sinh_ii 0x1000d8a /* U+0D8A SINHALA LETTER IIYANNA */
+#define XK_Sinh_u 0x1000d8b /* U+0D8B SINHALA LETTER UYANNA */
+#define XK_Sinh_uu 0x1000d8c /* U+0D8C SINHALA LETTER UUYANNA */
+#define XK_Sinh_ri 0x1000d8d /* U+0D8D SINHALA LETTER IRUYANNA */
+#define XK_Sinh_rii 0x1000d8e /* U+0D8E SINHALA LETTER IRUUYANNA */
+#define XK_Sinh_lu 0x1000d8f /* U+0D8F SINHALA LETTER ILUYANNA */
+#define XK_Sinh_luu 0x1000d90 /* U+0D90 SINHALA LETTER ILUUYANNA */
+#define XK_Sinh_e 0x1000d91 /* U+0D91 SINHALA LETTER EYANNA */
+#define XK_Sinh_ee 0x1000d92 /* U+0D92 SINHALA LETTER EEYANNA */
+#define XK_Sinh_ai 0x1000d93 /* U+0D93 SINHALA LETTER AIYANNA */
+#define XK_Sinh_o 0x1000d94 /* U+0D94 SINHALA LETTER OYANNA */
+#define XK_Sinh_oo 0x1000d95 /* U+0D95 SINHALA LETTER OOYANNA */
+#define XK_Sinh_au 0x1000d96 /* U+0D96 SINHALA LETTER AUYANNA */
+#define XK_Sinh_ka 0x1000d9a /* U+0D9A SINHALA LETTER ALPAPRAANA KAYANNA */
+#define XK_Sinh_kha 0x1000d9b /* U+0D9B SINHALA LETTER MAHAAPRAANA KAYANNA */
+#define XK_Sinh_ga 0x1000d9c /* U+0D9C SINHALA LETTER ALPAPRAANA GAYANNA */
+#define XK_Sinh_gha 0x1000d9d /* U+0D9D SINHALA LETTER MAHAAPRAANA GAYANNA */
+#define XK_Sinh_ng2 0x1000d9e /* U+0D9E SINHALA LETTER KANTAJA NAASIKYAYA */
+#define XK_Sinh_nga 0x1000d9f /* U+0D9F SINHALA LETTER SANYAKA GAYANNA */
+#define XK_Sinh_ca 0x1000da0 /* U+0DA0 SINHALA LETTER ALPAPRAANA CAYANNA */
+#define XK_Sinh_cha 0x1000da1 /* U+0DA1 SINHALA LETTER MAHAAPRAANA CAYANNA */
+#define XK_Sinh_ja 0x1000da2 /* U+0DA2 SINHALA LETTER ALPAPRAANA JAYANNA */
+#define XK_Sinh_jha 0x1000da3 /* U+0DA3 SINHALA LETTER MAHAAPRAANA JAYANNA */
+#define XK_Sinh_nya 0x1000da4 /* U+0DA4 SINHALA LETTER TAALUJA NAASIKYAYA */
+#define XK_Sinh_jnya 0x1000da5 /* U+0DA5 SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA */
+#define XK_Sinh_nja 0x1000da6 /* U+0DA6 SINHALA LETTER SANYAKA JAYANNA */
+#define XK_Sinh_tta 0x1000da7 /* U+0DA7 SINHALA LETTER ALPAPRAANA TTAYANNA */
+#define XK_Sinh_ttha 0x1000da8 /* U+0DA8 SINHALA LETTER MAHAAPRAANA TTAYANNA */
+#define XK_Sinh_dda 0x1000da9 /* U+0DA9 SINHALA LETTER ALPAPRAANA DDAYANNA */
+#define XK_Sinh_ddha 0x1000daa /* U+0DAA SINHALA LETTER MAHAAPRAANA DDAYANNA */
+#define XK_Sinh_nna 0x1000dab /* U+0DAB SINHALA LETTER MUURDHAJA NAYANNA */
+#define XK_Sinh_ndda 0x1000dac /* U+0DAC SINHALA LETTER SANYAKA DDAYANNA */
+#define XK_Sinh_tha 0x1000dad /* U+0DAD SINHALA LETTER ALPAPRAANA TAYANNA */
+#define XK_Sinh_thha 0x1000dae /* U+0DAE SINHALA LETTER MAHAAPRAANA TAYANNA */
+#define XK_Sinh_dha 0x1000daf /* U+0DAF SINHALA LETTER ALPAPRAANA DAYANNA */
+#define XK_Sinh_dhha 0x1000db0 /* U+0DB0 SINHALA LETTER MAHAAPRAANA DAYANNA */
+#define XK_Sinh_na 0x1000db1 /* U+0DB1 SINHALA LETTER DANTAJA NAYANNA */
+#define XK_Sinh_ndha 0x1000db3 /* U+0DB3 SINHALA LETTER SANYAKA DAYANNA */
+#define XK_Sinh_pa 0x1000db4 /* U+0DB4 SINHALA LETTER ALPAPRAANA PAYANNA */
+#define XK_Sinh_pha 0x1000db5 /* U+0DB5 SINHALA LETTER MAHAAPRAANA PAYANNA */
+#define XK_Sinh_ba 0x1000db6 /* U+0DB6 SINHALA LETTER ALPAPRAANA BAYANNA */
+#define XK_Sinh_bha 0x1000db7 /* U+0DB7 SINHALA LETTER MAHAAPRAANA BAYANNA */
+#define XK_Sinh_ma 0x1000db8 /* U+0DB8 SINHALA LETTER MAYANNA */
+#define XK_Sinh_mba 0x1000db9 /* U+0DB9 SINHALA LETTER AMBA BAYANNA */
+#define XK_Sinh_ya 0x1000dba /* U+0DBA SINHALA LETTER YAYANNA */
+#define XK_Sinh_ra 0x1000dbb /* U+0DBB SINHALA LETTER RAYANNA */
+#define XK_Sinh_la 0x1000dbd /* U+0DBD SINHALA LETTER DANTAJA LAYANNA */
+#define XK_Sinh_va 0x1000dc0 /* U+0DC0 SINHALA LETTER VAYANNA */
+#define XK_Sinh_sha 0x1000dc1 /* U+0DC1 SINHALA LETTER TAALUJA SAYANNA */
+#define XK_Sinh_ssha 0x1000dc2 /* U+0DC2 SINHALA LETTER MUURDHAJA SAYANNA */
+#define XK_Sinh_sa 0x1000dc3 /* U+0DC3 SINHALA LETTER DANTAJA SAYANNA */
+#define XK_Sinh_ha 0x1000dc4 /* U+0DC4 SINHALA LETTER HAYANNA */
+#define XK_Sinh_lla 0x1000dc5 /* U+0DC5 SINHALA LETTER MUURDHAJA LAYANNA */
+#define XK_Sinh_fa 0x1000dc6 /* U+0DC6 SINHALA LETTER FAYANNA */
+#define XK_Sinh_al 0x1000dca /* U+0DCA SINHALA SIGN AL-LAKUNA */
+#define XK_Sinh_aa2 0x1000dcf /* U+0DCF SINHALA VOWEL SIGN AELA-PILLA */
+#define XK_Sinh_ae2 0x1000dd0 /* U+0DD0 SINHALA VOWEL SIGN KETTI AEDA-PILLA */
+#define XK_Sinh_aee2 0x1000dd1 /* U+0DD1 SINHALA VOWEL SIGN DIGA AEDA-PILLA */
+#define XK_Sinh_i2 0x1000dd2 /* U+0DD2 SINHALA VOWEL SIGN KETTI IS-PILLA */
+#define XK_Sinh_ii2 0x1000dd3 /* U+0DD3 SINHALA VOWEL SIGN DIGA IS-PILLA */
+#define XK_Sinh_u2 0x1000dd4 /* U+0DD4 SINHALA VOWEL SIGN KETTI PAA-PILLA */
+#define XK_Sinh_uu2 0x1000dd6 /* U+0DD6 SINHALA VOWEL SIGN DIGA PAA-PILLA */
+#define XK_Sinh_ru2 0x1000dd8 /* U+0DD8 SINHALA VOWEL SIGN GAETTA-PILLA */
+#define XK_Sinh_e2 0x1000dd9 /* U+0DD9 SINHALA VOWEL SIGN KOMBUVA */
+#define XK_Sinh_ee2 0x1000dda /* U+0DDA SINHALA VOWEL SIGN DIGA KOMBUVA */
+#define XK_Sinh_ai2 0x1000ddb /* U+0DDB SINHALA VOWEL SIGN KOMBU DEKA */
+#define XK_Sinh_o2 0x1000ddc /* U+0DDC SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA */
+#define XK_Sinh_oo2 0x1000ddd /* U+0DDD SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA */
+#define XK_Sinh_au2 0x1000dde /* U+0DDE SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA */
+#define XK_Sinh_lu2 0x1000ddf /* U+0DDF SINHALA VOWEL SIGN GAYANUKITTA */
+#define XK_Sinh_ruu2 0x1000df2 /* U+0DF2 SINHALA VOWEL SIGN DIGA GAETTA-PILLA */
+#define XK_Sinh_luu2 0x1000df3 /* U+0DF3 SINHALA VOWEL SIGN DIGA GAYANUKITTA */
+#define XK_Sinh_kunddaliya 0x1000df4 /* U+0DF4 SINHALA PUNCTUATION KUNDDALIYA */
#endif /* XK_SINHALA */
diff --git a/proto/xorgproto/install-sh b/proto/xorgproto/install-sh
index 377bb8687..ec298b537 100755
--- a/proto/xorgproto/install-sh
+++ b/proto/xorgproto/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
# This script is compatible with the BSD install script, but was written
# from scratch.
+tab=' '
nl='
'
-IFS=" "" $nl"
+IFS=" $tab$nl"
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
-# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -68,22 +64,16 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
posix_mkdir=
# Desired mode of installed file.
mode=0755
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
+
+backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@@ -97,7 +87,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -114,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
- -C install only if different (preserve the last data modification time)
+ -C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
+ -p pass -p to $cpprog.
-s $stripprog installed files.
+ -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Email bug reports to bug-automake@gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@@ -137,46 +137,62 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
+
+ -p) cpprog="$cpprog -p";;
-s) stripcmd=$stripprog;;
- -t) dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -S) backupsuffix="$2"
+ shift;;
- -T) no_target_directory=true;;
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -208,6 +224,15 @@ if test $# -eq 0; then
fi
if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
@@ -223,16 +248,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -250,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
+ # Don't chown directories that already exist.
+ if test $dstdir_status = 0; then
+ chowncmd=""
+ fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@@ -266,178 +295,148 @@ do
fi
dst=$dst_arg
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
+ # If destination is a directory, append the input filename.
if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
- dst=$dstdir/`basename "$src"`
+ dstbase=`basename "$src"`
+ case $dst in
+ */) dst=$dst$dstbase;;
+ *) dst=$dst/$dstbase;;
+ esac
dstdir_status=0
else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
+ dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
+ case $dstdir in
+ */) dstdirslash=$dstdir;;
+ *) dstdirslash=$dstdir/;;
+ esac
+
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ # The $RANDOM variable is not portable (e.g., dash). Use it
+ # here however when possible just to lower collision chance.
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+ trap '
+ ret=$?
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
+ exit $ret
+ ' 0
+
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p'.
+ if (umask $mkdir_umask &&
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
- mkdir_mode=
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ trap '' 0;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
- # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
esac
- eval "$initialize_posix_glob"
-
oIFS=$IFS
IFS=/
- $posix_glob set -f
+ set -f
set fnord $dstdir
shift
- $posix_glob set +f
+ set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -450,14 +449,25 @@ do
else
# Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
+ dsttmp=${dstdirslash}_inst.$$_
+ rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+ (umask $cp_umask &&
+ { test -z "$stripcmd" || {
+ # Create $dsttmp read-write so that cp doesn't create it read-only,
+ # which would cause strip to fail.
+ if test -z "$doit"; then
+ : >"$dsttmp" # No need to fork-exec 'touch'.
+ else
+ $doit touch "$dsttmp"
+ fi
+ }
+ } &&
+ $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -472,20 +482,24 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
+ set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
+ # If $backupsuffix is set, and the file being installed
+ # already exists, attempt a backup. Don't worry if it fails,
+ # e.g., if mv doesn't support -f.
+ if test -n "$backupsuffix" && test -f "$dst"; then
+ $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+ fi
+
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@@ -493,24 +507,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
@@ -519,9 +533,9 @@ do
done
# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/proto/xorgproto/meson.build b/proto/xorgproto/meson.build
index 404339d6a..b698b7603 100644
--- a/proto/xorgproto/meson.build
+++ b/proto/xorgproto/meson.build
@@ -19,7 +19,7 @@
# SOFTWARE.
# keep version in sync with configure.ac
-project('xorgproto', 'c', license : 'MIT', version : '2023.2',
+project('xorgproto', 'c', license : 'MIT', version : '2024.1',
meson_version : '>=0.56.0')
cc = meson.get_compiler('c')
@@ -112,7 +112,16 @@ if get_option('legacy') == true
endif
ext_xorgproto = declare_dependency(
- include_directories : include_directories('include')
+ include_directories : [
+ include_directories('include'),
+ include_directories('include' / 'GL'),
+ include_directories('include' / 'GL' / 'internal'),
+ include_directories('include' / 'X11'),
+ include_directories('include' / 'X11' / 'dri'),
+ include_directories('include' / 'X11' / 'extensions'),
+ include_directories('include' / 'X11' / 'fonts'),
+ include_directories('include' / 'X11' / 'PM'),
+ ]
)
subdir('include')
diff --git a/proto/xorgproto/presentproto.pc.in b/proto/xorgproto/presentproto.pc.in
index 829d608da..f5d5b8bf9 100644
--- a/proto/xorgproto/presentproto.pc.in
+++ b/proto/xorgproto/presentproto.pc.in
@@ -3,5 +3,5 @@ includedir=@includedir@
Name: PresentProto
Description: Present extension headers
-Version: 1.3
+Version: 1.4
Cflags: -I${includedir}
diff --git a/proto/xorgproto/presentproto.txt b/proto/xorgproto/presentproto.txt
index b47409388..56c20d4d5 100644
--- a/proto/xorgproto/presentproto.txt
+++ b/proto/xorgproto/presentproto.txt
@@ -1,5 +1,5 @@
The Present Extension
- Version 1.3
+ Version 1.4
2023-06-13
Keith Packard
@@ -63,7 +63,8 @@ PRESENTOPTION { PresentOptionAsync,
PRESENTCAPABILITY { PresentCapabilityAsync,
PresentCapabilityFence,
PresentCapabilityUST,
- PresentCapabilityAsyncMayTear }
+ PresentCapabilityAsyncMayTear,
+ PresentCapabilitySyncobj }
PRESENTCOMPLETEKIND { PresentCompleteKindPixmap,
PresentCompleteKindMSCNotify }
@@ -359,6 +360,85 @@ The name of this extension is "Present"
defined by the extension, but is expected to be on the order
of milliseconds or less.
+ PresentCapabilitySyncobj means that the target device supports
+ explicit synchronization using timeline DRM synchronization
+ objects. See the PresentPixmapSynced request for details.
+
+┌───
+ PresentPixmapSynced
+ window: WINDOW
+ pixmap: PIXMAP
+ serial: CARD32
+ valid-area: REGION or None
+ update-area: REGION or None
+ x-off, y-off: INT16
+ target-crtc: CRTC or None
+ acquire-syncobj: SYNCOBJ or None
+ release-syncobj: SYNCOBJ or None
+ acquire-point: CARD64
+ release-point: CARD64
+ options: SETofPRESENTOPTION
+ target-msc: CARD64
+ divisor: CARD64
+ remainder: CARD64
+ notifies: LISTofPRESENTNOTIFY
+└───
+ Errors: Window, Pixmap, Match, Value
+
+ Identical to the PresentPixmap request, except that instead of the
+ 'wait-fence' and 'idle-fence' arguments it accepts mandatory
+ 'acquire-syncobj' and 'release-syncobj' arguments, along with
+ corresponding acquire and release points, to be used for explicit
+ timeline-based GPU synchronization. The 'acquire-point' and
+ 'release-point' are assumed to correspond to timeline points on the
+ respective DRM syncobjs.
+
+ The contents of the Pixmap will not be accessed by the server until the
+ 'acquire-point' on the acquire timeline has been signaled by the
+ client. The fence need not be submitted at the time the
+ PresentPixmapSynced request is issued.
+
+ Once the 'release-point' on the release timeline has been signaled, the
+ client may assume that no further GPU or CPU access to the Pixmap by
+ the server will occur as part of the originating PresentPixmapSynced
+ request. Note that this is a stronger guarantee than what is provided
+ by the 'idle-fence' argument of the PresentPixmap request or the
+ delivery of a PresentIdleNotify event, as those do not necessarily
+ imply that the Pixmap is idle on the GPU.
+
+ The server may wait for the acquire point and signal the release point
+ itself, as will typically happen if the request is executed by copying
+ the Pixmap's contents. Alternatively, it may forward the timelines,
+ acquire, and release points to an output sink directly, provided that
+ sink also supports explicit synchronization using DRM syncobjs.
+
+ The server may signal the release point without waiting for the acquire
+ point if the Pixmap's contents are never accessed while servicing the
+ request. This may happen, for example, if a request is discarded due to
+ it being fully occluded by a later request.
+
+ Beware that, if multiple Pixmaps are presented using the same release
+ timeline, the server makes no guarantees on the order in which the
+ release points will be signaled. Of particular concern is that, if the
+ later of the two release points is signaled before the earlier one, it
+ may appear to the client as though the Pixmap with the earlier release
+ point has been released before the server has finished its access to
+ it. Therefore, in general, clients are strongly advised to avoid using
+ the same release timeline with different Pixmaps.
+
+ If the server does not support PresentCapabilitySyncobj, a Value error
+ is generated.
+
+ If either 'acquire-syncobj' or 'release-syncobj' are None or do not
+ refer to previously imported syncobjs, a Value error is generated.
+
+ If 'acquire-point' or 'release-point' is zero, a Value error is
+ generated.
+
+ If 'acquire-syncobj' is equal to 'release-syncobj' and 'acquire-point'
+ is greater than or equal to 'release-point', a Value error is
+ generated.
+
7.1 Requests proposed for a later Present extension version
@@ -729,6 +809,31 @@ A.2 Protocol Requests
4 SETofPRESENTCAPABILITY capabilities
└───
+┌───
+ PresentPixmapSynced
+ 1 CARD8 major opcode
+ 1 5 Present opcode
+ 2 22+2n length
+ 4 Window window
+ 4 Pixmap pixmap
+ 4 CARD32 serial
+ 4 Region valid-area
+ 4 Region update-area
+ 2 INT16 x-off
+ 2 INT16 y-off
+ 4 CRTC target-crtc
+ 4 SYNCOBJ acquire-syncobj
+ 4 SYNCOBJ release-syncobj
+ 8 CARD64 acquire-point
+ 8 CARD64 release-point
+ 4 CARD32 options
+ 4 unused
+ 8 CARD64 target-msc
+ 8 CARD64 divisor
+ 8 CARD64 remainder
+ 8n LISTofPresentNotify notifies
+└───
+
A.3 Protocol Events
┌───
diff --git a/proto/xorgproto/scripts/keysym-generator.py b/proto/xorgproto/scripts/keysym-generator.py
index 24b7b838b..bdcecdc8b 100644
--- a/proto/xorgproto/scripts/keysym-generator.py
+++ b/proto/xorgproto/scripts/keysym-generator.py
@@ -138,6 +138,12 @@ class Kernel(object):
return version if version != self.versions[0] else None
+TARGET_KEYSYM_COLUMN = 54
+"""Column in the file we want the keysym codes to end"""
+KEYSYM_NAME_MAX_LENGTH = TARGET_KEYSYM_COLUMN - len("#define ") - len("_EVDEVK(0xNNN)")
+KERNEL_VERSION_PADDING = 7
+
+
def generate_keysym_line(code, kernel, kver_list=[]):
"""
Generate the line to append to the keysym file.
@@ -153,7 +159,9 @@ def generate_keysym_line(code, kernel, kver_list=[]):
name = "".join([s.capitalize() for s in evcode.name[4:].lower().split("_")])
keysym = f"XF86XK_{name}"
- tabs = 4 - len(keysym) // 8
+ spaces = KEYSYM_NAME_MAX_LENGTH - len(keysym)
+ if not spaces:
+ raise ValueError(f"Insufficient padding for keysym “{keysym}”.")
kver = kernel.introduced_in_version(evcode.name) or " "
if kver_list:
from fnmatch import fnmatch
@@ -165,7 +173,7 @@ def generate_keysym_line(code, kernel, kver_list=[]):
else: # no match
return None
- return f"#define {keysym}{' ' * tabs}_EVDEVK(0x{code:03X}) /* {kver:5s} {evcode.name} */"
+ return f"#define {keysym}{' ' * spaces}_EVDEVK(0x{code:03x}) /* {kver: <{KERNEL_VERSION_PADDING}s} {evcode.name} */"
def verify(ns):
@@ -181,17 +189,17 @@ def verify(ns):
# This is the full pattern we expect.
expected_pattern = re.compile(
- r"#define XF86XK_\w+\t+_EVDEVK\(0x([0-9A-F]{3})\)\t+/\* (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+ r"#define XF86XK_\w+ +_EVDEVK\(0x([0-9A-Fa-f]{3})\) +/\* (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
)
# This is the comment pattern we expect
expected_comment_pattern = re.compile(
- r"/\* Use: (?P<name>\w+)\t+_EVDEVK\(0x(?P<value>[0-9A-F]{3})\)\t+ (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
+ r"/\* Use: (?P<name>\w+) +_EVDEVK\(0x(?P<value>[0-9A-Fa-f]{3})\) + (v[2-6]\.[0-9]+(\.[0-9]+)?)? +KEY_\w+ \*/"
)
# Some patterns to spot specific errors, just so we can print useful errors
define = re.compile(r"^#define .*")
name_pattern = re.compile(r"#define (XF86XK_[^\s]*)")
- tab_check = re.compile(r"#define \w+(\s+)[^\s]+(\s+)")
+ space_check = re.compile(r"#define \w+(\s+)[^\s]+(\s+)")
hex_pattern = re.compile(r".*0x([a-f0-9]+).*", re.I)
comment_format = re.compile(r".*/\* ([^\s]+)?\s+(\w+)")
kver_format = re.compile(r"v[2-6]\.[0-9]+(\.[0-9]+)?")
@@ -231,13 +239,13 @@ def verify(ns):
continue
# Comments we only search for a hex pattern and where there is one present
- # we only check for uppercase format, ordering and update our last_keycode.
+ # we only check for lower case format, ordering and update our last_keycode.
if not re.match(define, line):
match = re.match(expected_comment_pattern, line)
if match:
hexcode = match.group("value")
- if hexcode != hexcode.upper():
- error(f"Hex code 0x{hexcode} must be uppercase", line)
+ if hexcode != hexcode.lower():
+ error(f"Hex code 0x{hexcode} must be lower case", line)
if hexcode:
keycode = int(hexcode, 16)
if keycode < last_keycode:
@@ -269,14 +277,14 @@ def verify(ns):
match = re.match(hex_pattern, line)
if not match:
error("No hex code", line)
- if match.group(1) != match.group(1).upper():
- error(f"Hex code 0x{match.group(1)} must be uppercase", line)
+ if match.group(1) != match.group(1).lower():
+ error(f"Hex code 0x{match.group(1)} must be lowercase", line)
- tabs = re.match(tab_check, line)
- if not tabs: # bug
+ spaces = re.match(space_check, line)
+ if not spaces: # bug
error("Matching error", line)
- if " " in tabs.group(1) or " " in tabs.group(2):
- error("Use tabs, not spaces", line)
+ if "\t" in spaces.group(1) or "\t" in spaces.group(2):
+ error("Use spaces, not tabs", line)
comment = re.match(comment_format, line)
if not comment:
@@ -337,7 +345,7 @@ def add_keysyms(ns):
# If verification succeeds, we can be a bit more lenient here because we already know
# what the format of the field is. Specifically, we're searching for
# 3-digit hexcode in brackets and use that as keycode.
- pattern = re.compile(r".*_EVDEVK\((0x[a-fA-F0-9]{3})\).*")
+ pattern = re.compile(r".*_EVDEVK\((0x[0-9A-Fa-f]{3})\).*")
max_code = max(
[
c.value
diff --git a/proto/xorgproto/specs/Makefile.in b/proto/xorgproto/specs/Makefile.in
index 0e50758c2..9af0c94e4 100644
--- a/proto/xorgproto/specs/Makefile.in
+++ b/proto/xorgproto/specs/Makefile.in
@@ -134,7 +134,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -145,12 +144,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/bigreqsproto/Makefile.in b/proto/xorgproto/specs/bigreqsproto/Makefile.in
index 408a9287c..f7597bf56 100644
--- a/proto/xorgproto/specs/bigreqsproto/Makefile.in
+++ b/proto/xorgproto/specs/bigreqsproto/Makefile.in
@@ -148,7 +148,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -159,12 +158,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/fontsproto/Makefile.in b/proto/xorgproto/specs/fontsproto/Makefile.in
index 67ffa345b..ff903364e 100644
--- a/proto/xorgproto/specs/fontsproto/Makefile.in
+++ b/proto/xorgproto/specs/fontsproto/Makefile.in
@@ -148,7 +148,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -159,12 +158,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/kbproto/Makefile.in b/proto/xorgproto/specs/kbproto/Makefile.in
index 1ffd2b400..663e06f66 100644
--- a/proto/xorgproto/specs/kbproto/Makefile.in
+++ b/proto/xorgproto/specs/kbproto/Makefile.in
@@ -154,7 +154,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -165,12 +164,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/recordproto/Makefile.in b/proto/xorgproto/specs/recordproto/Makefile.in
index bf1d7cf09..b864ad64a 100644
--- a/proto/xorgproto/specs/recordproto/Makefile.in
+++ b/proto/xorgproto/specs/recordproto/Makefile.in
@@ -148,7 +148,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -159,12 +158,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/scrnsaverproto/Makefile.in b/proto/xorgproto/specs/scrnsaverproto/Makefile.in
index e1bb46ed0..1d8952ff3 100644
--- a/proto/xorgproto/specs/scrnsaverproto/Makefile.in
+++ b/proto/xorgproto/specs/scrnsaverproto/Makefile.in
@@ -148,7 +148,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -159,12 +158,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/xcmiscproto/Makefile.in b/proto/xorgproto/specs/xcmiscproto/Makefile.in
index c7e26e277..bf9891a02 100644
--- a/proto/xorgproto/specs/xcmiscproto/Makefile.in
+++ b/proto/xorgproto/specs/xcmiscproto/Makefile.in
@@ -148,7 +148,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -159,12 +158,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/xextproto/Makefile.in b/proto/xorgproto/specs/xextproto/Makefile.in
index c7f2b962b..c7edf1eeb 100644
--- a/proto/xorgproto/specs/xextproto/Makefile.in
+++ b/proto/xorgproto/specs/xextproto/Makefile.in
@@ -150,7 +150,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -161,12 +160,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
diff --git a/proto/xorgproto/specs/xproto/Makefile.in b/proto/xorgproto/specs/xproto/Makefile.in
index 080da0362..2f6e39cd7 100644
--- a/proto/xorgproto/specs/xproto/Makefile.in
+++ b/proto/xorgproto/specs/xproto/Makefile.in
@@ -149,7 +149,6 @@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
-CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
@@ -160,12 +159,10 @@ DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
-EGREP = @EGREP@
EXEEXT = @EXEEXT@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
-GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@