" />
このページはATOK for Linux上でNICOLA(一般的には親指シフトと呼ばれています)を使いたいと思ってしまった私のメモ置き場です。
im-sdkに含まれるiiimgcfに対してNICOLA化パッチをあてることでiiimgcfとおしゃべりするATOK for LinuxでNICOLA配列を使用できるようにします。主な仕様を以下に列挙します。
im-sdk内にあるiiimgcfに対してパッチを適用し、RPMをビルド&インストールしましょう。その後、環境変数およびATOKの設定を行って作業は完了となります。
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なアプリが全部落ちます・・・。
この設定は不要となりました。mod3, mod4の記述は ~/.Xmodmap には不要となります。
環境変数を指定して、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
Xを起動し、ATOKの入力モードを「カナ漢字入力」、キーボード状態を「カナ」に変更します。
この状態をデフォルトとしたい場合は、ATOKの環境設定を変更してください。あと、無変換キーと変換キーのキーアサインは精神衛生上、変更(無効化)しておいたほうがよいでしょう。
これでめでたくNICOLA化完了です。日本語をオンにすれば、gtk2なアプリでNICOLAが使えます。
上記の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"に置き換わる #