From bb2bdb2c7cff9908bba541531fc72facb66c3af6 Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 24 Aug 2013 10:27:20 +0100 Subject: [PATCH] Avoided function key presses sending a unicode character on OSX. --- .../native/juce_mac_NSViewComponentPeer.mm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm index 8ec18397ee..f78830d731 100644 --- a/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm +++ b/modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm @@ -632,9 +632,11 @@ public: const String unicode (nsStringToJuce ([ev characters])); const int keyCode = getKeyCodeFromEvent (ev); - //DBG ("unicode: " + unicode + " " + String::toHexString ((int) unicode[0])); - //String unmodified (nsStringToJuce ([ev charactersIgnoringModifiers])); - //DBG ("unmodified: " + unmodified + " " + String::toHexString ((int) unmodified[0])); + #if JUCE_DEBUG_KEYCODES + DBG ("unicode: " + unicode + " " + String::toHexString ((int) unicode[0])); + String unmodified (nsStringToJuce ([ev charactersIgnoringModifiers])); + DBG ("unmodified: " + unmodified + " " + String::toHexString ((int) unmodified[0])); + #endif if (keyCode != 0 || unicode.isNotEmpty()) { @@ -661,7 +663,8 @@ public: break; // (these all seem to generate unwanted garbage unicode strings) default: - if (([ev modifierFlags] & NSCommandKeyMask) != 0) + if (([ev modifierFlags] & NSCommandKeyMask) != 0 + || (keyCode >= NSF1FunctionKey && keyCode <= NSF35FunctionKey)) textCharacter = 0; break; }