Předpokládám, že myslíš něco takovéhohle:
klavesa1:=readkey;
klavesa2:=#0; {neco, co neni na klavesnici}
for i:=1 to 50 do
begin
delay(10);
if keypressed then begin
klavesa2:=readkey;
break;
end;
end;
if klavesa2<>#0 then {v tom casovem intervalu bylo neco zmacknuto, zpracuj obe klavesy}
else {nic zmacknuto nebylo, zpracuj jenom tu prvni};
kde klavesa1 a klavesa2 jsou proměnné typu char. Doba čekání na druhou klávesu je rovna součinu krátkého čekání v cyklu a počtu jeho opakování, lze samozřejmě změnit. Důležité je, že čekáš po malých kouscích a tím se vyhneš nebezpečí zahlcení bufferu klávesnice.
Kdybych to dělal v praxi, použil bych spíš svoji jednotku Čas (http://mircosoft.ic.cz/download/CAS.PAS) a vypadalo by to takhle:
klavesa1:=readkey;
klavesa2:=#0;
StartCekani;
repeat
if keypressed then begin
klavesa2:=readkey;
break;
end;
until DosazenCas(500);
StopCekani;
if klavesa2<>#0 then {neco bylo zmacknuto, zpracuj obe klavesy}
else {nic zmacknuto nebylo, zpracuj jenom tu prvni};
Ale to je věc vkusu ;-).