Я написал класс Java RawConsoleInput , который использует JNA для вызова функций операционной системы Windows и Unix / Linux.
_kbhit()
и _getwch()
из msvcrt.dll. tcsetattr()
для переключения консоли в неканонический режим, System.in.available()
, чтобы проверить, доступны ли данные и System.in.read()
, чтобы читать байты с консоли. A CharsetDecoder
используется для преобразования байтов в символы. Он поддерживает неблокирующий входной и смешанный режим raw и обычный вход в линейный режим.