We were returning characters for various CTRL + Symbol keystrokes

which should not return characters.
This commit is contained in:
Aric Stewart 2000-11-28 23:57:38 +00:00 committed by Alexandre Julliard
parent db6fc1ce61
commit b7b4fd03df
1 changed files with 9 additions and 6 deletions

View File

@ -1544,14 +1544,17 @@ INT X11DRV_ToUnicode(UINT virtKey, UINT scanCode, LPBYTE lpKeyState,
}
/* more areas where X returns characters but Windows does not
CTRL + number */
if ((lpKeyState[VK_CONTROL] & 0x80)&&(keysym>=48)&&
(keysym<=57))
CTRL + number or CTRL + symbol*/
if (lpKeyState[VK_CONTROL] & 0x80)
{
*(char*)lpChar = 0;
ret = 0;
if (((keysym>=33) && (keysym < 'A')) ||
((keysym > 'Z') && (keysym < 'a')))
{
*(char*)lpChar = 0;
ret = 0;
}
}
/* We have another special case for delete key (XK_Delete) on an
extended keyboard. X returns a char for it, but Windows doesn't */
if (keysym == XK_Delete)