We were returning characters for various CTRL + Symbol keystrokes
which should not return characters.
This commit is contained in:
parent
db6fc1ce61
commit
b7b4fd03df
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue