Keyboard events did not update AsyncKeyStateTable, now they do.

This commit is contained in:
Jukka Heinonen 2001-05-18 20:56:59 +00:00 committed by Alexandre Julliard
parent 75c525c16f
commit 7263720dfb
1 changed files with 2 additions and 1 deletions

View File

@ -133,6 +133,7 @@ void WINAPI keybd_event( BYTE bVk, BYTE bScan,
if (!(InputKeyStateTable[bVk] & 0x80)) if (!(InputKeyStateTable[bVk] & 0x80))
InputKeyStateTable[bVk] ^= 0x01; InputKeyStateTable[bVk] ^= 0x01;
InputKeyStateTable[bVk] |= 0x80; InputKeyStateTable[bVk] |= 0x80;
AsyncKeyStateTable[bVk] |= 0x80;
message = (InputKeyStateTable[VK_MENU] & 0x80) message = (InputKeyStateTable[VK_MENU] & 0x80)
&& !(InputKeyStateTable[VK_CONTROL] & 0x80) && !(InputKeyStateTable[VK_CONTROL] & 0x80)
@ -614,7 +615,7 @@ WORD WINAPI GetAsyncKeyState(INT nKey)
AsyncMouseButtonsStates[2] = 0; AsyncMouseButtonsStates[2] = 0;
break; break;
default: default:
retval = AsyncKeyStateTable[nKey] | retval = ((AsyncKeyStateTable[nKey] & 0x80) ? 0x0001 : 0) |
((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0); ((InputKeyStateTable[nKey] & 0x80) ? 0x8000 : 0);
AsyncKeyStateTable[nKey] = 0; AsyncKeyStateTable[nKey] = 0;
break; break;