From: megacz Date: Fri, 30 Jan 2004 06:47:50 +0000 (+0000) Subject: 2002/06/04 19:57:19 X-Git-Tag: RC3~1707 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=4389a9e7b9ab40a44c593297b005677fdd128f6d;p=org.ibex.core.git 2002/06/04 19:57:19 darcs-hash:20040130064750-2ba56-38a24eaa65205e6256e273fcd76d6926a0980fd2.gz --- diff --git a/CHANGES b/CHANGES index c15cc96..84e4e40 100644 --- a/CHANGES +++ b/CHANGES @@ -180,3 +180,5 @@ 01-Jun megacz POSIX.cc, POSIX.java: finally completed POSIX support +01-Jun megacz Win32.cc: attempted fix for international keyboards + diff --git a/src/org/xwt/plat/Win32.cc b/src/org/xwt/plat/Win32.cc index d2f699b..ef8d70f 100644 --- a/src/org/xwt/plat/Win32.cc +++ b/src/org/xwt/plat/Win32.cc @@ -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");