" /> NICOLA meets ATOK for Linux

NICOLA meets ATOK for Linux (2005.11.01) - (2006.03.19書き直し)

このページはATOK for Linux上でNICOLA(一般的には親指シフトと呼ばれています)を使いたいと思ってしまった私のメモ置き場です。

このパッチの仕様および特徴(制限事項) - 2006.04.03記述修正

im-sdkに含まれるiiimgcfに対してNICOLA化パッチをあてることでiiimgcfとおしゃべりするATOK for LinuxでNICOLA配列を使用できるようにします。主な仕様を以下に列挙します。

im-sdk(iiimgcf)のNICOLA化&各種設定

im-sdk内にあるiiimgcfに対してパッチを適用し、RPMをビルド&インストールしましょう。その後、環境変数およびATOKの設定を行って作業は完了となります。

im-sdk(iiimgcf)のNICOLA化

ATOK for Linux アップデートモジュールからim-sdk(iiimf-trunk_r2059)の最新版をダウンロードし、以下の手順でSRPMをインストールします。

(注)当然のことながら、これだけをダウンロードしてATOKが使用できるようになることはありません。ATOK for Linuxはどこかでお買い求めくだされ。

$ mkdir /tmp/atok
$ cd $_
$ tar xzvf ~/atokforlinux_update_17_0_2_1.tar.gz
$ rpm -ivh ./atokforlinux_update_17_0_2_1/src/IIIMF/iiimf-trunk_r2059-js2.src.rpm 

続いて、私のほうで修正したim-sdk.specを ~/rpm/SPECS、NICOLA化パッチであるiiimf-trunk_r2059-nicola.patchを ~/rpm/SOURCES にそれぞれ格納してください。

さて、まずはRPMの作成から。

$ rpmbuild -bb --target=i686 ~/rpm/SPECS/im-sdk.spec

Xを終了させて作成したRPMをインストールしましょう。(シングルユーザーモードでインストールするのが望ましいです。)

# rpm -Uvh ~/rpm/RPMS/i686/iiimf-gtk24-trunk_r2059-0vl1.i686.rpm

これでiiimgcfのインストールは完了です。

iiimgcf/.lib/im-iiim.{a, la, so} を /usr/lib/gtk-2.0/2.4.0/immodules/ に上書きコピーすることでも可能ですが、X起動中に無理矢理コピーすると、gtkなアプリが全部落ちます・・・。

xmodmapの設定変更 - (2006.03.19削除)

この設定は不要となりました。mod3, mod4の記述は ~/.Xmodmap には不要となります。

環境変数の設定 - (2006.03.19追記)

環境変数を指定して、NICOLA配列での入力となるように設定しましょう。パッチを適用することで以下の環境変数が有効となります。

以下のような設定を行うと・・・混乱すること間違いありません(笑)。

$ cat ~.bash_profile
# .bash_profile

 :
 :

export HTT_USES_NICOLA=t             # NICOLA配列を使用する
export HTT_NICOLA_LEFT_KEYCODE=129   # 左親指キーを指定します。ここでは「変換」キーを指定しています。
export HTT_NICOLA_RIGHT_KEYCODE=131  # 右親指キーを指定します。ここでは「無変換」キーを指定しています。
export HTT_NICOLA_SYN_TYPING_JUDGE_TIME=150   # 同時打鍵判定時間を150ミリセカンドに指定しています。
$

xevコマンドの出力結果のサンプルです。この結果のkeycode値(以下の結果だと 131)を環境変数に設定することで、親指キーをカスタマイズすることが出来ます。

KeyPress event, serial 28, synthetic NO, window 0x3200001,
    root 0x60, subw 0x0, time 579945052, (528,87), root:(539,178),
    state 0x0, keycode 131 (keysym 0xff22, Muhenkan), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

ATOK for Linuxの設定変更

Xを起動し、ATOKの入力モードを「カナ漢字入力」、キーボード状態を「カナ」に変更します。

ATOKパレット

この状態をデフォルトとしたい場合は、ATOKの環境設定を変更してください。あと、無変換キーと変換キーのキーアサインは精神衛生上、変更(無効化)しておいたほうがよいでしょう。

これでめでたくNICOLA化完了です。日本語をオンにすれば、gtk2なアプリでNICOLAが使えます。

SRPM/RPMの所在(2006.03.19追記)

上記のNICOLAパッチをあてたRPMを用意しました。パッチやらコンパイルやらに拒否反応を示す方は、こちらをお試しくだされ。

上記のrpmをダウンロードして、以下のコマンドを実行します。実行後、"iiimf-gtk24-trunk_r2059-js2"が置き換わっていればインストールは無事完了です。

# rpm -Uvh iiimf-gtk24-trunk_r2059-0vl4.i386.rpm

置き換わった後の状態は、こんな感じです。あとは、上記にある『環境変数の設定』『ATOK for Linuxの設定変更』を行えば完了です。

# rpm -qa | grep iiimf
iiimf-docs-trunk_r2059-js1
iiimf-client-lib-trunk_r2059-js1
iiimf-csconv-trunk_r2059-js1
iiimf-rc-trunk_r2059-js1
iiimf-x-trunk_r2059-js1
iiimf-server-trunk_r2059-js1
iiimf-protocol-lib-trunk_r2059-js1
iiimf-gtk24-trunk_r2059-0vl4       <--- これが"js2"から"0vl4"に置き換わる
#

NICOLA関連のリンク

TODO