fixup! Normalize newline and backspace characters in key event strings

This commit is contained in:
Allan Odgaard
2014-11-17 15:24:32 +01:00
parent 2a40206518
commit 694e6e17dc

View File

@@ -168,12 +168,17 @@ namespace ns
std::string key; NSUInteger flags;
parse_event_string(eventString, key, flags, true);
if(utf8::to_ch(key) == NSBackspaceCharacter)
key = NSDeleteCharacter;
else if(utf8::to_ch(key) == NSNewlineCharacter)
key = NSCarriageReturnCharacter;
std::string modifierString = "";
if(!key.empty())
{
modifierString = string_for(flags);
if(utf8::to_ch(key) == NSBackspaceCharacter)
key = NSDeleteCharacter;
else if(utf8::to_ch(key) == NSNewlineCharacter)
key = NSCarriageReturnCharacter;
}
std::string modifierString = key.empty() ? "" : string_for(flags);
if(startOfKey)
*startOfKey = modifierString.size();
return modifierString + key;