]> git.eshelyaron.com Git - emacs.git/commitdiff
(XTread_socket): Return a non_ascii_keystroke for
authorGerd Moellmann <gerd@gnu.org>
Thu, 4 Oct 2001 14:13:40 +0000 (14:13 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 4 Oct 2001 14:13:40 +0000 (14:13 +0000)
unknown keysyms.

src/ChangeLog
src/xterm.c

index 71d8bd42517f11e817aee7c2bd2fbdd64ef2a3e0..907f1655a99b742591060d9403bc77a0b5b1c224 100644 (file)
@@ -1,3 +1,17 @@
+2001-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+       This handles unknown keysyms better than before.  For example,
+       after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
+       Emacs formerly completely ignored F5.  With the change, it derives
+       a key symbol from the name of the X keysym, `ccaron' in this case.
+       Reported by Martin Buchholz.
+
+       * xterm.c (XTread_socket): Return a non_ascii_keystroke for
+       unknown keysyms.
+
+       * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
+       that EVENT->code isn't a function key, use the keysym's name.
+
 2001-10-04  Gerd Moellmann  <gerd@gnu.org>
 
        FOREACH is a macro that should make it easier to loop over Lisp
index 2487b7afd27099a8b2cbb440da3f3e13c7e6a943..6a3b6ac3a1184f5f8ef2928b5f92ec3b6b6d16c1 100644 (file)
@@ -10526,7 +10526,8 @@ XTread_socket (sd, bufp, numchars, expected)
                           || IsKeypadKey (keysym) /* 0xff80 <= x < 0xffbe */
                           || IsFunctionKey (keysym) /* 0xffbe <= x < 0xffe1 */
                           /* Any "vendor-specific" key is ok.  */
-                          || (orig_keysym & (1 << 28)))
+                          || (orig_keysym & (1 << 28))
+                          || (keysym != NoSymbol && nbytes == 0))
                          && ! (IsModifierKey (orig_keysym)
 #ifndef HAVE_X11R5
 #ifdef XK_Mode_switch