アプリに次のように表示させたい:
press any key to exit ...
任意のキーを押したときに終了します。
どうすればこれを達成できますか?
注: Google で検索しましたが、見つけたものはすべて最後に押す必要がありましEnterた。Console.ReadKey()
私はC#のようなものが欲しいです。
MS Windows を実行しています。
termbox-goは軽量の Go ネイティブ パッケージで、基本的な端末制御を提供します。raw モードで入力を取得する機能 (デフォルトの行バッファ動作なしで一度に 1 文字を読み取る) を含みます。
また、異なるシステム間でかなり良好な互換性があります。
また、keyboardは termbox-go を拡張して、マルチキー ショートカットやシーケンスなどの追加のキーボード機能を提供します。
go-termbox は非常に重いです。端末ウィンドウ全体を占有しようとしています。たとえば、起動時に画面がクリアされますが、これは望ましくない場合があります。
これをOSXにまとめました。ちょっとした getchar():
https://github.com/paulrademacher/climenu/blob/master/getchar.go
このライブラリ(私のもの)を使用できます:https://github.com/eiannone/keyboard
これは、1 つのキーストロークを取得する例です。
char, _, err := keyboard.GetSingleKey()
if (err != nil) {
panic(err)
}
fmt.Printf("You pressed: %q\r\n", char)
raw モードの端末から 1 回のキー押下を読み取ることができます。これは、プログラムに生の端末モードを提供するパッケージです。注意: これは Linux のみです。