それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

OSX版リモートデスクトップでキーボードをwindowsっぽくするために設定した。

OSX版のRDPソフト が更新された

最新版でようやく、キーボードのEN化が対策された。

しかし、¥マークがUNICODEの¥マークで送信されてしまい、バックスラッシュが一切入力できなくなっている。最悪。

その他は概ね良好

バックスラッシュ以外のキーボードにかんしては概ね良好なので、思い切って、キーボード設定をガラッと変えてみた。

Windowsのキー配列に近くなるように、OSXのキー配列をKarabinerでRemapしたのだ。

windowsのキー配列といえばコレ

f:id:takuya_1st:20160219022904p:plain

Mac OSX のキーボードはこれ。

f:id:takuya_1st:20160219023113p:plain

RDPソフトのリマップ

デフォルトのマイクロソフト remote は次のようにマッピングする

RDP (windows ) OSX
windows Command
alt options
control ctrl

以前は英語キーになってしまうので苦労したけど、今はそうでもない。便利。

だけどバッククォートが「 ] 」 vk packet になるので苦労する。

バッククォートはIMEで変換することにする。

バッククォートが死ぬが、全角半角キーが使えるようになったので強い*1

意味ではなく、単純な「並び順」でマッピングしていくことにする。

こういうとき、キーの数が多い「日本語Macキーボード」が役に立つ。英語キーのMac買うとこのリマップが出来ないで苦労する。

キーの数に物をいわせ強引に並び順で、リモートデスクトップ用にリマップすることにする。

Karabiner でリマップする基本方針

RDP (windows ) OSX
ctrl L Ctrl_L /Capslock
windowsキー option_L l
alt L command_L
alt R かなキー
全角半角 英数キー
Application key Command_R
ctrl R Fn

これで、キーボードの1番下段が、Windowsと同じように使える。

キーの意味を無視して、単純に位置だけを持ってきた。どうせキーボード見ながら打つわけでないし。

windowsのときの配列とMacの時の配列で、頭切り替えるほうが楽だよね。

Option+Space(ALT+Space)が問題。

Windowsで結構使うのがALT+SPACEキー。これが Option+Spaceになるので、リモートデスクトップがわからOSX側にキーが行ってしまう。Option+SpaceがOSXのアプリ内ウインドウ切替なので、暴発すると鬱陶しい。

防ぐには<Non-Breaking Space to Normal Space>を使うと上手く行った。

f:id:takuya_1st:20160219024021p:plain

出来上がった設定。

REMOTEDESKTOPCONNECTION で RDP接続時だけキーがリマップされるようにしてみた。

<?xml version="1.0"?>
<root>
  <item>
    <name>Change Keys for RemoteDesktop(by takuya</name>
    <item>
      <name>Change capslock to ctl_L in RDP (by takuya.</name>
      <identifier>private.takuya.rdp_cmd_to_opt_L</identifier>
      <only>REMOTEDESKTOPCONNECTION</only>
      <autogen>
        __KeyToKey__
        KeyCode::COMMAND_L,
        KeyCode::OPTION_L,
      </autogen>
    </item>
    <item>
      <name>Change Opt_L to  COMMAND_L(win)in RDP (by takuya.</name>
      <identifier>private.takuya.rdp.opt_to_cmd_</identifier>
      <only>REMOTEDESKTOPCONNECTION</only>
      <autogen>
        __KeyToKey__
        KeyCode::OPTION_L,
        KeyCode::COMMAND_L,
      </autogen>
    </item>
    <item>
      <name>Change Command_R to  RightClick(PC_APPLICATION)in RDP (by takuya.</name>
      <identifier>private.takuya.rdp.cmd_to_app</identifier>
      <only>REMOTEDESKTOPCONNECTION</only>
      <autogen>
        __KeyToKey__
        KeyCode::COMMAND_R,
        KeyCode::VK_MOUSEKEY_BUTTON_RIGHT,
      </autogen>
    </item>

    <item>
      <name>Change EISUU to Zenkaku_Hankaku in RDP (by takuya.</name>
      <identifier>private.takuya.rdp.eisuu_zen_han</identifier>
      <only>REMOTEDESKTOPCONNECTION</only>
      <autogen>
        __KeyToKey__
        KeyCode::JIS_EISUU,
        KeyCode::JIS_PC_HAN_ZEN,
      </autogen>
    </item>
    <item>
      <name>Change yen to backslash in RDP (by takuya.</name>
      <identifier>private.takuya.rdp.yen_2_backslash</identifier>
      <only>REMOTEDESKTOPCONNECTION</only>
      <autogen>
        __KeyToKey__
        KeyCode::JIS_YEN,
        KeyCode::BACKSLASH
      </autogen>
    </item>
    <item>
      <name>Non-Breaking Space to Normal Space( by takuya.)</name>
      <appendix>(Option+Space to Space)</appendix>
      <appendix>(Option+Shift+Space to Space)</appendix>
      <only>REMOTEDESKTOPCONNECTION</only>
      <identifier>private.takuya.remap.option_space_to_space</identifier>
      <autogen>
        __KeyToKey__ KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | ModifierFlag::NONE, KeyCode::SPACE
      </autogen>
      <autogen>
        __KeyToKey__
        KeyCode::SPACE, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_OPTION | MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_SHIFT | ModifierFlag::NONE,
        KeyCode::SPACE,
      </autogen>
    </item>
  </item>
</root>

参考資料

あらかじめ用意されている設定項目一覧 - Karabiner - OS X用のソフトウェア

*1:GoogleIMEだと全角半角キーは使えなかった。弱い