ttyライン規律は垂直矢印キーを反映していますか?

ttyライン規律は垂直矢印キーを反映していますか?

私のプログラムがユーザー入力を読むとき、垂直矢印キーは何もしません。行ルールがすべてをコンソールに再反映すると、カーソルは端末の前の行の上に移動しませんか?私の言葉が正しい場合、線の規則が応答しない他の文字はありますか?

ところで、bashが使用していると思います。「オリジナルモード」(これはエコーなどを無効にします。) ただし、実行すると端末がstty -echo「停止」し、通常のbash実行中にエコーが有効になったことを示します。

Zshはこれらの動作を示していませんが、そのためのようです。エコフラグリセットコマンドが終了したとき。

ベストアンサー1

「私のプログラム」が何を意味するのか、プログラムがターミナルラインの設定をどのように変更するのかわからないと、答えることは困難です。

これはテキストエディタであり、ファイル内のカーソルを移動できます。他のシェルでも、履歴項目をスクロールすることもできます。音量を上げたり下げたりするオーディオコントロールソフトウェアです。など。

このような場合、行ルールは元の形式に再エコーせずにバイトを人間が読めるテキストと文字に変換するために表示され、表示されsleep 1000ます^[[A^[[BESC^[

cat裏面をクリックすると、カーソルが垂直Enterに移動していることがわかります。遅延の理由は、ラインの弟子がアプリケーションへの文字転送を遅らせるためです(つまり、cat入力ライン全体が完了するまで)。カーソルが垂直方向に移動するのは、ラインルールとは無関係で、生データがcatエコーされるだけであり、矢印キーによって生成された入力エスケープシーケンスがライン上でカーソルを移動するための出力エスケープシーケンスと同じであるためです。方向を教えてください。

おすすめ記事