]> git.eshelyaron.com Git - emacs.git/commitdiff
* nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask
authorAnders Lindgren <andlind@gmail.com>
Sun, 16 Feb 2014 09:51:41 +0000 (10:51 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Sun, 16 Feb 2014 09:51:41 +0000 (10:51 +0100)
is set.

Fixes: debbugs:16505
src/ChangeLog
src/nsterm.m

index 0afc5d39b2fbb425e1fb2dc463f17d9fca1e2d21..889efe86f74aad497757d8d7e566bfe4e3c5fd2c 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-16  Anders Lindgern <andlind@gmail.com>
+
+       * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask
+       is set (Bug#16505).
+
 2014-02-16  Daniel Colascione  <dancol@dancol.org>
 
        * dbusbind.c (xd_lisp_dbus_to_dbus): New function.
index ff20ea35ebff582137a277dbb84dc706417335ae..b8dd8bc8ad272f9a12ed5fc8de06388161f185e4 100644 (file)
@@ -5119,9 +5119,17 @@ not_in_argv (NSString *arg)
       /* (Carbon way: [theEvent keyCode]) */
 
       /* is it a "function key"? */
-      fnKeysym = (code < 0x00ff && (flags&NSNumericPadKeyMask))
-       ? ns_convert_key ([theEvent keyCode] | NSNumericPadKeyMask)
-       : ns_convert_key (code);
+      /* Note: Sometimes a plain key will have the NSNumericPadKeyMask
+         flag set (this is probably a bug in the OS).
+      */
+      if (code < 0x00ff && (flags&NSNumericPadKeyMask))
+        {
+          fnKeysym = ns_convert_key ([theEvent keyCode] | NSNumericPadKeyMask);
+        }
+      if (fnKeysym == 0)
+        {
+          fnKeysym = ns_convert_key (code);
+        }
 
       if (fnKeysym)
         {