ずんだもん「MacでWinキーボードを快適に使いたい！Karabiner-Elements＆Parallels設定奮闘記なのだ！」

**ずんだもん**  
「きりたん、MacでWindowsキーボード使ったら、Ctrl押したつもりがCommandで、コピーしたつもりが新規ウィンドウ開いちゃったのだ！これはもう"キーボード詐欺"なのだ！」

**きりたん**  
「それは詐欺じゃなくて、ただの設定不足よ！今日はずんだもんの指をキーボード迷宮から救出する大作戦を決行するわよ！」

**ずんだもん**  
「きりたん探偵、事件解決お願いするのだ〜！」

## 登場人物
<table>
  <tr>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/c0f938e8-bc8c-40c7-8ba6-db76fe6fe150.png" alt="Image 1" width="150"></td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/eb5db776-7bdd-4908-83ee-cd120627b4bc.png" alt="Image 2" width="160"></td>
  </tr>
</table>

- **ずんだもん**：MacとParallelsでWindowsを使うOS両刀使いおじさん。MacMiniの便利さと仮想化Windowsの便利さをみんなに広めたいと思っている。
    
- **きりたん**：ちょっと詳しい相棒。ずんだもんの質問にやさしく答えてくれる。
    
## MacでWin用キーボードを使いたい！

### 1. 画面キャプチャをPrintScreenに

**ずんだもん**  
「MacでWindows用の外付けキーボード使ってるんだけど、OPTION＋SHIFT＋4で画面キャプチャするのめんどいのだ。PrintScreenキーでキャプチャできないかな？」

**きりたん**  
「[Karabiner-Elements](https://karabiner-elements.pqrs.org/)を使えば、PrintScreenキーにCommand＋Shift＋4を割り当てできるよ！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/345717ea-8237-4771-a16f-5438c40a139d.png)


### 2. Ctrlキーを統一

**ずんだもん**  
「あと、CtrlとWinキーが逆で、コピペとか不便なのだ…」

**きりたん**  
「CtrlキーとCommandキー（Winキー）を入れ替える設定を追加すれば、Windowsキーボードの感覚でMacショートカットが使えるよ！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/7e1b136c-e6dd-4c9d-872e-a1905b34ced5.png)


### 3. IMEの変換キーを統一

**ずんだもん**  
「あとMacでもWindowsみたいに、半角/全角キーでIMEオン・オフをトグルしたいのだ！」

**きりたん**  
「"半角/全角"キーをCtrl+Spaceに割り当てれば、IMEトグルができるよ。  
ただし、このリマップはParallelsのWindowsにも伝わるから、VM利用時は無効化する条件（conditions）を付けよう！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/78376f3b-625e-4d32-b360-3cc68fd6b7e4.png)

### 4. Parallels用の追加設定

**ずんだもん**  
「Parallels VMのときだけリマップ無効化ってどういうことなのだ？」

**きりたん**  
「Parallelsという仮想化ソフトに対してだけ、Karabiner-Elementsのリマップを無効化するということよ！こうしないとVM上で半角全角キーが効かなくなっちゃうのよ。」

## Karabiner-Elements用スクリプト

<table>
  <tr>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/c0f938e8-bc8c-40c7-8ba6-db76fe6fe150.png" alt="Image 1" width="150"></td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/eb5db776-7bdd-4908-83ee-cd120627b4bc.png" alt="Image 2" width="160"></td>
  </tr>
</table>

**きりたん**  
「以上をまとめたスクリプトがこれよ！Karabiner-Elementsの"Complex Modification"で設定してね！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/0d04e443-56fa-4199-86c9-4849845aa186.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/77a05be6-a919-4796-af9a-b1eae3e03883.png)

```.json
{
    "description": "Custom Keyboard Remap for Mac with IME Toggle (Mac only, not in Parallels)",
    "manipulators": [
        // PrintScreenキーでMacの選択範囲キャプチャ（Command+Shift+4）を実行
        // Parallels（Windows VM）上では無効
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": { "key_code": "print_screen" },
            "to": [
                {
                    "key_code": "4",
                    "modifiers": ["command", "shift"]
                }
            ],
            "type": "basic"
        },

        // 左Ctrlキーを左Commandキーにリマップ（Macのみ有効、Parallelsでは無効）
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": { "key_code": "left_control" },
            "to": [{ "key_code": "left_command" }],
            "type": "basic"
        },

        // 左Commandキーを左Ctrlキーにリマップ（Macのみ有効、Parallelsでは無効）
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": { "key_code": "left_command" },
            "to": [{ "key_code": "left_control" }],
            "type": "basic"
        },

        // 右Ctrlキーを右Commandキーにリマップ（Macのみ有効、Parallelsでは無効）
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": { "key_code": "right_control" },
            "to": [{ "key_code": "right_command" }],
            "type": "basic"
        },

        // 右Commandキーを右Ctrlキーにリマップ（Macのみ有効、Parallelsでは無効）
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": { "key_code": "right_command" },
            "to": [{ "key_code": "right_control" }],
            "type": "basic"
        },

        // 半角/全角キー（grave_accent_and_tilde）でIMEオン・オフ（Ctrl+Spaceでトグル）
        // Macのみ有効、Parallelsでは無効
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.parallels\\."
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": {
                "key_code": "grave_accent_and_tilde",
                "modifiers": { "optional": ["any"] }
            },
            "to": [
                {
                    "key_code": "spacebar",
                    "modifiers": ["left_control"]
                }
            ],
            "type": "basic"
        },

        // Insertキーでズーム機能（Option+Command+8）をトグル
        // Mac・Parallels両方で有効
        {
            "from": { "key_code": "insert" },
            "to": [
                {
                    "key_code": "8",
                    "modifiers": ["left_option", "left_command"]
                }
            ],
            "type": "basic"
        }
    ]
}

```

::: note
追記：
Windowsの拡大率のように200%をトグルする機能をInsertにバインドしました。
:::


##  Parallelsで変換・無変換キーを使いたい

<table>
  <tr>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/c0f938e8-bc8c-40c7-8ba6-db76fe6fe150.png" alt="Image 1" width="150"></td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/eb5db776-7bdd-4908-83ee-cd120627b4bc.png" alt="Image 2" width="160"></td>
  </tr>
</table>

**ずんだもん**
「Macの問題点として、変換・無変換キーを認識しないのだ。でもParallelsのWindowsでも変換・無変換キーを使いたいのだ！カタカナとひらがなを一発変換できて便利なのだよ。」

**きりたん**
「それは確かに。でKarabiner-Elementsだけじゃ直接は無理。Mac側で特殊なショートカット（例：Ctrl+Shift+F9/F11）を送って、Windows側で[AutoHotKey](https://www.autohotkey.com/)を使って“変換”“無変換”に割り当てるのが定番だよ。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/792e0dbf-e060-4108-be2b-c32c43c3a2b1.png)

```.json
    // --- Parallels用：左Command単独押しでCtrl+Shift+F9（無変換代用） ---
    {
      "type": "basic",
      "from": { "key_code": "left_command", "modifiers": { "optional": ["any"] } },
      "to": [ { "key_code": "left_command" } ],
      "to_if_alone": [
        { "key_code": "f9", "modifiers": ["left_control", "left_shift"] }
      ],
      "conditions": [
        {
          "type": "frontmost_application_if",
          "bundle_identifiers": [
            "^com\\.parallels\\."
          ]
        }
      ]
    },

    // --- Parallels用：右Command単独押しでCtrl+Shift+F11（変換代用） ---
    {
      "type": "basic",
      "from": { "key_code": "right_command", "modifiers": { "optional": ["any"] } },
      "to": [ { "key_code": "right_command" } ],
      "to_if_alone": [
        { "key_code": "f11", "modifiers": ["left_control", "left_shift"] }
      ],
      "conditions": [
        {
          "type": "frontmost_application_if",
          "bundle_identifiers": [
            "^com\\.parallels\\."
          ]
        }
      ]
    },
```

### キーボードをパススルーすれば解決？

**ずんだもん**
「AutoHotKeyを使えないような環境もあるのだ。その場合は、キーボードをVMにパススルーしたら、変換・無変換キーもそのまま使えるようになったのだ！」

**きりたん**
「そうそう！USBキーボードをパススルーすれば、物理的な日本語キーボードとしてWindowsに認識されるから、特殊キーもそのまま使えるよ。ただし、そのキーボードはMac側では使えなくなるから注意してね。」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/a3beb765-2449-40f2-8630-0e50e2ddbeca.png)


## ほか小ネタ

### その1：ファンクションキーの注意

**ずんだもん**
「大変なのだ！キーボードをWindowsにパススルーしてからMacに戻したら、ファンクションキーが効かなくなっちゃったのだ…どうしたらいいのだ？」

**きりたん**
「それは困るわね。実は一部の外付けキーボードやKVMスイッチを接続・切断したとき、macOS側のキーボード設定がリセットされることがあるのよ。システム設定の『キーボード』から“F1、F2などのキーを標準のファンクションキーとして使用”をもう一度確認してみてね！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/aeb383d8-c1a9-4a07-979b-00487ac9d13d.png)

### その2：Parallels側のキーボードプロファイルは「汎用」にする

**きりたん**
「あと、Parallels側の設定は「Windows」といった親切なテンプレートがあるんだけど、Kalabiner-Elementsで設定ずみだから、これはオフにするのがいいよ。」

「「汎用」を選べば空のプロファイルだから、いちばん分かりやすいわね！」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/0f169272-facd-45f2-b48f-ad0909db762b.png)

**ずんだもん**
「なるほどなのだ！教えてくれてありがとうなのだ！」


## まとめ

<table>
  <tr>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/c0f938e8-bc8c-40c7-8ba6-db76fe6fe150.png" alt="Image 1" width="150"></td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/eb5db776-7bdd-4908-83ee-cd120627b4bc.png" alt="Image 2" width="160"></td>
  </tr>
</table>

**ずんだもん**  
「MacとWindowsでキーボードを快適に使い分けるには、Karabiner-Elementsの条件付きリマップと、Parallelsのプロファイルを"汎用"にしてからVMテンプレート化しておくのが便利なのだ！」

**きりたん**
「その通り！テンプレート化したらあとはVMファイルを配るだけだから便利だわね。でも設定忘れがちだからQiitaに書いておくわよ！（笑）」

**ずんだもん**  
「やったのだ！これでもうキーボード詐欺に遭わないのだ！今度はマウスが『右クリックのつもりが左クリック』って詐欺してきたら、また相談するのだ！」

**きりたん**  
「それはもうマウスの故障よ...！でも何でも解決してあげるから、また困ったことがあったら呼んでね〜」

**ずんだもん**  
「きりたん探偵事務所、今日も事件解決なのだ〜！」


# 参考リンク

https://qiita.com/TSY0SEC/items/fff6d9b0768882355493

https://shirono-noino.com/karabiner-elements/

https://blog.macally.com/how-to-turn-off-fn-lock-for-the-function-keys-on-keyboard-mac/

## 利用キャラクター

- キーボード画像：[Adobe Stock](https://stock.adobe.com/jp/search?k=%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89&asset_id=195907286)

- ずんだもん：[VOICEVOX:ずんだもん](https://voicevox.hiroshiba.jp/)

本記事で使用しているキャラクター画像の著作権は、それぞれの権利者に帰属します。
非商用目的での利用に基づき掲載しています。