Brian wrote:
SOLVED

XInitThreads() must be called prior to initailizing X , then it works using
XLockDisplay() and XUnlockDisplay()

XLockDisplay(TheDisplay);

NewEvent := Xpending(TheDisplay) > 0 ;

   if NewEvent then
     begin
      XNextEvent(TheDisplay, @myevent);
       KeypressedX :=  myevent._type = keypress ;
end; XUnLockDisplay(TheDisplay);

Interesting. I suppose that could lead us back to which widgetsets support full multithreading.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to