2016-05-10 3 views
3

JNAでJavaを使用して、ユーザーが入力しなくてもコンソールから文字入力を取得しようとしています。入力せずにコンソールからJNAを使用して文字を取得する

これを達成するために私はthis resourceを使用していましたが、OS Xのサポートはありません。 Windowsと* nix(Ubuntuはテスト済み)では期待通りに動作しますが、OS Xのキーストロークは端末に表示され、Enterキーを押す必要があります。

私は、キーストロークを処理するためにConcurrentLinkedQueueを使用しています。外部スレッドはそれをリッスンし、メインスレッドのティックごとにポーリングされるキューに追加します。

上記のリソースにOS Xのサポートを追加する人や、同じ問題を解決するためのよりよい方法を提案する人がいれば、それは非常に感謝しています。

ありがとうございます!

答えて

0

自己解決し、あなたがそうのようなプログラムを実行している場合:シェルスクリプトで

#!/bin/sh 
stty raw -echo 
java -jar ProgramName.jar 

、それが「sttyの生-echoのOS Xの

説明上のUnixのように正常に動作します"

"stty" is a command to change terminal settings 
"raw" changes the terminal to non-canonical mode 
"-echo" makes keypresses not show up when you type them 
関連する問題