Mac ↔ Windows 키보드 매핑 — Karabiner + PowerToys Keyboard Manager
두 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에서 손이 자꾸 헛돈다.
이 가이드는 Karabiner-Elements (Mac)와 PowerToys Keyboard Manager (Windows)로 양 OS의 키 동작을 통일하는 셋업. 공통 매핑 5종 + per-app 매핑 + 트러블슈팅.
대상: Mac과 Windows를 모두 쓰는 개발자. 외장 키보드 (HHKB·Filco 등) 사용자도 동일.
TL;DR
- Mac: Karabiner-Elements (
brew install --cask karabiner-elements) - Windows: PowerToys 통합 패키지 (
winget install Microsoft.PowerToys) → Keyboard Manager - 두 OS에서 같은 물리 키 → 같은 동작 매핑 (Cmd ↔ Ctrl 통일)
- 외장 키보드는 layer/dip switch로 OS별 자동 전환 가능
- 회사 보안 정책상 PowerToys 설치 불가 → AutoHotkey 대체
사전 조건
- macOS 14+ 와 Windows 11 22H2+ 양쪽 머신
- 관리자 권한 (양쪽)
1. 접근 방식 — 어느 쪽에 맞출까
선택지 3가지:
A. Mac을 Windows처럼 만들기 (Windows 사용자가 Mac 막 산 경우)
- Karabiner로
Cmd → Ctrl매핑 - Mac native 단축키 일부 깨짐 (예: Spotlight)
- 권장도: 중
B. Windows를 Mac처럼 만들기 (Mac 사용자가 Windows 환경 옮긴 경우)
- PowerToys로
Win → Ctrl매핑 (또는 반대) - Windows native 단축키 일부 깨짐 (예: Win + Tab)
- 권장도: 중
C. 양쪽 모두 적당히 손보기 (가장 흔함)
- 각 OS의 native 키를 존중하되 자주 쓰는 매핑만 통일
- 학습 곡선 가장 부드러움
- 권장도: 높음
본 가이드는 C 접근 중심. A·B는 매핑 표만 다르게 적용.
2. Mac — Karabiner-Elements 셋업
2.1 설치
brew install --cask karabiner-elements또는 karabiner-elements.pqrs.org.
처음 실행 시 macOS 권한 요청 5종:
- 입력 모니터링 (Karabiner)
- 입력 모니터링 (Karabiner-EventViewer)
- 접근성 (Karabiner)
- 접근성 (karabiner_grabber)
- 개발자 도구 (선택)
System Settings → Privacy & Security → 각 항목 허용.
2.2 키보드 등록
처음 외장 키보드 연결 시 Karabiner가 자동 감지. Settings → Devices에 표시.
2.3 간단 매핑 예시
Simple Modifications 탭에서 키 한 쌍 추가.
| From | To |
|---|---|
right_control | right_command |
caps_lock | escape (또는 control — vim 사용자) |
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
]
}
]
}
]
}외장 키보드의 vendor/product 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 클릭 → 키 한 쌍 추가.
| Key | Mapped To |
|---|---|
| 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:
; Cmd+C 같은 Mac 단축키를 Win+C로
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 |
| 우측 modifier 확장 | right_option → right_command | Right Alt → Right Ctrl |
| 좌측 modifier 확장 | (기본) | Right Ctrl → Right Win |
| 한영 전환 (외장 키보드) | right_command → f19 + IM 단축키 | (Win 자체 한영 단축키) |
| 새 탭 일관성 | (기본 Cmd+T) | (PowerToys: Ctrl+T 유지) |
5. 외장 키보드 — OS별 자동 전환 (선택)
HHKB·Niz Plum 등 일부 키보드는 dip switch나 OS 모드 키로 OS별 layout 전환.
HHKB Professional Hybrid
- 배면 dip switch 또는 본체 Fn+
Q/W/E단축키 - Mac mode / Win mode / Lite mode
Niz Plum
- 본체
Fn+/또는 software로 layout 전환
QMK/VIA 기반 자작 키보드
- VIA · QMK 펌웨어로 layer별 매핑
- USB 케이블 위치(host PC 인식)로 자동 전환
외장 키보드의 OS-mode가 있으면 Karabiner/PowerToys 의존도 낮아짐.
6. per-app 매핑 (자주 쓰는 패턴)
macOS — Karabiner의 frontmost_application_if
특정 앱에서만 다른 매핑:
{
"description": "VS Code only: Cmd+B → Ctrl+B (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 → Remappings 목록
- 임의 텍스트 입력 후 매핑된 키 동작 확인
- (AutoHotkey) 시스템 트레이의 녹색 H 아이콘
8. 트러블슈팅
macOS Sequoia 이후 Karabiner 권한 자꾸 풀림
- macOS 업데이트 후 보안 정책 강화로 권한 재요청 잦음
- System Settings → Privacy & Security → 입력 모니터링/접근성에서 Karabiner 항목 토글 OFF → ON
- 또는 Karabiner 재설치
PowerToys Keyboard Manager가 일부 앱에서 작동 안 함
- 관리자 권한으로 실행되는 앱(예: 일부 게임)은 PowerToys가 가로채지 못함
- PowerToys를 관리자 권한으로 실행 (트레이 아이콘 우클릭 → Restart as administrator)
매핑 적용 후 외장 키보드만 동작 이상
- Karabiner: Devices에서 해당 키보드 선택 후 "Modify events from this device" 체크
- PowerToys: 외장 키보드의 vendor specific 키는 매핑 불가 (Logitech G502의 사이드 버튼 등)
macOS 한영 전환 키가 안 먹힘
- System Settings → Keyboard → Input Sources → Shortcuts에서 한영 단축키 확인
- Karabiner로 외장 키보드의 right_command 키를 한영 전환 키로:
{ "from": { "key_code": "right_command" }, "to": [{ "key_code": "japanese_kana" }] // 한국어 IME가 인식 }
Windows에서 Win + L (잠금)이 매핑됨
- 보안 단축키. PowerToys로 매핑 시도해도 동작 안 함 (Windows가 우선 가로챔)
- AutoHotkey도 마찬가지
- 회피 불가. 다른 단축키로
Mac과 Windows의 한자/한국어 IME 충돌 (블루투스 키보드)
- 같은 블루투스 키보드를 양쪽 페어링 → 마지막 사용한 OS의 IME 잔재
- 키보드의 OS 모드 키로 전환 (HHKB의 Fn+Q/W/E)
- 또는 매번 페어링 끊고 다른 OS에서 페어링
9. 다음 단계
- Mac productivity (Raycast·Rectangle·Karabiner 기본) — /mac/productivity
- input sharing — 두 PC 한 키보드 — /multi-os/input-sharing — Barrier·Logitech Flow
- Mac 초기 셋업 — /mac/initial-setup
- Windows 초기 셋업 — /windows/initial-setup
참고
변경 이력
- 2026-05-16: 첫 작성. Karabiner + PowerToys 설치 + 공통 매핑 5종 + per-app + 외장 키보드 + 트러블슈팅 6종.