先日、Windows 8.1でGoogle日本語入力を使うと、DvorakJの日本語入力用配列の設定が完全に無効化されてしまうとの報告を受けた。私は普段ATOKを利用しており、そうした症状に出くわすことはなかった。なるほど、Windows 8.1にGoogle日本語入力を導入してDvorakJを動かすと、たしかに日本語入力用配列の設定が無効になってしまう。
おそらくIMEの判定処理が関係する問題だと思って調べたら、IME.ahk*1ではIMEの入力モードを正しく取得できないことがあることに気づいた。Google日本語入力でローマ字入力の日本語入力を行っているはずなのに、IME.ahkによる入力モードの判定結果はかな入力となる*2。そのため、IMEが実際にはローマ字入力を利用しているのに、DvorakJではIMEがかな入力を使用中だと誤認してしまうのだ。ただ、この現象はWindows 7には現れず、Windows 8.1 と Google 日本語入力を併用している場合に限り生じるようだ。
そこで、本日公開した版に、Google 日本語入力を使用中であるとDvorakJで明示的に設定できるようにした。以前も同様の設定項目を設けていたが、今回盛り込んだ設定は上記の問題に対処するためのものである。設定画面の当該箇所の画像を下記に掲載しておこう。
Windows 8.1でGoogle日本語入力を利用している方は、今回実装した機能を是非とも活用してほしい。