Are you not able to use keydown in this fashion?
Set a variable to indicate which arrow went do and reset on keyup.
MyKey = key
That way in your time loop you respond say every 75 ms if the arrow key is still down.
Code:if TimeGetTime > TimeToRespondgagain then begin if MyKey = vk_left then do_my_stuff; TimeToRespondgagain := TimeGetTime + 75; end;
The arrow keys are not sent as a message to the keypress method
Bookmarks