さて、とりあえずCannaが起動するようになりましたが、これだけではまだまだ不便です。 まず、不便な点を列挙すると、 ・キーアサインがCanna独自。普段使い慣れたATOK風にしたい。 ・変換キー、無変換キーが使えない。 ・SHIFT+SPACEでCannaが起動するのをやめたい。 (できれば、SHIFT+SPACEで半角スペースが入力できるようにしたい) などです。 幸運なことに、Cannaは非常に柔軟にできており、好みに応じて挙動が変えられるようになっていますので、一つづつクリアしていきましょう。 【キーアサインがCanna独自。普段使い慣れたATOK風にしたい】 これは結構簡単。 Cannaは定義ファイルで自由にキーアサインを変えることができるようになっています。そのファイルの中身を変えればOKです。 また、もともと有名な日本語入力システム用の設定ファイルが用意されているので、それに入れ替えるだけです。 まずは、コンソールやファイルマネージャーから、/usr/share/cannaディレクトリを見てみます。 ↓コンソールから
目的のATOK風のものは、just.cannaというファイル名ですので、これを.cannaというファイル名で、ホームディレクトリ(~/)にコピーすればいいだけです。 ↓just.cannaをホームディレクトリにコピー。
※ちなみに、matu.canna(松茸用)、vje.canna(VJE用)、wx2+.canna(WX2+用)と、Windows/DOSユーザにはなじみ深いIME用の設定も用意されているようです。 逆に、MS-IME用の設定が用意されていないのが不思議。まあ、今時のMS-IMEはATOKとキーアサインが酷似しているので、ATOK用を使っておけばさほど不便はしないかも知れませんが。 【おまけ~ローマ字変換規則も変更】 まあ、これでかなり使いやすくなったのですが、個人的な好みでもう一工夫します。 筆者は普段ローマ字入力で日本語を入力していますが、筆者が使っているATOKのローマ字変換規則は一点だけ変則的になっています。 「x」を「ー」に割り当てています。 MS-IMEを使わずATOK(や昔はWXG)を使っている最大の理由は、この変則的なローマ字変換規則を定義できるのが一番大きな要因だったりします(MS-IMEでは、レジストリを手動で編集しないと不可能)。 Cannaでも同様のローマ字変換規則を使いたいと思います。 ① ファイルの入手 ローマ字変換辞書の元ファイルは、「/usr/share/doc/libcanna1g/sample/src」フォルダに入っています。このフォルダにある*.ctd.gzというファイルがそれです。今回使用するのはATOK用のjust.ctd.gzファイルです。これをtarやgzipなどで解凍すると、just.ctdというファイルが得られます。 このファイルに規則を追加します。 ② 文字コードの変換 ただ、Xandrosにインストール済みのテキストエディタは、just.ctdファイルを編集してセーブしようとするとエラーが表示されてしまいます。エラーを読む限り、utf-8またはutf-16にしか対応していないようです(just.ctdはeucコードで書かれている)。eucを読み書きできるテキストエディタを用意すればいいのかも知れませんが、手っ取り早くコード変換してしまいます。
③ just.ctd8ファイルの編集 テキストエディタでjust.ctd8を読み込み、ローマ字変換規則を追加(下線部分)し保存。
③ 文字コードを元に戻す
④ 作成したjust.ctdをコンパイル
コンパイルが終了すると、just.cbpというファイルが作成されます。 ⑤ 作成したjust.cbpを/usr/share/cannaにコピー
これで作業終了。一度ログアウトしてログオンし直すと、新しいローマ字変換規則が使えるようになります。 【おまけ2~HomeとInsertの機能変更】 さて、これでかなり使いやすくはなるのですが、Cannaのデフォルトのキーアサインはどうも解せないところがありますので変更します。 Cannaのデフォルトの設定では、日本語入力中にHomeキーを押すとextend-mode(拡張モード)に入ります。同様に、Insertキーを押すとkigou-mode(記号入力モード)に入ります。 ↓extend-mode このキーアサイン、全くの意味不明としか言いようがありません。使いにくくてしょうがないので即変更!。 ということで、.cannaに手を入れます。(赤字=追加行/青色=編集行)
【変換キー、無変換キーが使えない】 さて、Cannaは何故か変換/無変換キーに何も機能が割り当てられていないようです。 .cannaファイルを見る限り、無変換キーはNfer、変換キーはXferというシンボルで表現されており、ちゃんと機能が割り当てられているように思うのですが、なぜかまったく効かないです。 恐らく、OS起動時に行われているキーボードの認識処理(/etc/init.d/loadkey.sh)がアヤシイとは思っているのですが、現在調査中です。 しょうがないので今回は別の方法をとります。 対処法的な方法ではありますが、変換キーもSPACEキーとして定義してしまうという方法でご勘弁を。 筆者は無変換キーは普段から一切使用しませんし、変換キーとSPACEキーはまったく同一のキーとして扱うようにしているので、これでまったく支障がないのです。m(_ _)m ちゃんとした解決方法が見つかりましたら報告させていただきます。 ① シェルスクリプト作成 テキストエディタで、~/.kde/Autostart/XferIsSpace.shファイルを作成します。 その中身は、「xmodmap -e "keycode 129=space"」という一文を入れておきます。 ↓作成後、中身を確認
このフォルダに置かれたプログラムやシェルスクリプトはログオンしたときに(より正確に言えばKDEが起動された後に)実行されます。 つまり、ログオンすると、XferIsSpace.shというシェルスクリプトが実行されます。 ② 実行可能権限付加 ただ、このままだとシェルスクリプトとは認識してくれません。スクリプトであることを認識させるために、ファイルに実行可能権限を付加しなければなりません。 それには、chmodというプログラムを使います。
その後、「ls -l」でファイルを表示すると、実行可能権限が付加されていることが確認できます(赤字の部分) これで作業終了。 次回のログオンから変換キーはSPACEキーとして扱われるようになります。 【SHIFT+SPACEでCannaが起動するのをやめたい】 Xandrosはalt+漢字でCannaが起動するようになっているので、特別SHIFT+SPACEで起動する必要はありません。むしろオペミスの原因になります。 ATOKを使い慣れていると、ついつい半角スペースを打つためにSHIFT+SPACEを打ってしまうのです。 そうすると、XandrosではCannaが終了してしまうので再度SHIFT+SPACEを打たなければならなくなってしまう。二度手間です。 理想はSHIFT+SPACEで半角スペースが打てるようになれば言うことはないのですが、せめてCannaが起動/終了する動作はやめたい。 ① app-defaultのKinput2ファイルを編集 テキストエディタで、/usr/X11R6/lib/X11/app-default/Kinput2ファイルを開きます。(root権限で行います) ファイルを開いたら、ConversionStartKeys~の記述を探します。 ↓Kinput2のConversionStartKeysの記述
Shift<Key>Space…の行を削除します。
これだけでOKです。ファイルをセーブしてください。次回のログオンから有効になります。 さて、目的はこれで達成できるのですが、かすかな疑問があります。 このファイルの記述によると、「Ctrl+漢字」を起動キーにしているようですが、実際は「Ctrl+漢字」を押しても何も起こりません。 更に不可解なのが、ここに「alt+漢字」で起動するための設定がありません。念のため、「.bash_profile」や「.xsession」、「.Xsession.d」なども確認してみましてが、そのような設定を行ってはいないようです。 まさかCannaのソースでハードコーディングされているとも思えないので、どこかで設定しているはずなのですが全くの謎。 まあ、その辺のリクツはともかく、これで「alt+漢字」が唯一の起動キーとして動作するようになりましたので深くは追求しません。あしからず。m(_ _)m |