入力メソッドの紹介
入力メソッドとは、キー・ストロークをそれぞれのロケールで指定したコード・セットの文字ストリングに変換する機能群です。 入力メソッド機能には、ロケール固有の入力処理制御機構およびキーボード制御機構が あります (例えば、Ctrl、Alt、Shift、Lock、および Alt-Graphic)。 入力メソッドを使用することにより、さまざまなタイプの入力が可能になりますが、 このセクションでは、キーボード・イベントだけを扱います。
使用しているロケールにより、どの入力メソッドをロードするか、 入力メソッドを実行する方法、およびどのデバイスを使用するかが決まります。 次に、入力メソッドが状態とその結果を定義します。
入力メソッドがキー・ストロークを文字ストリングに変換するときには、変換プロセスは、 使用しているキーボードとコード・セットを考慮に入れます。 標準的なキーボードを持っていないか、コード・セットをカスタマイズする場合、 独自の入力メソッドを作成することができます。
多くの言語では、語を形成するのに少しの記号または文字を使用します。 キーボードでテキストを入力する場合、アルファベットの記号に対応するキーを押します。 アルファベットの文字がキーボードにない場合、キーを組み合わせて押す必要があります。 入力メソッドには、そのような文字を組み合わせられるようにするアルゴリズムが用意されています。
いくつかの言語では、表意文字システムが使用されています。 この場合、語を表現するのに、文字のグループではなく、固有の記号が使用されます。 例えば、中国、日本、韓国、および台湾で使用されている文字セットには、 5,000 を超える文字があります。 そして、1 つの文字を表すために複数のバイトを使用しなければなりません。 さらに、1 つのキーボードの中に、必要な表意文字記号すべてを収めることはできません。 それで、マルチバイト文字を作成する入力メソッドが必要になります。
/usr/lib/nls/loc ディレクトリーには、 システムにインストールされた入力メソッドがあります。 このディレクトリーの内容をリストして、使用可能な入力メソッドを判別できます。 入力メソッドのファイル名の形式は、言語区域.im です。 例えば、fr_BE.im ファイルは、 ベルギーで使用されるフランス語用の入力メソッド・ファイルです。
よく構造化されたプロトコルを利用して入力メソッドを使用すると、 アプリケーションは、ロケール固有の入力処理を使用しなくても、 異なる入力をサポートできるようになります。
AIX® では、aixterm に入力メソッドが用意されています。 AIXwindows インターフェースから 入力された文字がサーバーに到達すると、それらの文字は キー・コードの形式になります。 クライアントで提供されているテーブルは、キー・コードを、 事前定義されたコード群である keysyms に変換します。 キーボードによって生成されたキー・コードにはすべて、keysym があります。 これらの keysym は、MIT X Consortium によって保守され割り当てられています。 keysym は、クライアントの aixterm 端末エミュレーターに渡されます。 aixterm では、入力 keysym は、入力メソッドによってファイル・コードに変換され、 その後でアプリケーションに送信されます。 X サーバーは、システム・ハードウェアに付属のディスプレイ・アダプターに合わせて機能するよう設計されています。 X サーバーは、ソケット経由で X クライアントと通信します。 したがって、相互にやり取りできるのであれば、サーバーおよびクライアントは、 1 つのネットワーク内の別個のシステムに存在していても構いません。 キーボードからのデータが X サーバーに入り、そのサーバーから、端末エミュレーターに渡されます。 端末エミュレーターは、そのデータをアプリケーションに渡します。 データがアプリケーションからディスプレイ・デバイスにいく場合、 ソケット経由で端末エミュレーターを通過してサーバーに渡され、 サーバーからディスプレイ・デバイスに渡されます。