OSXからWindowsへリモートデスクトップで作業する際に、commandキーがWinキーになっていたりで
コピペや日本語切り替えのショートカットが違ったりして以前からストレスを感じていました。
慣れればいいのでしょうが、慣れたところでストレスに変わりはないので、
いまさらですがいつも後回しにしていたこの件を本気で取り組むことにしました。
※SierraではまだKarabiner自体が対応していないとのことで利用できないかもしれません。
前提
- US配列のキーボード
- OSX 10.11まで
- Microsoft Remote Desktop(proxy環境下でもTCPポート3389あたりは空いてたりして可能な状態)
- Karabiner (SierraはKarabinerが現在未対応。代替のKarabiner-Elementsが簡易対応)
やろうとしたこと
- OSX操作時は別にUS配列のショートカットはそのまま利用
- RDPでWindows操作時も似たようなショートカットで操作したい
- RDP使用中にCommandキーを押すとWinキーが起動するのが気に入らない、本当に気に入らない
- Win内での日本語切り替えを出来れば左右のCommandキーで切り替えたい
- OSX側で左Commandキーで「英数」、右Commandキーで「かな」という運用をしているため
そうだprivate.xmlがあった
ということで、Karabinerだけでなんとかしてみましょう。
Karabiner→Preferences→Misc & Uninstall
タブ
このOpen private.xml
ボタンでFinderが開きますのでお好きなエディタで編集です。
書式
特定のアプリのみキーリマップする場合
root要素配下にappdef
を追加し、その中にappname(任意)
、equal(特定の値があるので調べる。調べ方は後述)
を指定。
equalの調べ方
- 指定したいアプリを起動。
- OSXのメニューバーにアイコンがあればそこからでもいいので、
Launch EventViewer
で起動 - Appタブ内のApplication Bundle Identifierの値を見る
ということでこのように。
<appdef>
<appname>Microsoft Remote Desktop</appname>
<equal>com.microsift.rdc.mac</equal>
</appdef>
item
要素内は下記。
-
name
: KarabinerのPreferencesに表示させる名前 -
identifier
: private.hogeみたいな形で指定。hogeは使い回しできず、一意の名前に。ここがないとチェックボックスが表示されない。 -
only
: アプリ名。EventViewerのApp内、current appnames
にアプリを選択した時に出てくる名前。これがないと特定のアプリだけで動かす、ということができない -
autogen
: ここが動作の設定。
autogenの書き方
下記リンクを参照してください。
設定のまとめ
以下は自分用の設定ですが
Win内での日本語切り替えを出来れば左右のCommandキーで切り替えたい
これが解消出来てません。
左commandキーを英数にすること自体は簡単ですが、
これをやるとctrlキーの配置都合上win側のショートカットが使えないという事になってしまったからです。
- 左commandキーをCtrlにリマップ
- 右commandキーで英数/かなの入力切り替えをトグルする
ということに変更しておおまかな目的は達しました。
<?xml version="1.0"?>
<root>
<appdef>
<appname>Microsoft Remote Desktop</appname>
<equal>com.microsift.rdc.mac</equal>
</appdef>
<item>
<name>Use Left Command as Left Control in Microsoft Remote Desktop</name>
<identifier>private.rdc_l_control</identifier>
<only>REMOTEDESKTOPCONNECTION</only>
<autogen>
__KeyToKey__
KeyCode::COMMAND_L,
KeyCode::CONTROL_L
</autogen>
</item>
<item>
<name>Use Right Command as EISUU KANA toggle in Microsoft Remote Desktop</name>
<identifier>private.rdc_eisuu_kana</identifier>
<only>REMOTEDESKTOPCONNECTION</only>
<autogen>
__KeyToKey__
KeyCode::COMMAND_R,
KeyCode::JIS_PC_HAN_ZEN
</autogen>
</item>
</root>
これが使えれば、他のアプリに対しても似たような設定でリマップできるかと思います。