Ci vorrebbe un XFlush(display) dopo ogni invocazione a Press() in modo da garantire l'invio degli eventi.
procedure TXKeyInput.DoDown(Key: Word);
Ci vorrebbe un XFlush(display)
Ho fatto questo semplice test. Secondo voi è indicativo? A me tarando il ciclo su 1000 iterazioni non ha dato errori. Ora è a 10000, invito anche voi a testarlo per sapere se qualcuno ha avuto problemi.
Lo compilate, lo lanciate, poi cliccate sul button2, poi cliccate sul button3
(serve per salvare le posizioni dei due bottoni)
A questo punto lanciate il vero test premendo su button1. Se vi riporta 0 [10001/10001] vuol dire che è andato tutto bene.
Concettualmente si, lasciandoli un numero massimo di tentativi per non incorrere in un loop infinito. Spero che funzioni.