MacにWindowsと同じようにenthumbleの設定をする

Macを買いました。

Windowsで愛してやまないenthumbleの設定をMacにも適用してみました。

## enthumbleとは
親指でファンクションキーを操作することにより、よりホームポジションを死守できるキーボード拡張です。
> 親指ショートカットでキーボードを快適に
> http://jp.enthumble.com/ (Windows用)


このenthumbleの設定がMacにも適用できます。

## Macへの設定
Karabinerというソフトで実現します。
https://pqrs.org/osx/karabiner/index.html.ja

まず、もともとenthumble用に用意されている設定があるので有効にします。


以下のようにKarabinerを設定します。

```
[ChangeKey]タブ → [For Japanese] → [enthumble (http://www.enthumble.com/)]
から
好みの設定を有効にします。

僕はVimのHJKL設定を使うので、それを有効にしました。

```

つづいて、オリジナルの親指ファンクションを作るためにprivate.xmlを作成します。

```
[Misc & Uninstall] → [Open private.xml]
```

private.xmlを以下のように変更してみました。

``` xml
<?xml version="1.0"?>
<root>
  <modifierdef>MY_EXTRA1</modifierdef>
  <list>
    <item>
      <name>enthumble拡張</name>
      <list>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Note</name>
          <url type="file">/Applications/MdNote.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Chat</name>
          <url type="file">/Applications/Slack.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Browser</name>
          <url type="file">/Applications/Vivaldi.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Terminal</name>
          <url type="file">/Applications/iTerm.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Atom</name>
          <url type="file">/Applications/Atom.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_VSCode</name>
          <url type="file">/Applications/Visual Studio Code.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Chrome</name>
          <url type="file">/Applications/Google Chrome.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_VM</name>
          <url type="file">/Applications/VMware Fusion.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Finder</name>
          <url type="file">/System/Library/CoreServices/Finder.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Task</name>
          <url type="file">/Applications/TeamViz.app</url>
        </vkopenurldef>
        <vkopenurldef>
          <name>KeyCode::VK_OPEN_URL_APP_Alias</name>
          <url type="file">/Users/shwld/AppQuickLaunch</url>
        </vkopenurldef>
        <item>
          <name>かなキーもファンクションにする</name>
          <identifier>private.kana_remap.jis_enthumble_function</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_KANA, KeyCode::VK_MODIFIER_EXTRA1
            , KeyCode::JIS_KANA</autogen>
          <autogen>__KeyToKey__KeyCode::SPACE,ModifierFlag::EXTRA1,KeyCode::ESCAPE</autogen>
        </item>
        <item>
          <name>英数+「,」で「ctrl + shift + tab」</name>
          <identifier>private.remap.jis_enthumble_prev_tab</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::COMMA,ModifierFlag::EXTRA1,KeyCode::JIS_BRACKET_LEFT,ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
        </item>
        <item>
          <name>英数+「.」で「ctrl + tab」</name>
          <identifier>private.remap.jis_enthumble_next_tab</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::DOT,ModifierFlag::EXTRA1,KeyCode::JIS_BRACKET_RIGHT,ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L</autogen>
        </item>
        <item>
          <name>英数+「;」で「page down」</name>
          <identifier>private.remap.jis_enthumble_page_up</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::SEMICOLON,ModifierFlag::EXTRA1,KeyCode::PAGEUP</autogen>
        </item>
        <item>
          <name>英数+「/」で「page down」</name>
          <identifier>private.remap.jis_enthumble_page_down</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::SLASH,ModifierFlag::EXTRA1,KeyCode::PAGEDOWN</autogen>
        </item>
        <item>
          <name>英数+「io」で「cmd + →, ←」</name>
          <identifier>private.remap.jis_enthumble_home_end</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::I,ModifierFlag::EXTRA1,KeyCode::CURSOR_LEFT,ModifierFlag::COMMAND_L</autogen>
          <autogen>__KeyToKey__KeyCode::O,ModifierFlag::EXTRA1,KeyCode::CURSOR_RIGHT,ModifierFlag::COMMAND_L</autogen>
        </item>
        <item>
          <name>英数+「io」で「home,end」</name>
          <identifier>private.remap.jis_enthumble_home_end2</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::I,ModifierFlag::EXTRA1,KeyCode::HOME</autogen>
          <autogen>__KeyToKey__KeyCode::O,ModifierFlag::EXTRA1,KeyCode::END</autogen>
        </item>
        <item>
          <name>英数+「x」で「ctrl + w」</name>
          <identifier>private.remap.jis_enthumble_quit</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::X,ModifierFlag::EXTRA1,KeyCode::W,ModifierFlag::COMMAND_L</autogen>
        </item>
        <item>
          <name>英数+「右ctrl」で「option + space」</name>
          <identifier>private.remap.jis_enthumble_search</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::COMMAND_R,ModifierFlag::EXTRA1,KeyCode::SPACE,ModifierFlag::OPTION_L</autogen>
        </item>
        <item>
          <name>英数+「数字キー」で「F1〜F12」</name>
          <identifier>private.remap.jis_enthumble_functions</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_1,ModifierFlag::EXTRA1,KeyCode::F1,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_2,ModifierFlag::EXTRA1,KeyCode::F2,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_3,ModifierFlag::EXTRA1,KeyCode::F3,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_4,ModifierFlag::EXTRA1,KeyCode::F4,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_5,ModifierFlag::EXTRA1,KeyCode::F5,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_6,ModifierFlag::EXTRA1,KeyCode::F6,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_7,ModifierFlag::EXTRA1,KeyCode::F7,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_8,ModifierFlag::EXTRA1,KeyCode::F8,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_9,ModifierFlag::EXTRA1,KeyCode::F9,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::KEY_0,ModifierFlag::EXTRA1,KeyCode::F10,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::MINUS,ModifierFlag::EXTRA1,KeyCode::F11,ModifierFlag::FN</autogen>
          <autogen>__KeyToKey__KeyCode::QUOTE,ModifierFlag::EXTRA1,KeyCode::F12,ModifierFlag::FN</autogen>
        </item>
        <item>
          <name>英数+「qwertyu」で「ctrl + 数字」</name>
          <identifier>private.remap.jis_enthumble_switch_window</identifier>
          <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
          <autogen>__KeyToKey__KeyCode::Q,ModifierFlag::EXTRA1,KeyCode::KEY_1,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::W,ModifierFlag::EXTRA1,KeyCode::KEY_2,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::E,ModifierFlag::EXTRA1,KeyCode::KEY_3,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::R,ModifierFlag::EXTRA1,KeyCode::KEY_4,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::T,ModifierFlag::EXTRA1,KeyCode::KEY_5,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::Y,ModifierFlag::EXTRA1,KeyCode::KEY_6,ModifierFlag::CONTROL_L</autogen>
          <autogen>__KeyToKey__KeyCode::U,ModifierFlag::EXTRA1,KeyCode::KEY_7,ModifierFlag::CONTROL_L</autogen>
        </item>
      </list>
      <item>
        <name>英数+「asdzxcvfp」を「cmd + key」にする</name>
        <identifier>private.remap.jis_enthumble_command_shotcuts</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::A,ModifierFlag::EXTRA1,KeyCode::A,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::S,ModifierFlag::EXTRA1,KeyCode::S,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::D,ModifierFlag::EXTRA1,KeyCode::D,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::Z,ModifierFlag::EXTRA1,KeyCode::Z,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::C,ModifierFlag::EXTRA1,KeyCode::C,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::V,ModifierFlag::EXTRA1,KeyCode::V,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::F,ModifierFlag::EXTRA1,KeyCode::F,ModifierFlag::COMMAND_L</autogen>
        <autogen>__KeyToKey__KeyCode::P,ModifierFlag::EXTRA1,KeyCode::P,ModifierFlag::COMMAND_L</autogen>
      </item>
      <item>
        <name>英数+「q」でFinderを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_q1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::Q,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Finder</autogen>
      </item>
      <item>
        <name>英数+「w」でブラウザを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_w1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::W,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Browser</autogen>
      </item>
      <item>
        <name>英数+「e」でコンソールを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_e1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::E,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Terminal</autogen>
      </item>
      <item>
        <name>英数+「r」でAtomを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_r1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::R,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Atom</autogen>
      </item>
      <item>
        <name>英数+「r」でVsCodeを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_r2</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::R,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_VSCode</autogen>
      </item>
      <item>
        <name>英数+「t」でChromeを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_t1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::T,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Chrome</autogen>
      </item>
      <item>
        <name>英数+「t」で[]~/AppQuickLaunch]を起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_t2</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::T,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Alias</autogen>
      </item>
      <item>
        <name>英数+「y」でMdNoteを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_y1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::Y,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Note</autogen>
      </item>
      <item>
        <name>英数+「u」でSlackを起動</name>
        <identifier>private.remap.jis_enthumble_command_launch_u1</identifier>
        <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::JIS_EISUU</autogen>
        <autogen>__KeyToKey__KeyCode::U,ModifierFlag::EXTRA1,KeyCode::VK_OPEN_URL_APP_Chat</autogen>
      </item>
    </item>
  </list>
</root>

```

private.xmlは日々カスタマイズしていこうと思います。

ちなみにwindowsの僕のenthumbleの設定はこちら
http://qiita.com/shwld/items/f7ffbc1dbcc76d855c6a