JISキーボードをUSキーボードに変更するKarabiner-Elementsの設定

# Karabiner-Elements の設定

## (1)VirturlKeyboardでANSIを選択する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/32875/942867e6-e192-ab38-b984-6999596c5e88.png)

## (2)Funciton Keysで以下のように設定する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/32875/6bf2c582-7c6a-5ad5-b671-715277bce94d.png)

## (3)独自設定の追加（これはUSキーボード変換と関係なし）

### 設定を記述したjsonファイルを配置する
`~/.config/karabiner/assets/complex_modifications/` の下に任意の名前でjsonファイルを配置すればComplexModificationsで選択できるようになる。

自分は以下の設定を追加。

- "英数,かな単体で押したときcommandを送信する"
- "shif_L h/j/k/lで矢印キーを送信"
- "セミコロンとコロンを入れ替え"
- "Shift+Spaceでイコールを送信"


```
{
  "title": "自分オリジナル設定",
  "rules": [
    {
      "description": "英数,かな単体で押したときcommandを送信する",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "japanese_eisuu",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_command"
            }
          ],
          "to_if_alone": [
            {
              "key_code": "japanese_eisuu"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "japanese_kana",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_command"
            }
          ],
          "to_if_alone": [
            {
              "key_code": "japanese_kana"
            }
          ]
        }
      ]
    },

    {
      "description": "shif_L h/j/k/lで矢印キーを送信",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "h",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "left_arrow"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "j",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "down_arrow"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "k",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "up_arrow"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "l",
            "modifiers": {
              "mandatory": [
                "left_shift"
              ]
            }
          },
          "to": [
            {
              "key_code": "right_arrow"
            }
          ]
        }
      ]
    },
    {
      "description": "セミコロンとコロンを入れ替え",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "semicolon",
            "modifiers": {
              "mandatory": [
                "left_shift",
                "right_shit"
              ]
            }
          },
          "to": [
            {
              "key_code": "semicolon"
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "semicolon"
          },
          "to": [
            {
              "key_code": "semicolon",
              "modifiers": [
                "left_shift"
              ]
            }
          ]
        }
      ]
    },
    {
      "description": "Shift+Spaceでイコールを送信",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "spacebar",
            "modifiers": {
              "mandatory": [
                "left_shift",
                "right_shit"
              ]
            }
          },
          "to": [
            {
              "key_code": "equal_sign"
            }
          ]
        }
      ]
    }

  ]
}

```

(参考)
http://chezou.hatenablog.com/entry/2017/01/19/221707

# (以下karabinerのときのメモ)

##独自設定の追加
vi_mode.xmlというファイルに、`左Shift + h/j/k/l`を矢印に変換する独自設定を追加する。

/Applications/Karabiner.app/Contents/Resources/include/checkbox/vi_mode.xml

```xml:vi_mode.xml
<!-- Shift_L + hjkl を矢印キーに変換 -->
<item>
  <name>SHIFT_L+hjkl to Left/Down/Up/Right</name>
  <identifier>option.vimode_Shiftl_hjkl</identifier>
  <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::SHIFT_L, KeyCode::CURSOR_LEFT</autogen>
  <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::SHIFT_L, KeyCode::CURSOR_DOWN</autogen>
  <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::SHIFT_L, KeyCode::CURSOR_UP</autogen>
  <autogen>__KeyToKey__ KeyCode::L, ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT</autogen>
</item>
```

##USのときに使っていたChange Key

* (1)Change Semicolon Key
 * Swap  Semicolon and Colon

* (2)For Japanese
 * 左右のコマンドキーを「英数/かな」としてもつかう
     * コマンドキーの動作を優先モード(コマンドキーの空打ちで「英数/かな」)

* (3)For Japanese
 * Change Space to Equal
     * Shift + Space to Equal

##MBP(JIS)のときに使っていたChange Kay

![image.png](https://qiita-image-store.s3.amazonaws.com/0/32875/d9d805c6-b867-2895-ac56-82a98be39efb.png)