xci は、ワークスペースメニューから「日本語入力システムの切替」の「cs00(htt) に設定」を選択するか、cs00setup(1) を実行した時に自動的に設定されるかな漢字変換サーバーインタフェースモジュールです。
xci を使用している場合、カスタマイズできるファイルは、変換サーバーとの接続方法やデータ入力キーの機能の割り当てに関連する resources ファイルです。以下に、resources ファイル、変換テーブルファイルの順にカスタマイズ方法を説明します。
日本語入力サーバーのかな漢字変換サーバーインタフェースモジュールに関する設定については、htt(1) のマニュアルページを参照してください。
カスタマイズに使用されるファイルは、次の順で検索され、先に見つかったファイルが有効となります。
$MLEPATH/locale/cs00
$HOME/.mle/locale/cs00
/etc/mle/locale/cs00
locale には、ロケール名が入ります。cs00 の場合、ja または japanese が有効です。
resources ファイルは、変換サーバーとの接続方法を指定する変換サーバーのセッションがオープンされるときに、参照するデータ入力キーに機能を割り当てるなど、さまざまなカスタマイズを行うファイルです。このファイルは、/etc/mle/locale/cs00 にあります。
カスタマイズを行う場合は通常、次の手順に従います。
各自のホームディレクトリに .mle/locale/cs00 というディレクトリを作成します。このディレクトリは、cs00setup(1) を実行すると自動的に作成されます。
sun% cd sun% mkdir -p .mle/locale/cs00 |
ファイルをコピーします。
sun% cp /etc/mle/locale/cs00/resources ‾/.mle/locale/cs00/resources |
コピー先の ‾/.mle/locale/cs00/resources を編集します。
環境変数 MLEPATH を設定している場合は、上記 1. から 3. の手順にある すべての ‾/.mle を $MLEPATH の内容に置き換えてカスタマイズすることもできます。
システムを使用しているユーザー全員の環境をカスタマイズする場合は、/etc/mle/locale/cs00 にあるファイルを直接修正してください。/etc/mle/locale/cs00 にあるファイルはオリジナルです。修正前にコピーするなどして、取り扱いには十分に気をつけてください。個人で使用する場合は、必ず $HOME/.mle/locale/cs00 を使用してください。
修正した resources の内容は、次に開始される入力セッションから反映されます。
次に resources ファイルのキー割り当ての変更方法を以下に示します。
resources ファイルのキー割り当てに関する記述には、各入力の状態ごとに入力キーイベントに関する記述 (以降、「入力キー」と記述) と「その入力キーに割り当てられた機能」 (以降、「機能」と記述) が書かれています。ある機能を実行するために使用されるキーが好ましくない場合、入力キーを変更することによって、キー割り当てをカスタマイズすることができます。次に、入力の状態とキーの割り当てについて説明します。
日本語オン・オフキーの割り当てを変更する場合は、日本語入力サーバー htt の設定と resources ファイル両方の設定の変更が必要です。htt の設定の詳細は、htt(1) のマニュアルページを参照してください。
現在用意されている入力の状態は次のとおりです。
表 7-1 リソース名一覧
入力の状態 (リソース名) |
状態説明 |
---|---|
*xci.locale.cs00.bind.preedit.init |
通常の文字入力状態。まだ文字が入力されていない状態 |
*xci.locale.cs00.bind.preedit.edit |
通常の文字入力状態。文字が入力されているが、変換がされていない状態 |
*xci.locale.cs00.bind.preedit.conv |
通常の文字入力状態。変換が開始されている |
*xci.locale.cs00.bind.lookup.init |
候補一括表示。まだ候補が選択されていない |
*xci.locale.cs00.bind.lookup.choice |
候補一括表示。いずれかの候補が選択されている |
上記のリソース名は、それぞれ 1 つの内部状態を表します。入力の状態ごとに、キー割り当てがそれぞれ記述されます。詳細は xci(7) のマニュアルページを参照してください。
キー割り当ての記述は以下の形式で行われます。
入力キー: 機能 ¥n
例: Ctrl <Key> space: CNV_SWITCH() ¥n |
入力キーの条件を満たすキー入力が行われると、該当する機能が働きます。この入力キーの記述を変更することによって、より操作しやすくなります。
入力キーの記述は以下の形式で行われます。
None <Key> 代替キー名
修飾子リスト <Key> 代替キー名
例: None <Key> Delete: Ctrl <Key> space: |
修飾子と代替キーの条件が両方とも満たされた場合に、入力キーの条件が満たされます。
複数のキー入力に対して機能を割り当てる場合は、上記の 1. または 2. をカンマ「,」で区切って複数記述してください (後述の入力キーの記述例の 4. を参照)。
修飾子に関する条件
「None」が指定される場合
修飾子がまったく機能していない場合に条件が満たされます。
修飾子リストを指定する場合
修飾子名をそのまま記述した場合はその修飾子が機能していることが条件になります。修飾子名の先頭に「‾」を付けた場合はその修飾子が機能していないことが条件になります。次の修飾子名を使用できます。
Ctrl、Shift、Lock、Meta、Alt、Mod1、Mod2、Mod3、Mod4、Mod5
修飾子を複数指定する場合は、空白で区切ってください。ただし、その場合は AND (論理積) とみなされます (後述の入力キー記述例の 2. を参照)。
また、修飾子を指定しなくてもかまいません。その場合、修飾子の条件は常に満たされます。
修飾子リストの先頭に次の指定を行うことができます。
・「:」
同じキーに割り当てられている他の代替キーに対するバインディングとは区別して取り扱われます。
・「!」
明示的に指定された修飾子以外は、すべて機能していない状態でなければなりません。この指定がない場合は、明示的に指定されていない修飾子の状態は無視されます。
代替キー名に関する条件
入力として与えられる代替キーがこの部分に書かれた代替キーと一致する場合、条件が満たされます。
次に入力キーの記述例を挙げます。
『CTRL キー』を押した状態で 『A キー』を押す操作
Ctrl <Key> A |
『CTRL キー』と 『Shift キー』を両方押した状態で 『BackSpace キー』を押す操作
Ctrl Shift <Key> BackSpace |
『CTRL キー』を押しているが、『Shift キー』は押していない状態で 『BackSpace キー』を押す操作
Ctrl ‾Shift <Key> BackSpace |
『CTRL キー』を押した状態で 『A キー』を押し、続いて 『CTRL キー』を押した状態で 『B キー』を押す操作
Ctrl <Key> A, Ctrl <Key> B |
『CTRL キー』を押した状態で 『A キー』または 『B キー』を押す操作
Ctrl <Key> A : Ctrl <Key> B : |
大文字を入力するような場合 (通常、『Shift キー』を押している場合や 『Caps Lock キー』をロックしている場合) に 『A キー』を押す操作
:<Key> A |
『Shift キー』を押し、他の修飾子キーが機能していない状態で『A キー』を押す操作
! Shift <Key> A |
resources ファイルのキー割り当てに関する記述には前後関係があり、同じ入力キーに対する指定が複数ある場合、最初に記述されている内容が有効になります。この前後関係は、リソース (各リージョンまたはフィールド内のある状態に対する指定) 単位で有効です。
初期設定値をカスタマイズする方法について説明します。
初期設定の記述方法は次のとおりです。
* xci.locale.cs00.config.NAME: value
NAME は設定項目名で、value は設定値となります。以下に設定項目名と設定値の例を示します。
設定項目名 |
設定値 |
---|---|
I |
1 : かな漢入力 3 : コード入力 |
S |
0 : 学習 off 1 : 学習 on |
VIM |
1: 全角ひらがなモード [ひら] 2: 全角カタカナモード [カタ] 3: 半角カタカナモード [カタ] 4: 全角英数モード [A] 5: 半角英数モード [A] |
次の記述は、設定項目名の S を「学習 off」に設定した場合の例です。
例 *xci*cs00.config.S: 0 |