ich mach das in meinen kleinen PC-Spielen immer so:
Delphi-Quellcode:
//im Timer mit möglichst klienem Intervall
if getasynckeystate(VK_up) < 0 then ... // wenn hoch gedrückt ist...
if getasynckeystate(ord('K')) < 0 then ... // wenn 'K' gedrückt ist...
//^^achtung bei ord die buchstaben immer groß schreiben!!!