mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 16:53:05 +00:00
- Fix a bug with wrong handling of an ALT key pressed together with a mouse click.
svn path=/trunk/; revision=29395
This commit is contained in:
parent
853d34afaf
commit
9fe1e6e1d3
1 changed files with 27 additions and 0 deletions
|
@ -537,6 +537,7 @@ KeyboardThreadMain(PVOID StartContext)
|
||||||
while (InputThreadsRunning)
|
while (InputThreadsRunning)
|
||||||
{
|
{
|
||||||
BOOLEAN NumKeys = 1;
|
BOOLEAN NumKeys = 1;
|
||||||
|
BOOLEAN bLeftAlt;
|
||||||
KEYBOARD_INPUT_DATA KeyInput;
|
KEYBOARD_INPUT_DATA KeyInput;
|
||||||
KEYBOARD_INPUT_DATA NextKeyInput;
|
KEYBOARD_INPUT_DATA NextKeyInput;
|
||||||
LPARAM lParam = 0;
|
LPARAM lParam = 0;
|
||||||
|
@ -608,6 +609,21 @@ KeyboardThreadMain(PVOID StartContext)
|
||||||
* (For alt, the message that turns on accelerator
|
* (For alt, the message that turns on accelerator
|
||||||
* display, not sure what for win. Both TODO though.)
|
* display, not sure what for win. Both TODO though.)
|
||||||
*/
|
*/
|
||||||
|
bLeftAlt = FALSE;
|
||||||
|
if(fsModifiers == MOD_ALT)
|
||||||
|
{
|
||||||
|
if(KeyInput.Flags & KEY_E1)
|
||||||
|
{
|
||||||
|
gQueueKeyStateTable[VK_RMENU] = 0x80;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gQueueKeyStateTable[VK_LMENU] = 0x80;
|
||||||
|
bLeftAlt = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gQueueKeyStateTable[VK_MENU] = 0x80;
|
||||||
|
}
|
||||||
|
|
||||||
/* Read the next key before sending this one */
|
/* Read the next key before sending this one */
|
||||||
do
|
do
|
||||||
|
@ -650,7 +666,18 @@ KeyboardThreadMain(PVOID StartContext)
|
||||||
if (fsModifiers == MOD_WIN)
|
if (fsModifiers == MOD_WIN)
|
||||||
IntKeyboardSendWinKeyMsg();
|
IntKeyboardSendWinKeyMsg();
|
||||||
else if (fsModifiers == MOD_ALT)
|
else if (fsModifiers == MOD_ALT)
|
||||||
|
{
|
||||||
|
gQueueKeyStateTable[VK_MENU] = 0;
|
||||||
|
if(bLeftAlt)
|
||||||
|
{
|
||||||
|
gQueueKeyStateTable[VK_LMENU] = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gQueueKeyStateTable[VK_RMENU] = 0;
|
||||||
|
}
|
||||||
co_IntKeyboardSendAltKeyMsg();
|
co_IntKeyboardSendAltKeyMsg();
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue