この章では、かな漢字変換サーバーインタフェースモジュール xci と cm のカスタマイズについて説明します。
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 |
cm かな漢字サーバーインタフェースモジュールを使用するには、次の作業が必要です。
まず cs00setup(1) を実行してください。
$HOME/.dtprofile を編集します。
次の記述を変更します。
変更前 :
変更後 :
$HOME/.openwin-init を編集します。
変更前 :
...toolwait /usr/openwin/bin/htt -if xci -lc_basiclocale ja |
変更後 :
...toolwait /usr/openwin/bin/htt -if cm -lc_basiclocale ja |
設定した内容は、次にログインした時から有効になります。
wnn6setup(1)、atok8setup(1)、cs00setup(1) を実行したり、ワークスペースメニューから日本語入力システムを切り替えたりすると、これらの設定は無効になります。
cm かな漢字変換サーバーインタフェースモジュールを使用している場合、カスタマイズできるファイルは、変換サーバーとの接続方法やデータ入力キーの機能の割り当てなどに関連する 4 つのファイルです。以下にその 4 つのファイルのカスタマイズ方法を説明します。
cm かな漢字変換サーバーインタフェースモジュールは、SPARC のみ利用できます。
libmle と cs00 を用いた日本語入力では、libmle を使う 1 プロセスについて利用できる変換セッションの数は最大 512 個となります。したがって、cm かな漢字変換サーバーインタフェースモジュールを使用すると、変換セッション数は最大 512 個となります。ただし、メモリー不足などの原因により 512 個利用できない場合があります。
変換サーバーとの接続方法やデータ入力キーの機能の割り当てなど、カスタマイズできるファイルは、次の 4 つです。
使用可能な変換サーバーの名称と ID 番号の対応を定義するファイルです。
変換サーバーとの接続方法を指定するファイルです。
変換サーバーのセッションがオープンされるときに参照するファイルです。
入力キーに機能を割り当てるファイルです。
cstab を除く 3 つのファイルは、/etc/mle/locale/cs00 にデフォルトのデータがあります。また、cstab は、/etc/mle/locale にあります。
locale には、ロケール名が入ります。cs00 の場合、ja または japanese が有効です。
カスタマイズを行う場合、一般的なカスタマイズとシステムごとのカスタマイズの 2 通りがあります。
一般的なカスタマイズ方法は以下のとおりです。
各自のホームディレクトリの下に.mle/locale/cs00 というディレクトリを作成します。このディレクトリは、cs00setup(1) を実行すると自動的に作成されます。
sun% cd sun% mkdir -p .mle/locale/cs00 |
修正したいファイルをコピーします。
sun% cp /etc/mle/locale/cs00/filename ‾/.mle/locale/cs00/filename |
cstab の場合は、以下のようになります。
sun% cp /etc/mle/locale/cstab ‾/.mle/locale/cstab |
コピーされたファイルを編集します。
また、上記 1.〜3. の手順の代わりに以下のコマンドを実行することにより、環境変数 MLEPATH を使用して設定する方法もあります。
sun% setenv MLEPATH dir |
dir をカスタマイズしたいファイルがあるディレクトリ名 (フルパス名) で置き換えてください。
システムごとにカスタマイズする場合は、/etc/mle/locale/cs00/filename または、/etc/mle/locale/cstab を直接修正してください。
/etc/mle/locale にあるファイルはオリジナルです。修正前にコピーをするなどして取り扱いには十分に気をつけてください。また、このディレクトリにあるファイルを修正すると、システムを使用しているユーザー全員に影響します。個人で使用する場合は、$MLEPATH/locale または $HOME/.mle/locale を使用してください。
カスタマイズに使用されるファイルは、次の順で検索され、先に見つかったファイルが有効となります。
$MLEPATH/locale/
$HOME/.mle/locale/
/etc/mle/locale
ファンクションキーのキー割り当てをカスタマイズする方法について説明します。
キー割り当てのデフォルトのファイルは、/etc/mle/locale/cs00/keybind です。
keybind ファイルの代表的なファンクションキーについて、キー割り当てを変更する例を示します。
keybind ファイルには、「入力キー」と「そのキーに割り当てられた機能」 (以下「機能」とします) が書かれています。上記の例では、行頭の ^b が入力キーを、それ以降の記述が設定される「機能」を示します。
ある機能がユーザーにとって好ましくない場合、入力キーを差し替えることによって、キー割り当てをカスタマイズすることができます。たとえば、^K の確定操作を ^N の操作と入れ替えて操作をしたいとします。その場合、入力キーの ^K と ^N を入れ替えてください。この作業は、vi などのテキストエディタで容易に変更できます。
カスタマイズ作業を行う場合は、ファイルを /etc/mle/locale/cs00/keybind から $HOME/.mle/locale/cs00/keybind にコピーして、そこで編集します。
また、環境変数 MLEPATH を設定している場合は、/etc/mle/locale/cs00/keybind から $MLEPATH/locale/cs00/keybind にコピーして、そこで編集することもできます。
/etc/mle/locale/keybind を変更するとシステムのユーザー全員に影響するため注意が必要です。
修正した keybind の内容は、次に開始される入力セッションから反映されます。
mle コマンドを使用して上記のカスタマイズ作業を行う場合は、keybind ファイル内の後半にある ¥x で始まる行を修正してください。
¥x08 I { E : ERASE_LCHAR } # ctrl-h ¥x0b I { E,C : KAKUTEI } ; ¥ # ctrl-k * { I,C : SELECT_DONE } |
変換サーバーの初期設定は config ファイルをカスタマイズすることにより行われます。config ファイルをカスタマイズする方法について説明します。config で設定可能な設定項目は変換サーバーによって異なります。
config ファイルのデフォルトのファイルは、/etc/mle/locale/cs00/config です。
初期設定の記述方法は以下のとおりです。
NAME = value |
NAME は設定項目名で、value は設定値となります。以下に設定項目名と設定値の例を示します。ここでは cs00 を例とします (設定項目名は変換サーバーによって異なります)。
設定項目名 |
設定値 |
---|---|
I |
1 : かな漢入力 3 : コード入力 |
S |
0 : 学習 off 1 : 学習 on |
VIM |
1: 全角ひらがなモード [ひら] 2: 全角カタカナモード [カタ] 3: 半角カタカナモード [カタ] 4: 全角英数モード [A] 5: 半角英数モード [A] |
以下の内容は、config ファイルで設定項目名の S を「学習 off」に設定した場合の例です。
# # Default Data for Convert Engine # S = 0 |