端末のカーソル移動

端末のカーソル移動

シェルが画面カーソルを移動する方法(入力矢印キーの移動など)を理解しようとしています。

多くのテストを行いましたが、端末で画面カーソルを移動できるシステムコールが見つかりませんでした。特定の端末拡張を使用してこれを行いますか?それでは、これを達成する方法に関する文書はありますか(xtermなど)。

これはすでに私を狂わせています。これについて私に与えることができる手がかりをいただきありがとうございます。

ベストアンサー1

そのようなシステムコールまたはシステムコールセットは存在しません。これらの操作はすべてルーチンに従って行われます。

昔は「ターミナル」がケーブルを介してコンピュータに接続された大きくて薄暗いデバイスだったとき、「スマートターミナル」はカーソル移動、線画、多角形を色で塗りつぶすなどの作業を行うことができました。スマート端末は通常、「エスケープシーケンス」を介してこれを行います。プログラムは通常、ASCII 0x1b、「ESC」で始まる特殊なバイト値シーケンスをエクスポートします。これは、カーソル移動、カラーワード、またはテレタイプマシン以外の他の特別な操作をエミュレートするために使用されます。

これが「合意」です。今日、「ターミナル」はほとんど常にビットマップ画面、xterm、rxvtなどの多くのウィンドウの1つです。実行中の「プログラム」からバイトを読み取り、そのバイトを与えられた規則に従って解釈することはxterm(またはrxvtなど)に依存します。私はxtermウィンドウの1つに次のように入力しました。

6 % echo $TERM 
xterm

しかし、私はこの場合「vt100」と言った古いxtermを知っています。 「カーソルを移動」するすべてのプログラムは、xtermインスタンス内でカーソルを移動するために「xterm」ルールのエスケープシーケンスを出力する必要があります。

man cursesこれにより、man terminfoより多くの情報を得ることができます。

ポリスチレン

人々はエスケープシーケンスを使用して全体のウィンドウシステムを完成しました。より自己抵抗例えば。

おすすめ記事