親指シフト入力 と IME
親指シフト入力を行うと必ず「モードずれ」が起きます。 かな入力を行おうとした時、英数入力に成ったり、その逆になったり。
原因はIMEが親指シフト入力をサポートしていないからです。 そこで、親指シフトのキー入力をかな入力(ローマ字入力も含む)に入れ替えてからIMEに渡す方法が取られます。
しかし、かな入力なのか英数入力なのか知っているのはIMEのみです。 Q's Nicolatter や やまぶきR などのエミュレータソフトは、 IMEの情報を読み取り「モードずれ」を少なくしています。
自分のアプリケーション内だけでIMEの情報を取る分には問題ないのですが、 他のアプリケーションのIMEの情報を得ようとする行為は、Windowsのセキュリティホールに成りかねません。
その為、Windows8 以降の ストアアプリでは、他のアプリケーションのIMEの情報が得られないようです。 日本マイクロソフトに頼み込んで、Microsoft IMEに親指シフト入力のサポートをお願いするしかないかな?
IMEを変更して
「IMEが状態に応じて入力モードを変えるなら、入力開始直前に手動で入力モードを合わせてしまう。」 という考え方があります。 ただMicrosoft IMEのデフォルト状態では使い勝手が悪すぎます。 そこで、変更します。
この変更はエミュレータソフトでも有効です。少しでも使い易くした方がよいです。
変更手順
Windows10の「Microsoft IME」の変更手順を示します。
タスクバーのIME部を右クリックして「プロパティ」を選択すると左のダイアログが出ます。
そしたら詳細設定をクリックします。
右の詳細設定画面が出たら「編集操作」のキー設定のコンボボックスを[Microsoft IME]にして変更を押します。
英数はトグルしない様に
モードがずれた時、素早く治すためには特定のキー押すとモードが一致するようにする事です。
[ひらがな/カタカナ]キーを単独で押すと「ひらがな入力」。[Shift]付きで押すと「カタカナ入力」になります。 ほぼ固定の機能です。
[英数]キーのみ「かな入力」と「半角英数」を相互に切り替え(トグル)します。 これを変更してトグルしないようにします。
まず英数を探し"かな英数"を選択して変更を押します。
機能選択で"かな英数"の下側にある"半英固定"に変更してOKを押します。
全ての項目を変更終わると下記の状態になります。
適用を押して機能を確定します。
親指シフト入力ローマ字出力を使う場合は、IME設定「英数を"半英固定"にする」にチェックを入れます。 チェックを入れないとトグルすると判断しますのでモードずれを起こします。
無変換を押して親指シフト入力開始するには
Japanistみたく[無変換]キーを押して日本語入力を開始したい場合があります。 単純に"IMEオン"を設定するだけでいいのですが…
まず無変換を探し、最初の"かな切替"を選択して変更を押します。
機能選択から"IMEオン"に変更してOKを押します。
次に"かな変換"を選択して変更を押します。(慣れたら"かな変換"のダブルクリックでも良い。)
ここは、"ひらがな"(ひらがなに変換します。)にします。機能選択に2種"ひらがな"があるので注意が必要です。 図の右側の"ひらがな"は違います。
この2つを修正したら終わりです。
親指シフト入力ローマ字出力を使う場合は、IME設定「無変換を"IMEオン"にする」にチェックを入れます。 チェックを入れないとIME起動を判断できませんのでモードずれを起こします。
エミュレータソフトでは関係ないけど。
親指シフト入力ローマ字出力を使う場合のIME設定に「F13を"全角英数"にする」あります。 これは、ローマ字出力時全角英数にすると出力できる記号があるためです。 エミュレータソフトを使う場合には関係ありません。しいて上げるなら全角英数に切り替えがキー一つでできるだけですが。
上図(無変換部)の様にキー追加を押すと下図のようにキーが選択できます。
F13を選択 ↓
無変換の状態を引き継いできています。
設定を全て"全角英数"に置き換えていきます。
"全角英数"は、2種類あり説明が「全角英数に切り替えます。」の方を選びます。
全て設定すれば終わりです。
親指シフト入力ローマ字出力のIME設定「F13を"全角英数"にする」にチェックを入れます。
最後に
最後に、編集操作が「ユーザー定義」になっているか確認してOKを押します。
ほかに好みによっては、「和英混在入力」や「字書」等変更すると良いかもしれません。
免 責
情報は出来るだけ正確に書くつもりです。ただこの記事を見て作ると思ったときは、 個人の責任において作業を行なってください。 データの喪失や機器の損傷が有っても、一切の責任は取れません。