2002/06/04 19:57:19
[org.ibex.core.git] / src / org / xwt / plat / Win32.cc
index d2f699b..ef8d70f 100644 (file)
@@ -821,13 +821,13 @@ jint org::xwt::plat::Win32$Win32Surface::WndProc(jint _hwnd, jint _iMsg, jint _w
 
 static char keyarr [256] = { 0 };
 static jstring keyToString(WPARAM wParam) {
-    char arr[4];
+    char arr[8];
     keyarr[VK_CAPITAL] = GetKeyState(VK_CAPITAL);
     keyarr[VK_LSHIFT] = GetKeyState(VK_LSHIFT);
     keyarr[VK_RSHIFT] = GetKeyState(VK_RSHIFT);
     keyarr[VK_SHIFT] = GetKeyState(VK_SHIFT);
-    
-    if (ToAscii(wParam, 0, (BYTE*)keyarr, (WORD*)arr, 0) == 1) {
+
+    if (ToAsciiEx(wParam, 0, (BYTE*)keyarr, (WORD*)arr, 0, GetKeyboardLayout(0)) == 1) {
         switch (arr[0]) {
         case '\t': return JvNewStringLatin1("tab");
         case 0x1b: return JvNewStringLatin1("escape");