Nimm einen Timer, aber wenns geht einen genaueren als TTimer. Dort prüfst du immer, ob die Taste gedrückt ist:
Delphi-Quellcode:
if GetKeyState(VK_LEFT)<0 then
// Taste ist gedrückt
Zusätzlich machst Leftp als Double und erhöhst nicht um 1 sonder um 0.1 oder so. Musst bissle damit rumprobieren.