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); -- View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Xlib-Threads-tp5719066p5719067.html Sent from the Free Pascal - General mailing list archive at Nabble.com. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal