我在golang中編寫了一個文本界面,如果在打印時鍵入它,它將干擾所呈現的文本。我知道「的stty -echo」將停止呼應鍵盤的輸出和「stty的回聲」重新啓用它,但是當我寫的功能,如:如何在golang中打印終端時禁用鍵盤
func disableKeyboard() {
c := exec.Command("stty -echo")
c.Stdout = os.Stdout
c.Run()
}
func enableKeyboard() {
c := exec.Command("stty echo")
c.Stdout = os.Stdout
c.Run()
}
這些對我的節目輸出沒有影響。我發送這些命令的方式有什麼問題嗎?
喜歡的東西:
disableKeyboard()
time.Sleep(time.Second)
enableKeyboard()
不起作用。我目前正在使用一個mac。
當您使用'exec.Command'時,您將分出一個新的後臺進程。它不會影響用戶用來與應用程序交互的TTY。 – Adrian
這就是我在想什麼,有沒有辦法解決這個問題,所以我可以在當前進程中暫時關閉鍵盤? – Rob
也,爲什麼downvote? – Rob