Mac
Bootcamp
キーバインド

US配列MacBook ProのBootcamp Windows10でCommandキーを半角/全角キーにマップした話


概要

私はmacが特別好きというわけではありませんが、USキー配列のmacbook proが研究室から貸与されたため使用しています。必要に迫られてBootcampでwindows10をインストールしたのですが、JIS配列のwindowsにはある「全角/半角」に相当するキーがなくて困りました。そこで頑張ってCommandキー(windowsでは「ウィンドウズキーとして動作」)に該当機能を割り当てて所望の動作が得られたので作業手順を書きます。なるべく余計なソフトの導入はしたくないのでwindowsの標準機能(IMEの設定+軽いレジストリいじり)だけで実現できる方法を採用しました。


やったこと


caps lockcontrolを割り当て

本題からはそれますが、よくやられてるこれもやっておきました。不便なので。キーの交換ではなくてcaps lockを消しました。やり方はレジストリにキーボードのスキャンコードのマップを記述する方法で、http://www.shin-tan.com/swapKey で詳しく解説されています。


commandに日本語・英数切り替え機能を割り当て

Bootcampのwindowsではalt+`で日本語・英数の切り替えができますが、キーを二つ押さなければいけない上にその二つの同時押しは極めてやりづらいので使用機会の皆無なcommandキーだけで日本語・英数の切り替えができるようにしました。Macではcommand+spaceで日本語・英数の切り替えをするのでこの割り当てが指の動作的にも近くていいかなと思いました。

以下の二段階の手続きを経ます。



  1. F2に日本語・英数切り替え機能を割り当て


  2. commandF2を割り当て


F2に日本語・英数切り替え機能を割り当て

MSのQ&Aを参考にIMEの設定を変更することでF2キーに対して日本語・英数切り替え動作を割り当てることができます。F2以外にもctrl+spaceなどにも割り当て可能で実際そのように設定している人もいるようですが、私はVim等でctrl+spaceを使うのでF2へ割り当てました。

無題.png


commandF2を割り当て

ctrlcaps lockに割り当てるのと同じ方法でできます。caps lock->ctrlと共存させる場合は二つのキーマッピングを同じレジストリキー(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout)に記述する必要があります。具体的にやったことは以下のコードが書かれた.regファイルを実行して再起動するだけです。


caps2ctrl_command2f2.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3c,00,5b,e0,00,00,00,00

これでcaps lock->ctrlcommand(左側)->F2のマッピングができます。

ちなみに各キーのスキャンコードはhttp://softwaretechnique.jp/OS_Development/Tips/scan_code_set1.html で確認できます。今回割り当てたcommandキーはスペースキーの左側のやつです。


追記

使っているうちにスペースキーの左側のcommandctrlに割り当てることでMacとの動作の互換性を高めたくなりました(command+Vでコピーとかがしたい)。そこで日本語・英数切り替えはスペースキーの右側のcommandで行うことにしました。その場合の.regファイルは以下のようになります。IMEの設定でF2に日本語・英数切り替えを割り当てるところは変わりません。


caps2ctrl_right-command2f2.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,1d,00,3a,00,3c,00,5c,e0,1d,00,5b,e0,00,00,00,00



  • caps lock->ctrl


  • command(スペースの左)->ctrl


  • command(スペースの右)->F2

のマッピングが設定されます(再起動で反映)。