Page History

scim-wnn_kana-input

TAM (Teppei Tamra) edited this page on 19 Dec 2016

Clone this wiki locally
You can clone HTTP or SSH.

かな入力の問題点と解決策

最近の動向

Rev.72においてまともなかな入力モードが実装されました。ツールバーから切り替えて利用できます。

Rev.76以降はローマ字入力モードでかな入力はできません。かな入力モードに切り替えて下さい。

Rev.72以降に実装されたかな入力モードはアルファベットキーをかなに変換する方式も採用しています。どちらでも入力できると言うことです。

以下の文章の方法を取ろうが取るまいが入力可能です。アルファベットキーからかなを変換する方法を無効化する設定も近いうちに実装するつもりです(準備は大体できている)。

かな入力をどこが処理すべきなのか

scim-wnnはRev.69よりかな入力をサポート。

ただし、このかな入力の仕組みはscim-anthy等のそれとは違った方法を取っている。

IMEngine側でアルファベットキーとかなをマップして変換させるのではなく、直接キーイベントからかなを判別する。

この方法の利点

  • 長音符号問題が解決できる。
  • コードが比較的簡単にまとまる。
  • コード側は基本的にローマ字入力中にかな入力を実装することが可能(scim-wnnではそうしているRev.76にて除去)。
  • X等下層段階でのキーマップ差替があっても反映される。

この方法での不利点

  • ユーザがキーマップの設定をいぢる必要性がある。
  • ローマ字入力等と混在させた場合に現在かな入力モードが有効なのかどうかを判別する手段が無い(つまり、押してみないと分からない)。
  • 同一キーであっても設定を複数用意する必要が出てくる場合がある。つまり、かな入力が無効の場合の[Ctrl]+[g]とかな入力が有* 効な場合の[Ctrl]+[き]は、押すキーは同じだが別々と判断される。

設定方法

日本語キーボードを使う設定になっているか確認する。例えば

$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "jp+inet(logicdo)"      };
        xkb_geometry  { include "pc(pc104)"     };
};

こんな感じならまぁOK。

グループ切り替えを設定する。

$ setxkbmap -option grp_led:num,grp:lctrl_toggle

この例では右Ctrlキーがかなトグルキーに設定され、numlockのLEDがその状態を示してくれる。

以上の設定を施せばscim-wnnからかな入力が可能となる。ローマ字入力モードでかなトグルキーを押しかな入力状態にしてキーを打てば、刻印通りのかなが入力されると思う。

かなトグルをoffにすれば、通常のローマ字入力に戻る。

解決策を探す

X側の設定を強要するのはあれだが、この設定にすれば長音符号問題も一応解決する。

ただ、代わりに失うものも少なくない。さて、どうしたものか…。