It would be nice if there were a _kbhit() equivalent to check if keyboard input is available without having to block for it. Or is this there already? I ended up having to create a worker thread & a nonblocking queue, so the worker thread blocks instead.
I'm not sure how one would upgrade a Java class to provide additional functionality (maybe you could use the "extends" keyword to extend the various Terminal classes / interfaces to add nonblocking operations?).
I'm not sure it's possible to really do non-blocking terminal IO without native code. Of course, Jline does have some native bits...outside my expertise.