Karabiner-Elements を使ってキー割当。

# iMac で Windows のようなキー配置

### やりたいこと

- Mac キーボードを Windows 化

  - `Command`と`Control`を入れ変えたい！
    - Win 歴が長いため、`Control＋Tab`などで画面切り替えがしたい。
    - `Command＋C`や`Command＋V`などのコピペ、切り取り、１つ戻る、１つ進むを  
      `Control＋C`や`Control＋V`に変更したい！
    - Chorome のタブ移動を`Command+数字キー`から`Control＋数字キー`に変更したい！

- 絵文字と記号のパレットを`Control＋Command＋Space`から`Control＋Shift＋Tab`に変更したい

- `Command+左右キー`での仮想ディスプレイの行き来を`Control＋左右キー`に割り振りたい  

---

### 動作環境

- iMac Late 2012

  - macOS Catalina v10.15.7


![スクリーンショット 2022-01-03 10.59.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58736/b9e0a1ff-a216-6f16-3c4f-ed60c4b407bc.png)


- Karabiner-Elements v12.10.0

![スクリーンショット 2022-01-03 11.10.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58736/175f8cba-80d7-a0a0-0442-59c15041464c.png)


- キーボード： Keychron K8

- Karabiner-Elements v12.10.0  

  

## 大半はこれで解決



![スクリーンショット 2022-01-03 11.41.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58736/c7f55f48-4f40-f824-aac0-6a8ae1668970.png)

`Command`と`Control`の入れ替えは上記の GUI 操作で解決。
`Command＋Z,X,C,V,Y`は`Control＋Z,X,C,V,Y`で出来るようになった。

---

#実際にコーディング
###タブ切り替え

ファイルを `~/.config/karabiner/assets/complex_modifications`に json ファイルを置く。

* Karabiner-Elements のいつかのバージョンから`complex_modifications`に置く  
  <u>json ファイル名は数字でしか認識されなくなったらしい</u>

```json
{
    "title": "タブ切り替え",
    "rules": [{
            "description": "タブ切り替え command + tab",
            "manipulators": [{
                    "type": "basic",
                    "from": {
                        "key_code": "tab",
                        "modifiers": {"mandatory": ["control"]}
                    },
                    "to":[{
                        "key_code": "tab",
                        "modifiers": ["command"]
                    }]
                }
            ]
        }
    ]
}
```

GUI で`Command`と`Control`を入れ替えただけじゃできなかったので、これで解決。

---

### 絵文字と記号パレット

#### ショートカットの変更



```json
{
    "title": "絵文字と記号",
    "rules": [{
            "description": "絵文字と記号 Ctrl+Shift+Space",
            "manipulators": [{
                    "type": "basic",
                    "from": {
                        "key_code": "spacebar",
                        "modifiers": {"mandatory": ["command", "control"]}
                    },
                    "to":[{
                        "key_code": "spacebar",
                        "modifiers": ["command", "shift"]
                    }]
                }
            ]
        }
    ]
}
```

これで書いてみたけど、なぜか適応されない。  

救済措置としては、macOS Catalina では、　　
「システム環境設定 > キーボード > ショートカット > アプリケーション」に　　
絵文字と記号を自分で追加してショートカットを割り振る。  

![qiita.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58736/4f54e4ce-2bc6-a2eb-174c-229c9c741aa7.gif)

一応これで解決したけど、　　
Karabiner-Elements 使えてないし、コードが適応されないのが謎。

---

### 仮想ディスプレイのキー割当

私は、「大半はこれで解決」の　　
Karabiner-Elements の `Simple modifications`で、`Control`と`Command`を逆にしているので、

```json
{
    "title": "画面移動",
    "rules": [
        {
            "description": "画面移動 Control+右",
            "manipulators": [{
                    "type": "basic",
                    "from": {
                        "key_code": "right_arrow",
                        "modifiers": {"mandatory": [ "control"]}
                    },
                    "to":[{
                        "key_code": "right_arrow",
                        "modifiers": ["command"]
                    }]
                }
            ]
        },
        {
            "description": "画面移動 Control+左",
            "manipulators": [{
                    "type": "basic",
                    "from": {
                        "key_code": "left_arrow",
                        "modifiers": {"mandatory": [ "control"]}
                    },
                    "to":[{
                        "key_code": "left_arrow",
                        "modifiers": ["command"]
                    }]
                }
            ]
        }
    ]
}
```

と書いてみた。  

一応、`Complex modifications`の`Rules`には表示がされたが…。

![スクリーンショット 2022-01-03 17.57.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58736/9a0567ad-fd34-df84-a913-2e9f90648728.png)


タブ移動ができなくなりあえなく Remove…。



もうどうしたらいいのかわからん！！！笑  

だれか、Karabiner-Elements のスペシャリストに助けてほしいレベル…。



以上、備忘用というか、誰得な事してみました。