IME 切替 on MacBook Pro + VMware Fusion + Windows Guest
まとめ
- VMware Fusion のゲスト OS としてインストールした Windows において、キーボードによる IME 切替ができない
- Windows において英語キーボード利用時の IME 切替は Alt+`(BackQuote, GraveAccent, Accent Grave)
- VMware Fusion のコマンド [ウインドウを巡回] のショートカット キーに Alt+` が割り当てられている
- このショートカット キーを無効にすれば Alt-` のキーイベントをゲスト OS に渡すことが出来、英語キーボードによる IME 切替を行うことが出来るようになる
はじめに
今月、Mac が新しくなり 13 inch MacBook Pro Retina になったので、様々なセットアップを行っていました。その作業の中で IME の切替を Alt-` で行えずに嵌まったので、自戒を込めてメモを残します。
学生時代に NewsOS+Emacs+Canna の組み合わせで慣れてしまったキーバインドで、社会人生活を過ごして もう 1x 年が経とうととしています。Windows と Mac OS で、それぞれ以下のソフトウェアで Emacs+Canna 風味のキーバインドを実現しています。
- Windows: のどか (窓使いの憂鬱の後継) + ATOK [自力で Cannna 風味のキーアサインを作成] on VMware Fusion
- Mac OS: Karabiner (旧 KeyRemap4MacBook) + ATOK [自力で Cannna 風味のキーアサインを作成]
この Windows 環境で IME の切替が Alt-` で行えずド嵌まりします
症状
英語キーボードでの IME 変換は Alt-` で通常行えます。しかし、VMware Fusion 内の Windows ゲストで IME の変換を Alt-` で行えません。
解決方法
これは VMware Fusion のコマンドの一つ [ウインドウを巡回] のキーアサインが Alt-` となっているためです。このキーアサインのために Alt-` のキーイベントを VMware Fusion が拾ってしまい、Windows ゲストにまで Alt-` のキーイベントが届きません。Windows ゲストは Alt-` のキーイベントを受け取っていないため、当然 IME の切替を行わないという顛末です。
対応としては、2 つあります。
- VMware Fusion のコマンド [ウインドウの巡回] のショートカットを無効にする
- VMware Fusion のコマンド [ウインドウの巡回] のショートカットを Alt-` 以外に割り当てる
いずれかの対応を適用することで Alt-` で IME の切替を行うことが出来ます。
このとき、Fusion の設定で、上記変更を施した「キーボードとマウスのプロファイル」と仮想マシンに設定されている「キーボードとマウスのプロファイル」が一致していることを確認してください。このプロファイルがずれていると、意図した動作を期待できません。
「キーボードとマウスのプロファイル」は、[メニュー バー] > [VMware Fusion] > [環境設定…] > [キーボードとマウス] と辿った以下の画面で行います。
仮想マシンに設定されているプロファイルは、仮想マシンを [仮想マシンのライブラリ] などで選択した後に、[メニューバー] > [仮想マシン] > [設定…] > [キーボードとマウス] と辿り、以下の画面で確認できます。
その他
VMware Fusion では、任意のキーのマッピング変更が行えたり、Mac 自体のショートカットはゲストに送らない機能があります。Alt-` だけでなく、他のキーイベントも意図せずゲスト OS が受け取れていないと思ったらば、以下を確認すると良いでしょう。
[メニュー バー] > [VMware Fusion] > [環境設定…] > [キーボードとマウス] > [キーマッピング]/[Mac ホスト ショートカット]
私は、左 Alt と 左 Windows を以下のように入れ替えています。