int r, i, code;
unsigned char * p = output;
+ HKL kbd_layout = GetKeyboardLayout(0);
+
static WORD keys[3];
static int compose_char = 0;
static WPARAM compose_key = 0;
-
+
r = GetKeyboardState(keystate);
if (!r) memset(keystate, 0, sizeof(keystate));
else
debug(("*"));
debug((", S%02x", scan=(HIWORD(lParam) & 0xFF) ));
- ch = MapVirtualKey(wParam, 2);
+ ch = MapVirtualKeyEx(wParam, 2, kbd_layout);
if (ch>=' ' && ch<='~') debug((", '%c'", ch));
else if (ch) debug((", $%02x", ch));
if(cfg.xlat_capslockcyr)
keystate[VK_CAPITAL] = 0;
- r = ToAscii (wParam, scan, keystate, keys, 0);
+ r = ToAsciiEx(wParam, scan, keystate, keys, 0, kbd_layout);
if(r>0)
{
p = output;