2016-05-10 40 views
3

我正嘗試使用Java與JNA從控制檯抓取字符輸入,而用戶不必敲擊回車。使用JNA從控制檯抓取字符而無需輸入

我一直在使用this resource來達到這個目的,但是它沒有OS X的支持。它在Windows和* nix(Ubuntu測試)上按預期工作,但是在OS X按鍵出現在終端中,並要求您按下Enter鍵。

我正在使用一個ConcurrentLinkedQueue來處理鍵擊,外部線程正在偵聽它們並將它們添加到輪詢隊列中,這個輪詢在主線程上每次打勾。

如果任何人都可以幫助將OS X支持添加到上述資源,或者建議更好的方法來解決相同的問題,那將不勝感激。

謝謝!

回答

0

自我解決,如果你運行你的程序,像這樣:shell腳本中

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

,它會正常工作像Unix那樣在OS X

的「stty的原料-echo說明「

"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 
相關問題