| @@ -602,9 +602,9 @@ begin | |||||
| KEY_REPEAT: begin | KEY_REPEAT: begin | ||||
| fKeyboard.KeyState[ke.KeyCode and $FF] := true; | fKeyboard.KeyState[ke.KeyCode and $FF] := true; | ||||
| case ke.KeyCode of | case ke.KeyCode of | ||||
| VK_SHIFT: include(fKeyboard.Modifiers, ssShift); | |||||
| VK_MENU: include(fKeyboard.Modifiers, ssAlt); | |||||
| VK_CONTROL: include(fKeyboard.Modifiers, ssCtrl); | |||||
| VK_SHIFT: Include(fKeyboard.Modifiers, ssShift); | |||||
| VK_MENU: Include(fKeyboard.Modifiers, ssAlt); | |||||
| VK_CONTROL: Include(fKeyboard.Modifiers, ssCtrl); | |||||
| end; | end; | ||||
| end; | end; | ||||
| KEY_UP: begin | KEY_UP: begin | ||||
| @@ -667,9 +667,9 @@ begin | |||||
| result := aEvent; | result := aEvent; | ||||
| if not Assigned(result) then | if not Assigned(result) then | ||||
| result := TKeyEvent.Create; | result := TKeyEvent.Create; | ||||
| if fKeyboard.KeyState[aKey and $FF] and (aType = KEY_DOWN) | |||||
| then result.EventType := KEY_REPEAT | |||||
| else result.EventType := KEY_DOWN; | |||||
| result.EventType := aType; | |||||
| if (aType = KEY_DOWN) and fKeyboard.KeyState[aKey and $FF] then | |||||
| result.EventType := KEY_REPEAT; | |||||
| result.KeyCode := aKey; | result.KeyCode := aKey; | ||||
| result.CharCode := VKCodeToCharCode(aKey, fKeyboard.Modifiers); | result.CharCode := VKCodeToCharCode(aKey, fKeyboard.Modifiers); | ||||
| end; | end; | ||||