Mac ↔ Windows キーボードマッピング — Karabiner + PowerToys Keyboard Manager
2つの OS にまたがる Cmd ↔ Ctrl の溝を埋める。Karabiner-Elements(Mac)と PowerToys Keyboard Manager(Windows)のセットアップと5つのよく使うリマッピング。
Mac と Windows を両方使う人が感じる最大の摩擦 — Cmd ↔ Ctrl の食い違い。macOS はコピーに Cmd + C、Windows は Ctrl + C を使う。Mac では Ctrl が左下の押しにくい位置にあり、Windows では Win キーはほとんど使われない。一方の OS に慣れるともう一方でキーを打ち間違え続けることになる。キーマッピングの本質はカスタマイズではなく、認知負荷の排除にあると考える — 両 OS で同じキーが同じ動作をすれば、OS の切り替えに脳のリソースを使わなくて済むからだ。
このガイドでは Karabiner-Elements(Mac)と PowerToys Keyboard Manager(Windows)を使い、両 OS のキー動作を統一する。よく使う5つのリマッピング + アプリ別マッピング + トラブルシューティングを網羅。
対象読者:Mac と Windows を両方使う開発者。外付けキーボード(HHKB、Filco など)のユーザーにも同様に適用できる。
TL;DR
- Mac:Karabiner-Elements(
brew install --cask karabiner-elements) - Windows:PowerToys バンドル(
winget install Microsoft.PowerToys)→ Keyboard Manager - 同じ物理キー → 同じ動作に統一(Cmd ↔ Ctrl を揃える)
- 外付けキーボードはレイヤー / ディップスイッチで OS を自動切り替えできる
- 企業ポリシーで PowerToys が使えない場合は AutoHotkey を代替として使う
前提条件
- macOS 14+ および Windows 11 22H2+ の両機
- 両機での管理者権限
1. アプローチ — どちら側が合わせるか?
3つの選択肢:
A. Mac を Windows のように感じさせる(Windows ユーザーが Mac を使い始めた場合)
- Karabiner で
Cmd → Ctrlにマップ - 一部の Mac ネイティブショートカットが壊れる(Spotlight など)
- 推奨度:中
B. Windows を Mac のように感じさせる(Mac ユーザーが Windows を使わざるを得ない場合)
- PowerToys で
Win → Ctrl(または逆)にマップ - 一部の Windows ネイティブショートカットが壊れる(Win + Tab など)
- 推奨度:中
C. 両方を適度に調整する(最も一般的)
- 各 OS のネイティブキーを尊重し、毎日使うショートカットだけを統一する
- 学習コストが最も低い
- 推奨度:高
このガイドはアプローチ C を中心に解説する。A と B も同じセットアップで、マッピングテーブルを変えるだけで対応できる。
2. Mac — Karabiner-Elements のセットアップ
2.1 インストール
brew install --cask karabiner-elementsまたは karabiner-elements.pqrs.org からダウンロード。
初回起動時に5種類の macOS 権限を求められる:
- 入力監視(Karabiner)
- 入力監視(Karabiner-EventViewer)
- アクセシビリティ(Karabiner)
- アクセシビリティ(karabiner_grabber)
- Developer Tools(任意)
システム設定 → プライバシーとセキュリティ → それぞれを許可する。
2.2 キーボード検出
Karabiner は外付けキーボードを自動検出する。Settings → Devices に一覧が表示される。
2.3 Simple Modifications
Simple Modifications タブでペアを追加する。
| From | To |
|---|---|
right_control | right_command |
caps_lock | escape(vim ユーザーは control) |
right_option | right_command(任意 — Cmd エリアを広げる) |
2.4 Complex Modifications
条件付きマッピングは JSON で定義する。~/.config/karabiner/karabiner.json を編集するか GUI から追加する。
よく使う例:外付けキーボードで「Cmd + キー」を Windows スタイルの「Win + キー」として動作させる:
{
"description": "Map left_command to left_control (for Windows layout keyboard)",
"manipulators": [
{
"type": "basic",
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_control" }],
"conditions": [
{
"type": "device_if",
"identifiers": [
{ "vendor_id": 1278, "product_id": 33 } // 外付けキーボードの ID
]
}
]
}
]
}外付けキーボードのベンダー ID / プロダクト ID は Karabiner-EventViewer で確認できる。
3. Windows — PowerToys Keyboard Manager
3.1 PowerToys のインストール
winget install Microsoft.PowerToysまたは github.com/microsoft/PowerToys。
3.2 Keyboard Manager を有効化
PowerToys を起動 → 左メニュー → Keyboard Manager → Enable Keyboard Manager をトグル。
3.3 キーのリマップ
Remap a key をクリック → ペアを追加。
| キー | リマップ先 |
|---|---|
| Caps Lock | Esc |
| Right Ctrl | Right Win(Mac の Cmd の位置に対応) |
| Right Alt | Right Ctrl |
3.4 ショートカットのリマップ
Remap a shortcut — コード対コード。
よく使う例:macOS の Cmd + Space(Spotlight)→ Windows の Alt + Space(PowerToys Run):
| From | To |
|---|---|
| Win + Space | Alt + Space |
| Win + C | Ctrl + C |
| Win + V | Ctrl + V |
| Win + Tab | Alt + Tab |
「Target App」を空にするとグローバルに適用される。特定アプリにのみ限定したい場合はプロセス名を入力する。
3.5 AutoHotkey 代替(PowerToys がブロックされている場合)
AutoHotkey は同じ効果を持つ単一の EXE。mac-like.ahk:
; Win+キーを Mac スタイルの Ctrl+キーとして動作させる
LWin & c::Send ^c
LWin & v::Send ^v
LWin & x::Send ^x
LWin & z::Send ^z
LWin & a::Send ^a
LWin & s::Send ^s
LWin & Space::Send !{Space} ; PowerToys Runmac-like.ahk を実行 → システムトレイに常駐する。
4. 5つのよく使うリマッピング(推奨)
両 OS で適用:
| 目的 | Mac(Karabiner) | Windows(PowerToys) |
|---|---|---|
| Caps Lock → Esc | caps_lock → escape | Caps Lock → Esc |
| 右モディファイアを広げる | right_option → right_command | Right Alt → Right Ctrl |
| 左モディファイアを広げる | (デフォルト) | Right Ctrl → Right Win |
| IME トグル(外付けキーボード) | right_command → f19 + IM ショートカット | (Windows ネイティブ IME トグル) |
| 新規タブの一貫性 | (デフォルト Cmd+T) | (PowerToys:Ctrl+T を維持) |
5. 外付けキーボード — OS 自動切り替え(任意)
一部のキーボード(HHKB、Niz Plum など)はディップスイッチや OS モードキーによって OS に合わせたレイアウトに切り替えられる。
HHKB Professional Hybrid
- 背面のディップスイッチ、またはデバイス上の
Fn+Q/W/E - Mac モード / Win モード / Lite モード
Niz Plum
- デバイス上の
Fn+/、またはソフトウェアでのレイアウト切り替え
QMK/VIA カスタムキーボード
- VIA / QMK ファームウェアでレイヤーごとのマッピング
- USB ケーブルのポート(接続先 PC が認識される)で自動切り替え
外付けキーボード自体に OS モード切り替え機能がある場合、Karabiner / PowerToys の設定は最小限で済む。
6. アプリ別マッピング(よく使うパターン)
macOS — Karabiner の frontmost_application_if
特定のアプリでアクティブになるマッピング:
{
"description": "VS Code only: Cmd+B → Ctrl+B (same shortcut as Linux/Win)",
"manipulators": [
{
"type": "basic",
"from": { "key_code": "b", "modifiers": { "mandatory": ["left_command"] } },
"to": [{ "key_code": "b", "modifiers": ["left_control"] }],
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com\\.microsoft\\.VSCode$"]
}
]
}
]
}Windows — PowerToys の Target App
Remap a shortcut で Target App をプロセス名で指定:
- VS Code:
Code.exe - Chrome:
chrome.exe - WSL:
wt.exe(Windows Terminal)
7. 検証
Mac
# Karabiner が動作しているか確認
open /Applications/Karabiner-EventViewer.app
# → キーを押すとイベントが表示される。マッピングが from → to の変換として表示される。Windows
- PowerToys → Keyboard Manager → リマッピングリスト
- テキストフィールドに入力し、リマップされた動作を確認
- (AutoHotkey)システムトレイに緑の H アイコン
8. トラブルシューティング
macOS Sequoia が Karabiner の権限を何度も取り消す
- macOS のアップデート後、セキュリティモデルが権限を再プロンプトすることが多い
- システム設定 → プライバシーとセキュリティ → 入力監視 / アクセシビリティで Karabiner を一度 OFF → ON に切り替える
- または Karabiner を再インストールする
PowerToys Keyboard Manager が一部のアプリで動かない
- 管理者権限で動作しているアプリ(一部のゲームなど)は PowerToys のリマップをバイパスする
- PowerToys 自体を管理者として実行する(トレイアイコン → 管理者として再起動)
マッピング後、外付けキーボードだけがおかしくなる
- Karabiner:Devices でそのキーボードを選択し「Modify events from this device」にチェック
- PowerToys:ベンダー固有のキー(例:Logitech G502 のサイドボタン)はリマップできない
macOS の IME トグルキーが動かなくなる
- システム設定 → キーボード → 入力ソース → ショートカット:IME トグルを確認
- Karabiner で外付けキーボードの right_command を IME トグルにマップ:
{ "from": { "key_code": "right_command" }, "to": [{ "key_code": "japanese_kana" }] // 日本語 IME に認識される }
Windows の Win + L(ロック)がリマップされた
- セキュリティ上の予約済みショートカット。PowerToys のリマップは傍受できない(Windows が優先する)
- AutoHotkey でも上書きできない
- 回避策なし — 別のショートカットを割り当てる
Bluetooth キーボード共有時に Mac と Windows の IME が衝突する
- 同じ Bluetooth キーボードを両機にペアリングしていると、最後に使った OS の IME 状態が残る
- キーボードの OS モードトグルで切り替える(HHKB なら Fn+Q/W/E)
- またはいったんペアリングを解除して再ペアリングする
9. 次のステップ
- Mac 生産性(Raycast · Rectangle · Karabiner 基本) — /mac/productivity
- 入力共有 — 1つのキーボードで2台を操る — /multi-os/input-sharing — Barrier · Logitech Flow
- Mac 初期設定 — /mac/initial-setup
- Windows 初期設定 — /windows/initial-setup
参考資料
更新履歴
- 2026-05-16:初稿。Karabiner + PowerToys インストール + 5つのよく使うリマッピング + アプリ別 + 外付けキーボード + 6つのトラブルシューティング事例。