ベストアンサー1
バラよりキーボード入力とテキスト出力はどのように機能しますか?このトピックの概要を見てください。これは、アプリケーションが端末で実行されているのか、GUI環境と直接通信しているのかによって異なります。
端末では、端末ソフトウェア(通常は今世紀の端末エミュレータ)が文字エンコードを決定します。設定で文字エンコーディングを渡します。 (入力と出力同じ)ロケール環境LC_CTYPE
変数この変数が設定されていないか設定されている場合、C
端末は情報を提供しないため、アプリケーションはエンコードが何であるかを知ることができません。端末では、文字は文字としてアプリケーションに送信されます。文字以外の入力(ファンクションキー、カーソルキー、修飾子付きキーAltなど)は、次のように送信されます。エスケープシーケンス(一部は似ています。制御文字代わりに)。
X11アプリケーションは次の形式で入力を受け取ります。主なイベント。 KeyPresss イベントには、keycode
おおよそのキーの物理的な位置に対応し、アクティブなstate
修飾子をエンコードする低レベルの表示が含まれています。アプリケーションは次のことを呼び出すことができます。XLookupString
(従来の機能、Latin-1のみ)またはXmbLookupString
(他のシングルバイトエンコーディングをサポートする関数)またはXwcLookupString
(マルチバイトエンコーディングをサポートする機能)またはXutf8LookupString
(最新のUTF-8関数)この生情報を文字列に変換します。
キーから文字へのマッピングはさまざまなレベルで変更できます。キーボード入力とテキスト出力はどのように機能しますか?概要を見てください。