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.