From 62901354fda05c9a05543eecae4aaffb1c31985b Mon Sep 17 00:00:00 2001 From: Anders Lindgren Date: Sun, 16 Feb 2014 10:51:41 +0100 Subject: [PATCH] * nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask is set. Fixes: debbugs:16505 --- src/ChangeLog | 5 +++++ src/nsterm.m | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) 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) { -- 2.39.2