keycomp コマンド
目的
キーボード・マップ・ファイルを入力メソッド・キーマップ・ファイルにコンパイルします。
構文
keycomp <Infile >Outfile
Description
keycomp コマンドは、標準入力からキーボードのテキスト形式の記述を読み取り、キーをマップするバイナリー・ファイルを標準出力に作成します。 このバイナリー・ファイルは、キー・ストロークを文字列に変換する入力メソッドで使用されます。
キーボード状態と呼ばれる 修飾キー の組み合わせを指定することにより、文字や文字列をキーボード上のキーに割り当てる ことができます。あるいは、特定のキーを指定し、割り当てを解除する (何も戻さない) 組み合わせとして提示することもできます。 入力キーはすべて keysyms によって表されます。これはキーボード入力を表すために AIXwindows 環境で一般的に使用されるキー記号です。
キーボード上でキーを押す場合、修飾キーを任意に組み合わせることができますが、通常、キーはより小さい状態セットにマップされます。 この状態マッピングは指定できます。
Keycomp ソース・ファイル
keycomp コマンドで使用される入力ファイル は 1 行または複数行から構成されます。 行の各項目はスペースで区切られます。 各行は keysym または keysym の 16 進値で開始されます。 この 16 進値は、AIXwindows 環境でのキーボード入力を表します。 keysym に続く項目は、Ctrl、Alt、Shift、Lock、Alt Graphic の各キーの特定の組み合わせの割り当てを表します。
項目には次のいずれかを使用できます。
- 単一引用符で囲まれた文字
- 二重引用符で囲まれた文字列
- 他の keysym にマッピングできる keysym
- 入力がアンバインド済みであることを示す U
文字項目および文字列項目には、1 バイトの 16 進 (¥xXX)、8 進 (¥oOOO)、10 進 (¥dDDD) の表記を使用できます。
キーボード状態
修飾キー (Shift、Lock、Ctrl、Alt、Alt Graphics キー) はキーボードの状態を変更します。 これらのキーは、入力 keysym に対応する行から 1 つの項目を選択するために使用されます。 各ビットが修飾キーに対応しており、ビットの組み合わせである値がキーボードの状態を示します。 修飾キーの重要度は、Shift、 Lock、Ctrl、Alt、Alt Graphic 修飾キーの順序で高くなります。
ビットの組み合わせまたはキーボードの状態値が、行の 1 項目にマップされます。 マッピングは、%M 制御で始まり数字のみを含む行で定義されます。 %M 制御のあとの最初の数字は、項目番号です。 この最初の数字の次に並ぶ数字はキーボードの状態を表し、これらがすべて項目に割り当てられます。 例を参照してください。
フラグ
| 項目 | Description |
|---|---|
| <InFile | keycomp コマンドでコンパイルされるソース・ファイルを指定します。 |
| >OutFile | 作成されるキーマップ・ファイルの名前を指定します。 |
例
- 次の例は、XK_a keysym を入力するための行を示しています。
XK_a'a' XK_A XK_A XK_a '¥x01' U "hello"各項目の後に , (コンマ) を付けることができますが、これは必須ではありません。 項目の後にコンマが付いているかどうかにかかわらず、スペースまたはタブを使用して各項目を区切らなければなりません。
ブランク行および # 文字で始まる行はすべて無視されますが、制御ステートメントの行は例外と見なされて無視されません。 # が単一引用符または二重引用符で囲まれた文字列内になければ、# と次の行の間にあるテキストはすべて無視されます。 したがって、項目が 1 つしかない行末にコメントを入れることもできます。
- 次の行は、キーボード状態 Ctrl、Ctrl+Shift、および Ctrl+Shift+Lock がすべて 3 番目の項目に
割り当てられることを示しています。
%M 3 4 5 7
ファイル
| 項目 | Description |
|---|---|
| /usr/include/x11/keysymdef.h | 標準の keysym 定義が入っています。 |
| /usr/include/x11/aix_keysym.h | 固有の keysym 定義が入っています。 |
| /usr/bin/keycomp | keycomp コマンドが入っています。 |
| /usr/lib/nls/loc/*.imkeymap.src | imkeymap ソースの情報が入っています。 |
| /usr/lib/nls/loc/*.imkeymap | keysym または修飾キーを文字列にマップします。 |