2002/06/04 19:57:19
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:47:50 +0000 (06:47 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:47:50 +0000 (06:47 +0000)
darcs-hash:20040130064750-2ba56-38a24eaa65205e6256e273fcd76d6926a0980fd2.gz

CHANGES
src/org/xwt/plat/Win32.cc

diff --git a/CHANGES b/CHANGES
index c15cc96..84e4e40 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
 01-Jun megacz POSIX.cc, POSIX.java: finally completed POSIX support
 
+01-Jun megacz Win32.cc: attempted fix for international keyboards
+
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");