追加読書

追加読書

さまざまな(エミュレートされた)端末でカーソルの外観を変更したいです。

私が望む形は5です(レンダリングされていない場合は申し訳ありません)。これは右に開く三面箱です。これにより、挿入する位置を表示でき、カーソルが「上」にある文字も表示できます。 U+2F15でUnicodeでこの文字を見つけました。

私は間違いなくLinuxのカーネル仮想端末(++で入手できるもの)とGUI端末エミュレータ(XTermやRXVTなど)でこれを行うことができることを願っていますControlAlt可能であれば、PuTTYやKiTTYなどのネットワーク端末でもこれを行いたいと思います。正確な文字が得られない場合は、少なくとも3行が必要です。FN

私はこれがターミナルエミュレータの「ANSI」エスケープコードまたは(おそらく)設定に関連していることを知っています(これはLinux組み込みターミナルエミュレータでは機能しないことを考慮するとお勧めできません)。特定のシェルの使用に依存しない答えを提供してください。カーネルコードを変更せずにこれは可能ですか?

ベストアンサー1

仮想および物理端末で使用できるカーソルの外観は制限されています。一般的に言えば、既存のディスプレイハードウェアと一致する設定の外観のみを有効にし、カーソルが点滅しているときに点滅期間と開始と終了のスキャンラインのみを指定できます。たくさんあります。 、上線、半分の高さ、ブロック)。

2 つの主な制御シーケンスは DECSCUSR と LINUXSCUSR です。 DECSCUSR は、DEC が端末シリーズでサポートする制御シーケンスの名前です。他の実際の端末メーカーと同様に、DECはマニュアルの「DEC」で始まるベンダーの個人制御シーケンス名を提供します。 (Docoでは、Tektronixは比較のためにベンダーの個人制御シーケンスの名前を付けるために「TEK」プレフィックスを使用します。)Linux docoは通常どおり非常に悪く、命名内容はありません。したがって、「LINUXCUSR」は私が作成した新造語であり、「LINUX」という接頭辞が付いています。

DECSCUSR または LINUXSCUSR はどちらも標準化されていません。互いに異なるが同じ時期に発明されたため(1990年代DEC VT 5xxにのみ登場)、一般的なDEC先行技術はありません。 ☺Egmont Koblingerはウィンクと外観が混在しているため、どちらのモデルも印象的であると言われています。カスタムシェイプを有効にするために DECSCUSR 0 の意味を変更する方法についても議論します。また、Microsoft Terminal は DECSCUSR モデルと Win32 で使用されるモデルの間の不一致を強調します。快適このメカニズムは、最大30年(またはOS / 2 1.xのVIOサブシステムとPC / ATビデオファームウェアの以前のバージョンを考慮して40年)までの任意の開始ラインを可能にします。

その結果、普遍的な制御シーケンスがなく、両方のシーケンスをサポートする端末エミュレータがほとんどないため、世界は現在DECSCUSRとLINUXSCUSR陣営に分かれています。さらに、両方のアプローチは必要な柔軟性を得ることができません。スタート+エンドスキャンラインモデルの唯一のユビキタス偏差は垂直バーであり、特定のGUI端末エミュレータ(XTermなど)を介してのみ使用できます。一つその他の形状は DECSCUSR 5 および DECSCUSR 6 です。

はい、FreeBSDカーネル、NetBSDカーネル、OpenBSDカーネル、Linux組み込みターミナルエミュレータ、およびさまざまなアプリケーションモードターミナルエミュレータ(フレームバッファとX11 GUI)のコードを変更して、より多くのカーソル形状を実装できます。しかし、これを普遍的にすることはかなり難しい。

私はすでにこれをしました私のもの端末エミュレータ。 DECSCUSR 7/8はアウトラインボックスです。 DECSCUSR 9/10は星です。 DECSCUSR 11/12は下線+上線です。 DECSCUSR 13/14は逆さまの「L」形をしています。 1970年代の古い文献を読んだことに基づいて、私は角かっこを追加することと上線を引く両方の方向を考慮しました。ただし、DECSCUSRは、あなたが探している実際のUnicode文字の仕様には簡単ではありません。 LINUXSCUSRはこのアイデアに合わない別の言葉、そして。

追加読書

おすすめ記事