mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-14 19:55:40 +00:00
wineconsole: Don't ignore extended keys.
This commit is contained in:
parent
de267347c5
commit
b8b0b7fa41
|
@ -1035,26 +1035,23 @@ static void WCUSER_GenerateKeyInputRecord(struct inner_data* data, BOOL down,
|
||||||
if (lParam & (1L << 24)) ir.Event.KeyEvent.dwControlKeyState |= ENHANCED_KEY;
|
if (lParam & (1L << 24)) ir.Event.KeyEvent.dwControlKeyState |= ENHANCED_KEY;
|
||||||
if (sys) ir.Event.KeyEvent.dwControlKeyState |= LEFT_ALT_PRESSED; /* FIXME: gotta choose one */
|
if (sys) ir.Event.KeyEvent.dwControlKeyState |= LEFT_ALT_PRESSED; /* FIXME: gotta choose one */
|
||||||
|
|
||||||
if (!(ir.Event.KeyEvent.dwControlKeyState & ENHANCED_KEY))
|
if (down)
|
||||||
{
|
{
|
||||||
if (down)
|
switch (ToUnicode(wParam, HIWORD(lParam), keyState, buf, 2, 0))
|
||||||
{
|
{
|
||||||
switch (ToUnicode(wParam, HIWORD(lParam), keyState, buf, 2, 0))
|
case 2:
|
||||||
{
|
/* FIXME... should generate two events... */
|
||||||
case 2:
|
/* fall thru */
|
||||||
/* FIXME... should generate two events... */
|
case 1:
|
||||||
/* fall thru */
|
last = buf[0];
|
||||||
case 1:
|
break;
|
||||||
last = buf[0];
|
default:
|
||||||
break;
|
last = 0;
|
||||||
default:
|
break;
|
||||||
last = 0;
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ir.Event.KeyEvent.uChar.UnicodeChar = last; /* FIXME: HACKY... and buggy because it should be a stack, not a single value */
|
|
||||||
if (!down) last = 0;
|
|
||||||
}
|
}
|
||||||
|
ir.Event.KeyEvent.uChar.UnicodeChar = last; /* FIXME: HACKY... and buggy because it should be a stack, not a single value */
|
||||||
|
if (!down) last = 0;
|
||||||
|
|
||||||
WriteConsoleInput(data->hConIn, &ir, 1, &n);
|
WriteConsoleInput(data->hConIn, &ir, 1, &n);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue