diff --git a/app/xkbcomp/ChangeLog b/app/xkbcomp/ChangeLog index 3ea87bd46..6940747d3 100644 --- a/app/xkbcomp/ChangeLog +++ b/app/xkbcomp/ChangeLog @@ -1,3 +1,31 @@ +commit 2abe23d23d3755335c10ff573e4e1f93b682e9d9 +Author: Peter Hutterer +Date: Fri Jun 8 09:10:03 2018 +1000 + + xkbcomp 1.4.2 + + Signed-off-by: Peter Hutterer + +commit 5bc2849273a224a2df593b7e8df31f0bde666482 +Author: Peter Hutterer +Date: Thu Jun 7 11:25:01 2018 +1000 + + Ignore xkb_keycodes.maximum of > 255 + + Continuation from 7fdfabd75 "keycodes: Ignore high keycodes" + + A keymap with a key > 255 will have a xkb_keycodes.maximum of that keycode. + Let's not throw a fatal error on that, just crop it back to the maximum of + 255. This doesn't set the "high_keycode_warned" on purpose so we get this for + the first key that actually matters. + + Reproducible with xkeyboard-config 2.24 which has a maximum of 374. + + https://bugzilla.redhat.com/show_bug.cgi?id=1587998 + + Signed-off-by: Peter Hutterer + Reviewed-by: Daniel Stone + commit 34842845b191082fd1cfff3b7038332cdcadb825 Author: Adam Jackson Date: Thu Mar 1 11:15:18 2018 -0500 diff --git a/app/xkbcomp/compile b/app/xkbcomp/compile index de0005d4f..2ab71e4ea 100644 --- a/app/xkbcomp/compile +++ b/app/xkbcomp/compile @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2016-01-11.22; # UTC diff --git a/app/xkbcomp/configure b/app/xkbcomp/configure index 7e98d5a06..2800cc796 100644 --- a/app/xkbcomp/configure +++ b/app/xkbcomp/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xkbcomp 1.4.1. +# Generated by GNU Autoconf 2.69 for xkbcomp 1.4.2. # # Report bugs to . # @@ -581,8 +581,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xkbcomp' PACKAGE_TARNAME='xkbcomp' -PACKAGE_VERSION='1.4.1' -PACKAGE_STRING='xkbcomp 1.4.1' +PACKAGE_VERSION='1.4.2' +PACKAGE_STRING='xkbcomp 1.4.2' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1319,7 +1319,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 xkbcomp 1.4.1 to adapt to many kinds of systems. +\`configure' configures xkbcomp 1.4.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1389,7 +1389,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xkbcomp 1.4.1:";; + short | recursive ) echo "Configuration of xkbcomp 1.4.2:";; esac cat <<\_ACEOF @@ -1511,7 +1511,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xkbcomp configure 1.4.1 +xkbcomp configure 1.4.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1835,7 +1835,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 xkbcomp $as_me 1.4.1, which was +It was created by xkbcomp $as_me 1.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2664,7 +2664,7 @@ fi # Define the identity of the package. PACKAGE='xkbcomp' - VERSION='1.4.1' + VERSION='1.4.2' cat >>confdefs.h <<_ACEOF @@ -11232,7 +11232,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 xkbcomp $as_me 1.4.1, which was +This file was extended by xkbcomp $as_me 1.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11298,7 +11298,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xkbcomp config.status 1.4.1 +xkbcomp config.status 1.4.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/app/xkbcomp/configure.ac b/app/xkbcomp/configure.ac index 273e72d8a..ccee8f19a 100644 --- a/app/xkbcomp/configure.ac +++ b/app/xkbcomp/configure.ac @@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure. # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xkbcomp], [1.4.1], +AC_INIT([xkbcomp], [1.4.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xkbcomp]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff --git a/app/xkbcomp/keycodes.c b/app/xkbcomp/keycodes.c index d5ac762a5..c21f7c452 100644 --- a/app/xkbcomp/keycodes.c +++ b/app/xkbcomp/keycodes.c @@ -663,7 +663,7 @@ HandleKeyNameVar(VarDef * stmt, KeyNamesInfo * info) ACTION1("Assignment to field %s ignored\n", field.str); return 0; } - if ((tmp.ival < XkbMinLegalKeyCode) || (tmp.ival > XkbMaxLegalKeyCode)) + if ((tmp.ival < XkbMinLegalKeyCode)) { ERROR3 ("Illegal keycode %d (must be in the range %d-%d inclusive)\n", @@ -671,6 +671,14 @@ HandleKeyNameVar(VarDef * stmt, KeyNamesInfo * info) ACTION1("Value of \"%s\" not changed\n", field.str); return 0; } + if ((tmp.ival > XkbMaxLegalKeyCode)) + { + WARN2("Unsupported maximum keycode %d, clipping.\n", tmp.ival); + ACTION2("X11 cannot support keycodes above 255.\n"); + info->explicitMax = XkbMaxLegalKeyCode; + info->effectiveMax = XkbMaxLegalKeyCode; + return 1; + } if (which == MIN_KEYCODE_DEF) { if ((info->explicitMax > 0) && (info->explicitMax < tmp.ival))