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 作成されるキーマップ・ファイルの名前を指定します。

  1. 次の例は、XK_a keysym を入力するための行を示しています。
    XK_a'a'  XK_A  XK_A  XK_a  '¥x01'  U  "hello"

    各項目の後に , (コンマ) を付けることができますが、これは必須ではありません。 項目の後にコンマが付いているかどうかにかかわらず、スペースまたはタブを使用して各項目を区切らなければなりません。

    ブランク行および # 文字で始まる行はすべて無視されますが、制御ステートメントの行は例外と見なされて無視されません。 # が単一引用符または二重引用符で囲まれた文字列内になければ、# と次の行の間にあるテキストはすべて無視されます。 したがって、項目が 1 つしかない行末にコメントを入れることもできます。

  2. 次の行は、キーボード状態 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 または修飾キーを文字列にマップします。