さて、ようやく今年になって本格的にMacに移行したのだけれど、USキーボードが大好きな人間なので、スペースバーの長さ的に左Command、右コマンドによる切り替えは難しい。やっぱり慣れ親しんだShift+SpaceでIME切り替えを使いたい。自分の事情と要望をまとめるとこんな感じ。
- 10年近くShift+SpaceでIME切り替えをしていたので、やっぱりこれに設定したい。
- Mac環境になったとはいえ、オフィス系のアプリケーションはParallelsのWindows上で動かしている。
- MacでもWindows on ParallelsでもShift+SpaceでIME切り替えができるようにしたい。
Mac環境におけるIME ON/OFFをShift+Spaceにバインディングするのは、みんな大好きKarabiner (旧keyremap4macbook) で設定できる。
以下の設定項目をONにすればよい。
For Japanese > Change Space Key > Shift+Space to KANA/EISUU (toggle)
しかし、この設定そのものはParallels上で動くWindowsの設定とは関係ない。そして、Parallels上のWindows側のIMEでShift+Spaceを設定してもShift+SpaceでIME切り替えができない。原因はMac側でShift+Spaceのキー操作シグナルがIME切り替えに変換されてしまい、Parallels上の仮想マシンに対してShift+Spaceのキー操作が送られていないことっぽいことに気づく。
これは困ったなぁと思っていたのだけれど、Karabinerはアプリケーション毎に、カスタムキーバインドを無効にすることが可能みたい。ということは、Parallelsに対してIME ON/OFFのキーバインディング設定を無効にすることができれば、Windows上のIME設定が使えるようになるのではないかと予想。
というわけでprivate.xmlを記述して、Parallelsにおいては上記設定が無効になるようにすればよい。結論からいえば、自分の場合には以下の設定でOKだった。PARALLELSについてはVIRTUALMACHINEというappnameですでに登録されているので、自分で登録する必要がないみたい。
<?xml version="1.0"?> <root> <!-- <appdef> <appname>PARALLELS</appname> <equal>com.parallels.desktop</equal> <equal>com.parallels.vm</equal> <equal>com.parallels.desktop.console</equal> </appdef> --> <item> <name>[customize] Change Space Key</name> <appendix>[customize] Shift+Space to KANA/EISUU (toggle)</appendix> <identifier>private.shift_space_toggle</identifier> <!-- <not>PARALLELS</not> --> <not>VIRTUALMACHINE</not> <autogen> __KeyToKey__ KeyCode::SPACE, ModifierFlag::SHIFT_L, KeyCode::VK_JIS_TOGGLE_EISUU_KANA </autogen> </item> </root>
これを読み込めば、Change Keyの部分に新たに [customize] Shift+Space to KANA/EISUU (toggle) という項目が現れるので、これのチェックをすればよい。上記で設定した元のShift+Spaceの設定のチェックを外すことを忘れずに。
これでMacでもParallels上のWindowsでもShift+SpaceでIME切り替えができるようになった!やった!!