diff --git a/base/applications/osk/main.c b/base/applications/osk/main.c index d7457a7c4c9..641a2b9c156 100644 --- a/base/applications/osk/main.c +++ b/base/applications/osk/main.c @@ -210,14 +210,15 @@ LRESULT OSK_SetKeys(int reason) continue; uVirtKey = MapVirtualKeyW(Keys[i].scancode & SCANCODE_MASK, MAPVK_VSC_TO_VK); - + if (ToUnicode(uVirtKey, Keys[i].scancode & SCANCODE_MASK, bKeyStates, wKey, _countof(wKey), 0) >= 1) { + wKey[1] = UNICODE_NULL; szKey = wKey; } else { - szKey = Keys[i].name; + szKey = L""; } /* Only one & the button will try to underline the next character... */ @@ -262,11 +263,12 @@ LRESULT OSK_SetKeys(int reason) if (Keys[i].translate && ToUnicode(uVirtKey, Keys[i].scancode & SCANCODE_MASK, bKeyStates, wKey, _countof(wKey), 0) >= 1) { + wKey[1] = UNICODE_NULL; szKey = wKey; } else { - szKey = Keys[i].name; + szKey = L""; } Globals.hKeys[i] = CreateWindowW(WC_BUTTONW,