Microsoft Remote Desktopでのキーバインド変更とその設定ファイル内容

Macから開発用Windows環境に接続するのにMicrosoft Remote Desktopを使用しています。

しかしキーボード表記と入力内容が異なるので地味にストレスが溜まります。

対応として、キーバインドを変更して解決する方法に落ち着きました。

こちらを参考にしました。
http://fanblogs.jp/macyarounanoka/archive/107/0
とても助かりました！
ありがとうございます。

上記記事内で出ているprivate.xml内容から2点変更。
・右側CommandボタンをControlとして使いたかったので1行追加
・英数キーをHOMEキーに、かなキーをENDキーに設定


```lang:private.xml
<?xml version="1.0"?>
<root>
    <appdef>
        <appname>MicrosoftRDC</appname>
        <equal>com.microsoft.rdc.mac</equal>
    </appdef>
    
    <symbol_map type="KeyCode" name="RDC_VK_HOME" value="0x73"/>
    <symbol_map type="KeyCode" name="RDC_VK_END" value="0x77"/>
    
    <item>
        <name>Microsoft Remote Desktop App 無理矢理JISキー対応</name>
        <identifier>private.Microsoft_rdc_Custom</identifier>
	<!-- Microsoft Remote Desktopのみを対象にする -->
        <only>MicrosoftRDC</only>
        
        <autogen>__KeyToKey__ KeyCode::COMMAND_R, KeyCode::CONTROL_L</autogen>
       
    <!-- 英数キーをHOMEキーに置き換え -->
        <autogen>__KeyToKey__ KeyCode::JIS_EISUU, KeyCode::RDC_VK_HOME</autogen>
	<!-- カナキーをENDキーに置き換え -->
        <autogen>__KeyToKey__ KeyCode::JIS_KANA, KeyCode::RDC_VK_END</autogen>

	<!-- == SHIFTキーなしの入力変更 == -->
	
	<!-- ＾キー押下=&に置き換え 変更前 Mac(^)=Win(=)  Win(^)=Shift+6  -->
        <autogen>__KeyToKey__ KeyCode::EQUAL,ModifierFlag::NONE,
            KeyCode::KEY_6, ModifierFlag::SHIFT_L</autogen>
	<!-- @キー押下=“に置き換え 変更前 Mac(@)=Win([)  Win(@)=Shift+2  -->
        <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::NONE,
            KeyCode::KEY_2,VK_SHIFT</autogen>
	<!-- [キー押下=@に置き換え 変更前 Mac([)=Win(])  Win([)=@ -->
        <autogen>__KeyToKey__ KeyCode::BRACKET_RIGHT, ModifierFlag::NONE,
            KeyCode::BRACKET_LEFT,ModifierFlag::NONE</autogen>
	<!-- :キー押下=+に置き換え 変更前 Mac(:)=Win(‘)  Win(:)=Shift+; -->
        <autogen>__KeyToKey__ KeyCode::QUOTE, ModifierFlag::NONE,
            KeyCode::SEMICOLON,ModifierFlag::SHIFT_L</autogen>
	<!-- ]キー押下=[に置き換え 変更前 Mac(])=Win(バックスラッシュ) Win(])=[  -->
        <autogen>__KeyToKey__ KeyCode::BACKSLASH, ModifierFlag::NONE,
            KeyCode::BRACKET_RIGHT,ModifierFlag::NONE</autogen>
	<!-- _キー押下=バックスラッシュに置き換え 変更前 Mac(_)=Win(バックスラッシュ) Win(_)=]  -->
        <autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, ModifierFlag::NONE,
            KeyCode::BACKSLASH,ModifierFlag::NONE</autogen>
        
        
	<!-- == SHIFTキーありの入力変更 == -->

	<!-- “キー押下=*に置き換え 変更前 Mac(”)=Win(＠)  Win(”)=Shift+: -->
        <autogen>__KeyToKey__ KeyCode::KEY_2, ModifierFlag::SHIFT_L,
            KeyCode::QUOTE,ModifierFlag::SHIFT_L</autogen>
	<!-- &キー押下=‘に置き換え 変更前 Mac(&)=Win(^)  Win(&)=Shift+7 -->
        <autogen>__KeyToKey__ KeyCode::KEY_6, ModifierFlag::SHIFT_L,
            KeyCode::KEY_7,ModifierFlag::SHIFT_L</autogen>
	<!-- ‘キー押下=:に置き換え 変更前 Mac(‘)=Win(&)  Win(‘)=QUOTE -->
        <autogen>__KeyToKey__ KeyCode::KEY_7, ModifierFlag::SHIFT_L,
            KeyCode::QUOTE,ModifierFlag::NONE</autogen>
	<!-- (キー押下=)に置き換え 変更前 Mac(()=Win(*)  Win(()=) -->
        <autogen>__KeyToKey__ KeyCode::KEY_8, ModifierFlag::SHIFT_L,
            KeyCode::KEY_9,ModifierFlag::SHIFT_L</autogen>
	<!-- )キー押下=Shift+0に置き換え 変更前 Mac())=Win(()  Win())=SHIFT+0 -->
        <autogen>__KeyToKey__ KeyCode::KEY_9, ModifierFlag::SHIFT_L,
            KeyCode::KEY_0,ModifierFlag::SHIFT_L</autogen>
	<!-- Shift+0を押下時 (が出力されるのは実害がないのでそのまま -->

	<!-- =キー押下=KEYPADの=に置き換え 変更前 Mac(=)=Win(_)  Win(=)=KEYPADの= -->
        <autogen>__KeyToKey__ KeyCode::MINUS, ModifierFlag::SHIFT_L,
            KeyCode::KEYPAD_EQUAL,ModifierFlag::NONE</autogen>
	<!-- ~キー押下=USキーのみの’に置き換え 変更前 Mac(~)=Win(+)  Win(~)=SHIFT+半角・全角キー -->
        <autogen>__KeyToKey__ KeyCode::EQUAL, ModifierFlag::SHIFT_L,
            KeyCode::BACKQUOTE,ModifierFlag::SHIFT_L</autogen>
	<!-- `キー押下=USキーのみのShift+’に置き換え 変更前 Mac(`)=Win({)  Win(`)=全角・半角キー -->
        <autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::SHIFT_L,
            KeyCode::BACKQUOTE,ModifierFlag::NONE</autogen>
	<!-- {キー押下=“に置き換え 変更前 Mac({)=Win(})  Win({)=SHIFT+@ -->
        <autogen>__KeyToKey__ KeyCode::BRACKET_RIGHT, ModifierFlag::SHIFT_L,
            KeyCode::BRACKET_LEFT,ModifierFlag::SHIFT_L</autogen>
	<!-- +キー押下=~に置き換え 変更前 Mac(+)=Win(:)  Win(+)=SHIFT+^ -->
        <autogen>__KeyToKey__ KeyCode::SEMICOLON, ModifierFlag::SHIFT_L,
            KeyCode::EQUAL,ModifierFlag::SHIFT_L</autogen>
	<!-- *キー押下=(に置き換え 変更前 Mac(*)=Win(“)  Win(*)=SHIFT+8 -->
        <autogen>__KeyToKey__ KeyCode::QUOTE, ModifierFlag::SHIFT_L,
            KeyCode::KEY_8,ModifierFlag::SHIFT_L</autogen>
	<!-- }キー押下={に置き換え 変更前 Mac(})=Win(|)  Win(})=SHIFT+[ -->
        <autogen>__KeyToKey__ KeyCode::BACKSLASH, ModifierFlag::SHIFT_L,
            KeyCode::BRACKET_RIGHT,ModifierFlag::SHIFT_L</autogen>
    </item>
</root>
```