私は楽しいターミナルエミュレータを書くことに興味があります。この記事を通して、私はシェルとターミナルエミュレータ間の作業分業の一般的な理解を得ました。「ターミナル」、「シェル」、「tty」、「コンソール」の正確な違いは何ですか?しかし、キーと制御文字の間のマッピングが何であるか、ptyを取得してptyと対話するためにどのタイプのシステムコールが必要かについての完全で詳細な説明が見つかりませんでした。
見なければならないマニュアルページはありますか? Linux端末エミュレータの完全な仕様はどこにありますか?
答え1
キーと制御文字間のマッピングの完全で詳細な説明が見つかりませんでした。
何が必要だと思うのですか?ヒント:すべてのターミナルエミュレータプログラムに直接または間接的に(Xまたは同様の方法で)何らかのキーマップファイルがあるのはなぜですか?
既存の端末エミュレータを見てください。以下は、提供されるオープンソースプロジェクトの一部です。ユーザー空間仮想端末フレームバッファとLinux入力イベントデバイスを使用してください。
- チョンカン
- Facebookの用語
- bogl-btermおよびその派生物、例:ニテム。
- アリ・ゴラミ・ルディ鍵盤
console-terminal-emulator
そしてツールconsole-fb-realizer
おやつ- キロメートルスコーン
追加読書
kbdmap
。 §5。 FreeBSD のマニュアルページ。posix_openpt
§2。 FreeBSD のマニュアルページ。posix_openpt
。 オープングループ基本仕様。問題7. IEEE 1003.1:2013。グループを開きます。- https://unix.stackexchange.com/a/177209/5132
答え2
おそらく開始する必要がありますhttp://invisible-island.net/xterm/ctlseqs/ctlseqs.htmlそしてhttp://www.vt100.net/これは、目的の動作(少なくとも入力/出力順序)を説明し、もちろん解決された問題の変更ログを含むいくつかのターミナルエミュレータを調べます。
完全なリストはどこにもないようです。最近の例です。端末内で動作するには、^\
エミュレータ自体でSIGQUITハンドラがデフォルトに設定されていることを確認する必要があります。私たちは10を超えたにもかかわらず、gnome-terminalで何かが欠けていることを数日前に発見しました。歳です。気にする必要があることがたくさんありますし、進行中にユーザーからレポートを受け取ると、これらのことがわかります。