diff --git a/uutlEventManager.pas b/uutlEventManager.pas index d46e14a..c09a619 100644 --- a/uutlEventManager.pas +++ b/uutlEventManager.pas @@ -602,9 +602,9 @@ begin KEY_REPEAT: begin fKeyboard.KeyState[ke.KeyCode and $FF] := true; 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; KEY_UP: begin @@ -667,9 +667,9 @@ begin result := aEvent; if not Assigned(result) then 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.CharCode := VKCodeToCharCode(aKey, fKeyboard.Modifiers); end;