From: Anders Lindgren Date: Sun, 16 Feb 2014 09:51:41 +0000 (+0100) Subject: * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask X-Git-Tag: emacs-24.3.90~173^2^2~42^2~44 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=62901354fda05c9a05543eecae4aaffb1c31985b;p=emacs.git * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask is set. Fixes: debbugs:16505 --- diff --git a/src/ChangeLog b/src/ChangeLog index 0afc5d39b2f..889efe86f74 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-02-16 Anders Lindgern + + * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask + is set (Bug#16505). + 2014-02-16 Daniel Colascione * dbusbind.c (xd_lisp_dbus_to_dbus): New function. diff --git a/src/nsterm.m b/src/nsterm.m index ff20ea35ebf..b8dd8bc8ad2 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -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) {