このため、Fusion4上でWindows7を動かす場合も、日本語キーボードだと配置が合わないという問題が発生する。
それを解消する方法。
- VMwareを完全に終了しておく
- SpotLightで「仮想マシン」で検索
- Windows 7 x64.vmwarevmというファイルで右クリック、パッケージの内容を表示(32bit版の時はx64は「ない」)
- Windows 7 x64.vmxでこのアプリケーションで開く~適当なテキストエディタで開く
- 一番最後の行にkeyboard.vusb.idProduct = "0x222"と追加し、改行、ファイルを保存
- VMWare~Windows7を再起動
- Windows上で、コントロールパネル~キーボード~ハードウエア~プロパティ~ドライバー~ドライバーの更新
- コンピューターを参照してドライバーソフトウエアを検索します~コンピューター上のデバイスドライバー一覧から選択します
- 「互換性のあるハードウエアを表示」のチェックを外す
- (標準キーボード)の中から「日本語PS/2キーボード 106/109 Ctrl+英数」を選択、次へ
- 警告メッセージが出るが「はい」でインストール続行
- Windowsを再起動
これで日本語キーとして正しく認識されるようになる。Lionと違い「|\」と「_ろ」も正しく入力できる。
・・・
さて、うちではMacにもWindowsのキーボードをつなぎ、Mac上ではCommandとControlの位置をKeyRemap4で入れ替えている。また、Windows上ではCapsLockとCtrlを入れ替えている。
CommandとControlの位置入れ替えだけなら、キーボード~修飾キーの設定で入れ替えられるが、他のキーも変更しようと思うとKeyRemap4が必須であり、またKeyRemap4を入れているとこの修飾キーの設定は無視される。
こういうことをしていると、Windows上でCtrlとWinのキーが入れ替わってしまう問題が発生する。
調べてみると、CTRL+←/→を押すと正しくCTRL+←/→と返すのに、CTRL+アルファベットを押すとWin+アルファベットと返してくるという変な現象が発生している。
これを回避するには、KeyRemap4で、Fusionには入れ替えてない状態のキーを渡すようにすればよい。
private.xmlに次の内容相当を追記してReloadする。
<?xml version="1.0"?> <root> <appdef> <appname>VMware</appname> <equal>com.vmware.fusion</equal> </appdef> <item> <name>Control_R to Command_R (except VMware)</name> <identifier>private.app_vmware_control_r_to_command_r</identifier> <not>VMware</not> <autogen>--KeyToKey-- KeyCode::CONTROL_R, KeyCode::COMMAND_R</autogen> </item> <item> <name>Control_L to Command_L (except VMware)</name> <identifier>private.app_vmware_control_l_to_command_l</identifier> <not>VMware</not> <autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen> </item> <item> <name>Command_L to Control_L(except VMware)</name> <identifier>private.app_vmware_command_l_to_control_l</identifier> <not>VMware</not> <autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen> </item> </root>
これで、思惑通りのキー操作ができるようになる。
なお、Fusion上に複数のWindows環境を入れている場合、これ1つですべてに有効である。
Command-L/Control-Lに関してはKeyRemap4に元からexcept Virtual Machineという似たような設定があるが、それを設定してもうまく動かなかった。Fusion4には対応していないのかもしれない。
実はこの状態でも「全角/半角」を押しても日本語入力できないという問題が残る。
これに関しては、Windows上のキー配置変更ツール(chgkeyなど)で、「カタカナ・ひらがな→全角/半角」(逆ではないので注意)の変更を入れる。
ただし、この変更をしても、Mac側が日本語入力モードになっているとWindowsで「全角/半角」が効かない。
キーが効かないときは、Macの日本語入力モードを確認のこと。
これで、WindowsとMacでほぼ同じキー操作ができるようになった。
「そもそもWindows上でキーCtrlとWinを入れ替えればいいんじゃないか」と思われるかもしれないが、先に書いたとおり、返されてくるCtrlとWinのキーコードが場合によって異なるのでうまくいかない。
だからホストとなるMac側で変更しなければならない。このあたりはさんざんやったから間違いなし。
CTRL+←/→や一部ファンクションキーはデフォルトではMac側にとられる場合があり、Windowsに渡すことができない。
この場合、環境設定~キーボード~キーボードショートカットを変更する。
private.xmlにさらに書き加えれば両立出来るかもしれないが、そこまでは必要を感じてないので省略。
いや、KeyRemap4MacBookは本当によく出来ている。
英語だけなのでちょっとわかりにくいけど。
0 件のコメント:
コメントを投稿