Operaでuimによる日本語入力がおかしくなる問題の修正方法

FreeBSDでもOperaは走るが、uimで日本語を入力しようとするとctrlキーで確定してしまったり(このためctrlとのキーバインドは全滅となる)、キャレット位置がおかしくなったりする問題があった。
この問題は本家のフォーラムでも報告されている(【不具合】uim-skk Ctrlキーが適切に動作しない。)ものの、Opera側からはまだ対応されていない。
一方で、uimにパッチを当てることでこの問題を回避できるという記事を見つけた。Opera11.00(10.63)とUIM-SKK
パッチはuim-1.5.7-9用のものだが、最新版の1.7.0に対してもそのまま当たる(パッチファイル中の相対パスを書き換える必要はある)。

FreeBSDportsからインストールする場合は、portsによってuimソースコードに別のパッチが当てられているので、このパッチをそのまま当てることはできない。手順としては、

  • /usr/ports/textproc/uimに移動
  • make
  • /usr/ports/textproc/uim/work/uim-1.7.0/xim以下のuim_1.5.7+opera-5.diffに書かれているファイルの対応する部分を書き替える。
  • /usr/ports/textproc/uim/work/uim-1.7.0/ximに移動して、rm ./*.o
  • make
  • /usr/ports/textproc/uimに移動して、make install