I'm not sure exactly what you mean by global keypresses, but you could try using GetAsyncKeyState().
Don't have Delphi on hand ATM, but I think basic setup is something like:
[pascal]
procedure Timer();
var
key : word;
begin
Key := GetAsyncKeyState(VK_UP);
if Key <> 0 then begin
//Move player up
end;
Key := GetAsyncKeyState(VK_DOWN);
if Key <> 0 then begin
//Move player down
end;
//etc
end;
[/pascal]
Just use Delphi's VirtualKeys for each key.
Bookmarks