【備忘録】CapsLockにIME切り替えを設定する方法まとめ

最近キーボードを自作したいという強い欲望に駆られ、某Expressでパーツを買い集めて作りました:relaxed:
当然のようにUS配列だったので不安でしたが、思いの外快適でとても気に入っています。
そして気づいたら自宅から職場まですべてのキーボードがUS配列に変わってました。びっくり。

そこで問題になってくるのはIMEの切り替えだと思います。

ご存知の通り、US配列のキーボードには`半角/全角`（windows）なるキーや、`英数` `かな`(Mac)なるキーは存在しません。
デフォルトでは、``Alt + ` ``だったり`Ctrl + Space`だったりしますが、どちらもなんとなーく押しにくいのでいい感じの位置に割り当てたいですね。

## どこに割り当てるか。
割り当て先としてはこんな感じの条件だと良きですね。

1. ホームポジションを崩さずに届く位置にある
2. 1キーで済む
3. 無くても困らない
4. しかしこのCapsLockとか言うキー邪魔だな……

邪魔…？:thinking:
その邪魔なキーに割り当てればいいジャーン！！！:point_up_2:

## 本題。
前置きはここまでです。
そんなこんなでCapsLockにIME切り替えを割り当てたいと思いました。

私はMacもWindowsも使う人なので、両OSでの方法を記したいと思います。
<FONT SIZE=1>~~（Linux…？知らない子ですね…。)~~</FONT>
Linuxは設定する機会があれば調べて追記したいと思います。きっとたぶんUbuntu。あまり期待しないこと。

## Windows10
まずWindows環境では、OSレベルのキー配列設定をJIS配列にしておく必要があります。
理由は後ほど。

大まかな手順で言えば以下のとおりです。
1. OS設定をJIS配列に設定する（デフォルト設定ではJISになっていると思います。）
2. ULE4JISを導入する。
3. IMEの設定から、CapslockキーにIME切り替えを割り当てる。
終わり。

#### 1. OS設定をJIS配列にする方法
1. `Winキー`を押下し、スタートメニューから、:gear:を選びます。
2. 出てきた設定画面から`時刻と言語`を選び、`言語`を選びます。
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/7741b327-4590-9e1c-6ec8-44160d77aea4.png)
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/ea84ff77-64e5-dd8a-f384-f52b02514e2b.png)
3. 画面中央ちょい下にある`日本語`をクリックし、出現した`オプション`ボタンをクリックします。
![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/5934c6d6-1020-6801-3437-dad92cbee3a7.png)
![4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/46cf74e5-e017-d238-6f1c-711d3edfe65b.png)
4. 上から５番目の見出しにある、「ハードウェア キーボード レイアウト」の`レイアウトを変更する`ボタンをクリックします。
![5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/0921bd28-5692-8898-1dea-677351b3e6d7.png)
5. 出現した小さなウィンドウで`日本語キーボード(106/109 キー）`を選択し、再起動後に反映されます。
![6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/2201c258-399f-c00a-ae2d-bfcfd77555a1.png)

#### 2. ULE4JISの導入
ULE4JISとは、JIS配列環境下でUS配列をエミュレーションするツールです。
「Windows US配列 切り替え」などでググってもノイズに阻まれて辿り着けず苦労しました。。。

インストールは以下より。
https://www.vector.co.jp/soft/winnt/util/se476294.html

インストールしたら`shell:startup`に登録しちゃいましょう:relaxed:
ULE4JISが起動している間はUS配列で入力できます！

#### 3. IME設定
IMEの設定からCapslockにIME切り替えを割り当てます。
今回は例としてGoogle日本語入力で設定します。MS-IMEもだいたい一緒です。

1. google日本語入力のプロパティ画面から、「キー設定の選択」の横にある`編集`ボタンをクリックします。
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/ea5dadbf-45c0-15fd-ed60-713eb932d72f.png)

2. 以下のように２行設定を追加します。
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/3631cf74-ce58-d51c-fadf-6b136d91371a.png)
また、入力キーが「Eisu」の行が他にある場合は消しておいたほうが安全かもしれません。

以上！Windowsの方お疲れ様でした！！:muscle:


#### 補足：OS側の設定をJIS配列にしておく理由について。
JIS配列とUS配列で、`英数(Eisu)`が割り当てられる場所が違うようです。
次のようになっています。

| 設定値 | 英数(Eisu)が割り当てられる物理キー |
|:-:|:-:|
| 日本語キーボード | CapsLock |
| 英語キーボード | Shift + CapsLock |
つまりUS配列設定でIMEの設定をすると、`Shift + CapsLock`を押さないと切り替わってくれません。
`CapsLock`単体が謎の機能に支配されます。この辺詳しくないのでよくわかりませんが。

## Mac(Mojave 10.14.5)
MacOSでは大まかに以下のような手順で設定します。
簡単ですね。
1. Karabiner-Elementsの導入/設定
2. キーボード設定

#### 1.Karabiner-Elementsの導入/設定

1. Karabiner-Elementsをインストールします。
インストールは以下を参照。
https://pqrs.org/osx/karabiner/  

2. Karabiner-Elementsの設定
`Simple Modifications`が選択されていることを確認し、以下のように設定します。

| From key | To key | 
|:-:|:-:|
| caps_lock | f13〜f20のうちのどれか |

今回ははf13を選択しました。
Target Deviceは設定を適用したいキーボードを選びましょう。
<img width="1112" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/b5ee1214-2b98-e13f-0bcb-27bba4fbdbbd.png">

#### 2.キーボード設定
1. システム環境設定から`キーボード`を選択します。
<img width="780" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/026e5e66-a47b-05b5-ab29-c16860b72f38.png">

2. `ショートカット`タブをクリックし、左側のボックスから`入力ソース`をクリックします。
`前の入力ソースを選択`の右側をクリックし、`CapsLock`キーを押下すると、
Karabiner-ElementsのTo Keyに設定したキー(今回はF13)が入力されます。
<img width="780" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436991/bacd5cd7-9d84-96c0-b66a-766d7ea17c17.png">

以上！Macの方お疲れ様でした！！！:muscle: