IMProcess サブルーチン

目的

キーボード・イベントおよび言語固有の入力を処理します。

ライブラリー

入力メソッド・ライブラリー (libIM.a)

注: このサブルーチンは、将来のリリースで削除されます。 IMFilter および IMLookupString サブルーチンを使用して、キーボード・イベントを処理します。

構文

int IMProcess (IM, KeySymbol, State, String, Length)
IMObject  IM;
KeySym  KeySymbol;
uint  State;
caddr_t * String;
uint * Length;

説明

このサブルーチンは、オペレーティング・システムの入力メソッドへのメイン・エントリー・ポイントです。 IMProcess サブルーチンは、一度に 1 つのキーボード・イベントを処理します。 処理は以下のように続行されます。

  • IM パラメーターを検証します。
  • サポートされているすべての修飾状態に対してキーボード変換を実行します。
  • 言語依存の処理を行うために内部機能を呼び出します。
  • 内部状態に応じて、必要なコールバック関数を実行します。
  • アプリケーションに戻り、 String および Length パラメーターを適切に設定します。

パラメーター

項目 説明
IM 入力メソッド・インスタンスを指定します。
KeySymbol 処理されるキーボード・シンボルのセットを定義します。
状態 キーボードの状態を指定します。
STRING 戻されたストリングを保持します。 ヌル値を戻すということは、入力が入力メソッドによって使用または廃棄されることを意味します。
注: String パラメーターはヌル終了ストリングではありません。
長さ String パラメーターの長さ (バイト単位) を保管します。

戻り値

このサブルーチンは、エラーが発生した場合に IMError グローバル変数を返します。 IMerrno グローバル変数は、エラーを示すように設定されます。 変数値には、以下のものがあります。

項目 説明
IMError (IMError) このサブルーチン中にエラーが起こった。
IMTextAndAuxiliaryOff テキスト域にテキスト・ストリングがなく, 補助域は表示されません。
IMTextOn テキスト域にテキスト・ストリングがあるが、補助域がない。
IMAuxiliaryOn テキスト域にテキスト・ストリングがなく, 補助域が表示されます。
IMTextAndAuxiliaryOn テキスト域にテキスト・ストリングが表示され, 補助が表示されます。