devAlice
← Multi-OS

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

  1. Mac: Karabiner-Elements (brew install --cask karabiner-elements)
  2. Windows: PowerToys 통합 패키지 (winget install Microsoft.PowerToys) → Keyboard Manager
  3. 두 OS에서 같은 물리 키 → 같은 동작 매핑 (Cmd ↔ Ctrl 통일)
  4. 외장 키보드는 layer/dip switch로 OS별 자동 전환 가능
  5. 회사 보안 정책상 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 탭에서 키 한 쌍 추가.

FromTo
right_controlright_command
caps_lockescape (또는 control — vim 사용자)
right_optionright_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 ManagerEnable Keyboard Manager 토글.

3.3 키 리매핑

Remap a key 클릭 → 키 한 쌍 추가.

KeyMapped To
Caps LockEsc
Right CtrlRight Win (Mac의 Cmd 위치와 매칭)
Right AltRight Ctrl

3.4 단축키 리매핑

Remap a shortcut — 조합 키를 다른 조합으로.

자주 쓰는 예: macOS의 Cmd + Space (Spotlight) → Windows의 Alt + Space (PowerToys Run):

FromTo
Win + SpaceAlt + Space
Win + CCtrl + C
Win + VCtrl + V
Win + TabAlt + 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 Run

mac-like.ahk 실행 → 시스템 트레이 상주.


4. 공통 매핑 5종 (권장)

양 OS에 모두 적용:

의도Mac (Karabiner)Windows (PowerToys)
Caps Lock → Esccaps_lockescapeCaps Lock → Esc
우측 modifier 확장right_optionright_commandRight Alt → Right Ctrl
좌측 modifier 확장(기본)Right Ctrl → Right Win
한영 전환 (외장 키보드)right_commandf19 + 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. 다음 단계


참고

변경 이력

  • 2026-05-16: 첫 작성. Karabiner + PowerToys 설치 + 공통 매핑 5종 + per-app + 외장 키보드 + 트러블슈팅 6종.

댓글