MacをUSキーボードで使いたい。
でも[英数]と[かな]の切替は日本語キーボードと同じようにしたい。
で、MacとWindowsでキー操作を合わせたいので、
Parallelsで使うWindowsの[英数]と[かな]を左右のコマンドキー⌘に割り当てたい。
MacOS v10.12 Sierra では、 Karabiner が今のところ使えない。民が困って右往左往していたところ、⌘英かなという新たな神が現れ、Macの左右コマンドキー⌘に[英数][かな]を割り当てるのは簡単にできるようになった。しかし⌘英かなには、特定のアプリにだけリマップを設定する機能が現状無いので、これまでと同じようにはできない。
調べてみても、英数/かなのトグルキーを設定する、Ctrl + Space を割り当てるなど、「USキーボードのMacでWindowsの日本語入力切替を快適にする方法」はあっても、「USキーボードのMacの左右コマンドキー⌘でのWindowsの英数かな切替方法」は見つからず、しばらく不便を忍んでいたのだけど、あれこれ考えてできたのでメモ。
環境
- MacOS v10.12 Sierra
- Windows 10
- Parallels 11
- Windowsのキーリマップアプリ(ChangeKeyを使用)
- Google日本語入力(MS IME, ATOKでもできるはず)
手順
- ⌘英かなで、Parallelsを除外設定し、左右⌘単独押しを左右Winに戻す。
- キーリマップアプリで、左Winに[F13]、右Winに[F14]を割り当てる。
- Google日本語入力で、[F13]にIME無効化、[F14]にIME有効化を割り当てる。
1. ⌘英かなの設定(Macのキーリマップ)
Macに⌘英かなをインストールする。実行するとメニューバーに[⌘]の印が出る。右クリックして[Preference]を選択し、[Exclusion Apps]タブで、 Parallels Desktop にチェックを入れる。これで、
- Parallels以外では、
左コマンドキー⌘単独押しは[英数]キー、
右コマンドキー⌘単独押しは[かな]キー - Parallelsでは、
左コマンドキー⌘単独押しは左[Windows]キー
右コマンドキー⌘単独押しは右[Windows]キー
なお、コマンドキー⌘と他のキーを同時に押した場合、たとえば [⌘]+[v] のような常用のショートカットについては、Parallels が [Control]+[v] に変換して Windows に送信するので、左右コマンドキー⌘はWindowsでは[Control]キーのように使える。これは以下の設定をしても変わらない。
2. ChangeKeyの設定(Windowsのキーリマップ)
左右のWinキーは特殊なキーなので、そのままではIME On/Off 切り替えに使うことができない。そこで、Windowsの側でキーを置き換える。置き換え先は何でもいいのだけど、目的にずばり一致するキーである[英数]や[かな]や[変換]や[無変換]はどうやら使えない。これらのキーはUSキーボードには存在しないので、WindowsがUSキーボード(101/102)を使っていると認識している場合には、コードがうまく伝わらないらしい。そこで、もともとキーボードになく、あまり他のショートカットと干渉しなさそうなファンクションキーの[F13][F14]と置き換えてみる。ChangeKeyは非常駐型のキーリマップアプリで、レジストリを書き換えて、キーのリマップを実現するもの。ChangeKeyを管理者権限で実行する(右クリック→[管理者として実行]、ちょっと時間がかかる)。すると割当元キーを選択する画面が出る。
左Winを選択すると、割当先キーを選択する画面が出る。
ここで右上のScanCodeという画面上の小さなキーを押すと、スキャンコードを入力する画面が出る。[F13]は[0x0064]なので、そのように入力する。同様に、右Winには[F14]のスキャンコード[0x0065]を割り当てる。その他のFnキーのコードはこちらに一覧がある。
先程のキーボードの画面に戻るので、メニューバーの[登録]を押して編集結果を登録する。そしてWindowsを再起動する。これで、Windowsで左コマンドキー⌘を単独で押すと[F13]、右コマンドキー⌘を単独で押すと[F14]という状態になった。なお、Windowsにどのようなキーが送信されているかはKeyMillのようなアプリで確認できる。
3. Google日本語入力の設定(IMEの設定)
最後に、WindowsのIMEの設定で、[F13]にIMEの無効化、[F14]にIMEの有効化を割り当てる。Google日本語入力の場合、Windowsのタスクトレイの「あ」の字の上で右クリックして[プロパティ]を押して設定画面を開く。[一般]タブ→[キー設定]の[編集]ボタンを押して、キー設定画面を開く。左下[編集]→[エントリの追加]で新しいキー入力設定が追加できるので、以下を追加する。
これで完了。エディタ等を一度終了して開き直せば、
- Windowsで左コマンドキー⌘を単独で押すと英数入力(IME Off)
- Windowsで右コマンドキー⌘を単独で押すとかな入力(IME On)
になっているはず。
参考:
Change KeyによるCapsLockなどのキー置換(shobon's blog)
Windows 10で右Altキーを Google IME ON/OFFに割り当てる方法
USキーボードのOS XとParallelsで動いているWindowsのIMEをCapsLockでトグルする(Qiita)
ひとつ問題は、うちの環境では、反応が遅いこと。IME切替後に一呼吸おいて入力しないと、切り替えが間に合わずスルーされてしまうことがある。KeyMillでみたところWindowsにキーコードが送信された後はすぐに反応しているので、問題はMac側にありそう。そして⌘英かなを終了させてもやはり遅いので、原因はParallelsとみられる。よりよい方法があったらぜひお知らせください。
追記:
2019年1月にPCを移行する際、Mac OS 10.14 (Mojave) と Windows 10 で改めて上記の設定をしたところ、うまくいったので、現在もこの方法は有効のようです。Windows側の設定はParallelsの仮想マシンに保存されるので、移行もそれほど大変ではなかったです。
同じ状況で困っていましたが、こちらの方法で無事に解決しました!!嬉しいです、ありがとうございます^^
返信削除