SKKの送り仮名でcをkと同じように扱えるようにする
背景
Dvorak+SKK環境だとkよりもcの方が入力しやすいので、ca->かのようにか行をcに割り当ててる人が多いです(独自研究)。
しかし、漢字変換の際の送り仮名入力ではcを使うとうまく変換できないことが多いです。
例: あじけなCi
これは、送り仮名を最初に入力されたキーのみで判定しているためCかKかで結果が変わってしまうことが原因です。
このため、折角k->cにしたのに正しく変換できないということが起きてしまいます。
なのでこれをなんとかしました。
解決策
in Linux, uim-skk
設定で対応できなさそうだったので辞書ファイルから送り仮名kのものを全てcにも対応させました。
nkfが必要ですが、以下のコマンドで送り仮名cに対応した辞書が生成できます。
cat SKK-JISYO.L | nkf | grep 'k /' | grep -v '^[0-9a-zA-Z\-]* /' | sed 's|k /|c /|g' | nkf -e > SKK-JISYO.k2c
あとはskkdic-expr2などを使って辞書を統合すれば完成です。
uimの設定から統合した辞書を設定して再起動すれば有効になります。
in Windows
DvorakJ+CorvusSKKならDvorakJで日本語入力のときのキー配列を変更すれば対応できます。
なぜか変換中だと正しくできなくなってしまっていたので別の方法で実現しました。
おそらく日本語入力用配列にShift同時押しの場合のキーマップがないためKが入力されてしまうことが原因だと思われます。
DvorakJの編集メニューから日本語入力用配列の設定ファイルを開いて変更し、保存すれば実現できます。
今回は直接入力用配列のものをそのままコピペし、C->Kと変更しました。