repeat
BotonActual := ReadKey;
if BotonActual = BotonAnterior then
begin
TiempoFinal := ObtenerTiempoActual;
if TiempoFinal - TiempoInicial > Retrazo then
begin
lo que paso aca, es que el usuario hizo una gran pausa, es decir, se
toma el primer caracter del numero A, D, G, P, etc...
end else
begin
no hubo un retrazo grande por lo que avanzamos a la siguiente letra, puede
ser B o C, F o G, etc.... depende de cuantas veces sucede esta seccion
end
end else
begin
aca pasa lo mas facil, directamente apreto otro boton al anterior
end;
TiempoInicial := ObtenerTiempoActual;
BotonAnterior := BotonActual;
until ....