вот пример
repeat
key:=KeyToAction(GetKeyPressed); Delay(30);
if key = GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(250); end;
if key = GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(250); end;
if key = GA_FIRE then begin Search; Delay(250); Cls1; DrawMenu; Repaint; end;
if key = GA_LEFT then begin Delay(250);cls;MainMenu;end;
if key = GA_RIGHT then begin Delay(250);Halt;end;
until false;
а здесь пример с исходником
http://forum.boolean.name/showthread.php?t=7592