[Mac]Google日本語入力でCaps Lockキーによる日本語と英語のトグル切り替えを行う[US配列]

# 実現したいこと

:::note info
Mac、US配列、Google日本語入力で`Caps Lock`を押すことで日本語↔英語のトグル切り替えがしたい。
:::

自分はキーボードはUS配列一択です。

USキーボードの日本語入力と英語入力の切り替えは、Macの場合デフォルトでは「`Control(⌃) + Space`」という **クソみたいな方法** で行いますが、

以下の設定をすることで`Caps Lock`を押すだけで日本語↔英語のトグル切り替えができるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574728/49db88bc-2a43-63a5-04cf-aa33d29400b5.png)

しかし、、、

これは**Mac標準の入力ソースでないとできない**ので、
**Google日本語入力でも**`Caps Lock`キーによる日本語↔英語の切り替えができるようにします。

# 実現方法

## 1. Karabiner-Elementsのインストール
実現に必須となるのがKarabiner-Elementsです。
キーボードのマッピングを自由にカスタマイズできるアプリで、非常に便利なので導入しているMacユーザーは多いと思います。

以下サイトからダウンロードしてインストールしてください。
https://karabiner-elements.pqrs.org/

## 2. 入力ソースをGoogle日本語入力の「ひらがな」と「英数」のみにする
`システム環境設定 -> キーボード -> 入力ソース`と開き、以下のような状態にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574728/862d7eb0-7f6f-2a55-bc4d-4354f177de6a.png)

※「ABC」だったり「U.S.」などの英語ソースが消せないことがあると思いますが、一度Mac標準の「日本語入力 - ローマ字」を追加して、「英字」にチェックを入れれば消せるようになると思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574728/f83b3a37-e862-a8d8-3d5c-74ea3f822515.png)


基本的な使い方は他のページを参考にしてください。（一応使い方がわからなくても問題ないように書いてます。）

## 3. 独自ルールの作成
適当な名前で以下の内容のjsonファイルを作成してください。
ここでは`original_rule.json`というファイル名にしています。

``` original_rule.json
{
  "title": "オリジナル",
  "rules": [
    {
      "description": "caps lockを、英数・かなのトグルに変更する",
      "manipulators": [
        {
          "type": "basic",
          "conditions": [
            {
              "input_sources": [
                {
                  "language": "ja"
                }
              ],
              "type": "input_source_if"
            }
          ],
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "japanese_eisuu"
            }
          ]
        },
        {
          "type": "basic",
          "conditions": [
            {
              "input_sources": [
                {
                  "language": "en"
                }
              ],
              "type": "input_source_if"
            }
          ],
          "from": {
            "key_code": "caps_lock",
            "modifiers": {
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "japanese_kana"
            }
          ]
        }
      ]
    }
  ]
}
```

## 4. 独自ルールの配置
ルールの配置場所は以下になります。
.configディレクトリが見当たらない場合は「`Command + Shift + .`」で非表示ディレクトリが表示されます。
また、一度Karabiner-Elementsを起動していないと.configファイルが作成されていないかもしれません。

```
/Users/ユーザ名/.config/karabiner/assets/complex_modifications
```

ユーザ名は適宜自分のものにしてください。
他にもキーマップをいじっている場合はここにそれらのルールが配置されていると思います。

## 5. 独自ルールの有効化

一度Karabiner-Elementsを再起動して「`Complex modifications -> Add rule`」と開くと下の方に先程配置したルールが有るはずですので、「`Enable`」を押下してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/574728/b2cd82f8-2e52-448d-7cf9-c588f233d151.png)

以上で、Google日本語入力で`Caps Lock`キーによる日本語と英語のトグル切り替えが実現できたはずです。

# 最後に
- Karabiner-Elementsは便利なので使いこなしましょう。
- US配列最高！
- もっとおすすめの設定があれば教えて下さい

Twitter　→　[@ruemura3](https://twitter.com/ruemura3)