das problem liegt darin, dass die if jeden frame gecheckt wird, und du das automatische laufen immer an und aus stellst solange du die taste hältst.
die tasten der windows-api haber aber ein spezielles verhalten, das man in dem fall glab ich ausnutzen könnte.
Ich werd das schnell mal ausprobieren...
funktioniert, ich werde gleich ein kleines codebeispiel posten.