From: Marc-Aurel Zent mzent@codeweavers.com
--- dlls/winemac.drv/keyboard.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/dlls/winemac.drv/keyboard.c b/dlls/winemac.drv/keyboard.c index 335d8136606..250db8a07ba 100644 --- a/dlls/winemac.drv/keyboard.c +++ b/dlls/winemac.drv/keyboard.c @@ -1369,6 +1369,17 @@ INT macdrv_GetKeyNameText(LONG lparam, LPWSTR buffer, INT size) if (!len) break;
+ if (status == noErr && len == 1) + { + CFStringRef stringRef = CFStringCreateWithCharacters(kCFAllocatorDefault, buffer, len); + CFMutableStringRef mutableStringRef = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, stringRef); + + CFStringUppercase(mutableStringRef, CFLocaleGetSystem()); + CFStringGetCharacters(mutableStringRef, CFRangeMake(0, CFStringGetLength(mutableStringRef)), buffer); + CFRelease(stringRef); + CFRelease(mutableStringRef); + } + TRACE("lparam 0x%08x -> %s\n", (unsigned int)lparam, debugstr_w(buffer)); return len; }