Macで三ヶ国語以上の入力を一発で切り替える方法　英語 / 日本語 / 韓国語

#はじめに
友達が、韓国語のキーボードのMacで三ヶ国語の切り替えをキー1つずつで管理できたら良いなと言ってて、その子のパソコンをいじってたら設定できたので忘れないうちに書いておきます。

#環境
友達のパソコンから書いてるので前の記事と環境が異なります。
MacBook Air (2019), Catalina 10.15.7
Visual Studio Code, 1.51.1

#問題点
Macの韓国語のキーボードはUS配列と同じなので、JIS配列と違ってスペースキーの左右にかな/英数のキーがありません。なので英数とかな、ハングルとかな、ハングルと英数などの二種類の切り替えはcaps lockのon offで管理できました。しかし３つ以上となるとmacのデフォルトの環境ではcontrol + option + spaceかcontrol + spaceで、かな→英数→ハングル→かな...のように順番に変えることしかできないのでめんどくさい。これをキー1つずつで管理しようと思った。

##まずは言語の設定
システム環境設定→キーボードから韓国語を追加。ちなみにひらがなだけGoogle日本語入力使ってます（特に理由はない）。
![スクリーンショット 2020-11-13 5.56.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/8e9fd856-98b4-0617-ae56-6d749c602039.png)

##かなと英数をKarabinerを使ってスペースキーの左右のコマンドで切り替えれるようにする
1. [Karabiner](https://karabiner-elements.pqrs.org/)をダウンロードし、開く。
2. 下図のAdd ruleをクリック。
![スクリーンショット 2020-11-13 6.22.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/661b01e2-b1e6-3cb6-c3e0-27655a0e5764.png)
3. 画像の上の方にImport more rules from the Internet (open a web browser)をクリック。
![スクリーンショット 2020-11-13 6.25.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/402a66dd-1592-3e79-da44-e037bfd1d5ad.png)
4. ブラウザが起動したらInternational (Language Specific)で検索しクリック。
![スクリーンショット 2020-11-13 6.28.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/28cd047b-a256-5399-8e23-3cfbab56a379.png)
5. For Japanese （日本語環境向けの設定） (rev 5)をImportする。
![スクリーンショット 2020-11-13 6.30.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/9e0bc57e-bd91-b25a-070f-9d8c754a7c55.png)
6. インポートを終えると**コマンドキーを単体で押したときに、英数・かなキーを送信する。（左コマンドキーは英数、右コマンドキーはかな）**の右に書かれている**Enable**をクリック。
![スクリーンショット 2020-11-13 6.33.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/1a67b081-020a-7ecd-3229-fcb96daaa738.png)
この手順でかなと英数はコマンドキーで管理できるようになった。

##左のoptionキーでハングルに切り替えるようにする
1. KarabinerでMisk→Open config folder (~/.config/karabiner)までクリックしていくと、Finderが開きkarabinerのファイルが表示される。
2. Finderに表示されているkarabinerからkarabiner→assets→complex_modificationsまで行くとjsonファイルが１つ確認できる。
3. 次にVisual Studio Codeを開きjsonファイルを作る。名前は適当にhogehoge.jsonとする。
4. hogehoge.jsonに下の内容を貼り付ける。

```json:hogehoge.json
{
  "title": "独自ルール設定 v1",
  "rules": [
    {
      "description": "左optionキーを押すと韓国語入力に切り替わる",
      "manipulators": [
      	{
      		"type": "basic",
      		"from": {
      			"key_code": "left_option",
      			"modifiers": {
      				"optional": [
      					"any"
      				]
      			}
      		},
      		"parameters": {
      			"basic.to_if_held_down_threshold_milliseconds": 100
      		},
      		"to": [
      			{
      				"key_code": "left_option",
      				"lazy": true
      			}
      		],
      		"to_if_held_down": [
      			{
      				"key_code": "left_option"
      			}
      		],
      		"to_if_alone": [
      			{
      				"select_input_source": {
      					"language": "ko"
      				}
      			}
      		]
      	}
      ]
    }
  ]
}

```
5.これを2で確認したjsonファイルと同じところに保存する。
6. KarabinerでAdd ruleから**独自ルール設定 v1**を**Enable**する。
![スクリーンショット 2020-11-13 6.54.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502866/baabfc68-8cc2-b03f-34c6-ba610c552ca0.png)
以上で、左のoptionキーでハングルに切り替わる。

#最後に
最近は周りに韓国語話せる人も増えてきたと感じていたが、キーボードもハングルの人ははじめて見た。ちなみにjsonそんなに詳しくありません。色々調べてみたらできたって感じです。

#おまけ
今回は３言語目を韓国語でoptionキーに設定しましたが、他の言語にも設定できます。↑に載せたjson
ファイルの一番最後の行の```"language": "ko"```の"ko"は韓国語を示すios端末の言語環境の値っぽいので[この参考記事](https://qiita.com/hirobe/items/cb906cca486675d02a87)を見て書き換えるとできると思います．