ExcelでCtrl+Spaceキーが効かなくなる件

人力でも駄目だったが、今日いろいろやって原因が判明。

原因:Windowsの入力システム(IM)の問題。未公開の不具合か?
発生条件:IMとして中国語IMEが追加されていること
回避策:IMのホットキー設定を変更する


たぶん、中国語IMEを使っている人はほとんどいないだろうから、発生条件はかなり限定される。
人力で調べてくれた人たちもこの条件にはおそらく当てはまらないだろう。その点は条件提示が不十分であり申し訳なかった。


繁体字IMEがインストールされていると、入力システムのホットキーとして以下が追加される。


説明

ホットキー

入力言語を切り替える

左Alt+Shift

中国語(台湾) - 中国語(繁体字) - New Phoneticに切り替える

(なし)

中国語(台湾) - 中国語(繁体字) - US Keyboardに切り替える

(なし)

日本語 - Microsoft IME Standard 2003に切り替える

(なし)

繁体字中国語IME - 結果文字列の再送信

Ctrl+左Alt+G

繁体字中国語IME - 前の組み合わせ

Ctrl+左Alt+K

繁体字中国語IME - UIスタイルの切り替え

Ctrl+左Alt+L

繁体字中国語IME - 入力システムの切り替え

Ctrl+Space

繁体字中国語IME - 形の切り替え

Shift+Space

繁体字中国語IME - 記号の切り替え

Ctrl+左Alt+COMMA


このとき、Excel使用中に誤入力で左Alt+Shiftを押してしまうと、中国語IMEに切り替わってしまう。そのこと自体は問題にはならないが、もう一度左Alt+Shiftを押して日本語IMEに切り替えても、Ctrl+Spaceが有効にならない(無視されている)。
本来はCtrl+Spaceは、中国語IMEが有効の時だけ有効になっているべきだが、どうも入力システムに絡む不具合なのか、日本語IMEに切り替えた後もCtrl+Spaceがフックされ続け、アプリに渡されなくなってしまうようである。


(操作例)



操作

状態

Ctrl+Spaceの挙動

(1)

Excelを起動する

日本語IMEが有効

Excelの列選択が機能する

(2)

左Alt+Shiftを押す

中国語IMEに切り替わる

Excelの列選択はできない
中国語IMEのON/OFFが切り替わる

(3)

左Alt+Shiftを押す

日本語IMEに切り替わる

Excelの列選択はできない


OSとしてあるべき動作としては、(3)の操作で(1)の状態に戻るべきだ。日本語IMEではCtrl+Spaceのホットキーは割り当てられていないのだから。


当面は、「繁体字中国語IME - 入力システムの切り替え」のホットキーをCtrl+Space以外の別のホットキーに割り当てるしかない。
試してみた限りでは、「無効にする」ことはできないようだ。無効設定にしてもエラー*1になってしまう。必ず何かのキー([Ctrl or 左Alt]+[Shift]+[文字キー])を割り当てなくてはならないらしい。
そもそも入力システムの切り替え(繁体字IMEのON/OFF)自体は、繁体字IMEではShift単体押しにも割り当てられており、こちらの方が使いやすいのでCtrl+Spaceなどというホットキーは不要。

ちなみに、WindowsのIMはアプリとセットになって常駐するので、設定変更後はアプリ(この場合はExcel)を再起動するまで設定変更は有効にならない。


*1:繁体字中国語IME - 入力システムの切り替え のキーシーケンスを変更できませんでした。同じキーシーケンスが別のアイテムに使用されていないかどうかを確認してください。』このエラーメッセージも内容が的確でない。