Windows에서 Parsec으로 Mac 접속 시 한영키와 Alt+Tab을 윈도우처럼 사용하는 방법
Windows에서 Parsec으로 Mac 접속 시 한/영키와 Alt+Tab을 윈도우처럼 사용하는 방법
Windows PC에서 Parsec으로 macOS에 원격 접속하면 키보드 매핑 때문에 몇 가지 불편한 점이 생깁니다.
- Windows의
Ctrl+C,Ctrl+V를 Mac의Command+C,Command+V처럼 사용하고 싶음 - Windows 키보드의
한/영키로 Mac의 한글/영문 입력을 전환하고 싶음 Alt+Tab을 눌렀을 때 로컬 Windows가 아니라 원격 Mac의 앱 전환기가 나타났으면 좋음
Parsec 자체 설정만으로 첫 번째와 세 번째 문제는 해결할 수 있습니다. 하지만 한/영키까지 Windows와 똑같이 사용하려면 AutoHotkey v2를 함께 사용하는 것이 편합니다.
1. Parsec의 Command/Ctrl 키 스왑 활성화
Windows에서 Mac으로 접속했을 때 기본 키 매핑은 대략 다음과 같습니다.
| Windows | macOS |
|---|---|
| Ctrl | Control |
| Alt | Option |
| Windows | Command |
하지만 이 상태에서는 Windows에서 평소 사용하던 Ctrl+C가 Mac의 복사 단축키인 Command+C로 동작하지 않습니다.
Parsec에서 다음 옵션을 활성화합니다.

이 옵션을 켜면 다음처럼 사용할 수 있습니다.
| Windows에서 누르는 키 | Mac에서 동작 |
|---|---|
| Ctrl | Command ⌘ |
| Windows | Control ⌃ |
| Alt | Option ⌥ |
따라서 Windows에서 평소처럼 다음 단축키를 사용할 수 있습니다.
Ctrl + C
Ctrl + V
Ctrl + ZMac에서는 각각 다음처럼 동작합니다.
Command + C
Command + V
Command + Z2. 한/영 전환이 안 되는 이유
macOS에서는 기본적으로 Control + Space를 이용해 이전 입력 소스로 전환할 수 있습니다. 한국어와 영어 두 개의 입력 소스를 사용한다면 사실상 한/영 전환처럼 사용할 수 있습니다.
그런데 Parsec에서 Swap Command and Ctrl for MacOS를 켜면 Windows의 Ctrl이 Mac의 Command가 됩니다.
따라서 Windows에서 다음 키를 누르면
Ctrl + SpaceMac에는 다음처럼 전달됩니다.
Command + Space즉, 한/영 전환이 아니라 macOS의 다른 단축키가 실행됩니다.
반대로 생각하면 Mac에 Control + Space를 전달하려면 Windows에서는 Windows + Space를 보내면 됩니다.
그래서 Windows의 한/영키를 AutoHotkey로 Win+Space로 변환합니다.
3. AutoHotkey v2 설치
아래 스크립트는 AutoHotkey v2 문법을 사용합니다.
예를 들어 다음과 같은 파일을 하나 생성합니다.
ParsecWinToMacHangul.ahk완성된 스크립트는 직접 옮겨 적지 않아도 됩니다. 이 글 아래쪽 첨부파일에서 ParsecWinToMacHangul.ahk를 그대로 내려받을 수 있습니다.
AutoHotkey의 #HotIf를 이용하면 특정 프로그램이 활성화되어 있을 때만 단축키를 적용할 수 있습니다.
따라서 Windows 전체의 한/영키를 변경하는 것이 아니라, Parsec 창이 활성화되어 있을 때만 키를 변환하도록 구성할 수 있습니다.
4. 함께 켜야 하는 설정: Keyboard Immersive Mode
Parsec에는 Keyboard Immersive Mode라는 기능이 있습니다.
이 기능은 Alt+Tab 같은 Windows 시스템 단축키를 로컬 Windows에서 가로채지 않고 원격 호스트로 그대로 전달하기 위한 기능입니다.
앞에서 정리한 세 가지 요구 중 Alt+Tab은 이 설정 하나로 해결됩니다. 그래서 Keyboard Immersive Mode는 켜두는 것을 권장합니다.
Swap Command and Ctrl for MacOS = ON
Keyboard Immersive Mode = ON필요할 경우 Parsec에서 Ctrl + Shift + I를 이용해 Immersive Mode를 켜고 끌 수 있습니다.

다만 Immersive Mode를 켜면 한/영키를 잡는 방식을 바꿔야 합니다.
vk15(Virtual Key)로는 입력을 잡지 못하는 경우가 있습니다. Parsec이 키보드 입력을 더 낮은 단계에서 먼저 가져가기 때문에, Virtual Key로 해석되기 전의 신호만 남는 것으로 보입니다.그래서 이 글의 스크립트는 한/영키를 Virtual Key가 아니라 스캔 코드 sc138로 감지합니다. 스캔 코드는 키보드가 실제로 보내는 신호에 가까운 값이라 Immersive Mode를 켠 상태에서도 안정적으로 잡힙니다.
| 한/영키 감지 방식 | Immersive Mode ON에서 |
|---|---|
vk15 (Virtual Key) | 감지되지 않는 경우가 있음 |
sc138 (Scan Code) | 정상 감지 |
정리하면 세 가지가 서로 맞물려 있습니다.
Alt+Tab을 Mac으로 보내려면 Immersive Mode를 켜야 한다- Immersive Mode를 켜면 한/영키를
vk15로 잡을 수 없으므로sc138로 바꿔 잡는다 - Immersive Mode가 켜져 있으면
Alt+Tab은 Parsec이 알아서 Mac으로 보내므로 AutoHotkey에서 따로 처리할 필요가 없다
5. Windows 한/영키를 Mac 한/영 전환으로 사용하기
전체 스크립트는 다음과 같습니다.
#Requires AutoHotkey v2.0
#SingleInstance Force
#UseHook True
; ============================================================
; Parsec 활성화 상태에서만 동작
; ============================================================
#HotIf WinActive("ahk_exe parsecd.exe")
; ============================================================
; 한/영키
;
; Parsec:
; Swap Command and Ctrl for MacOS = ON
; Keyboard Immersive Mode = ON
;
; sc138 → Win + Space
; Parsec Swap 후 Mac에서는 Control + Space
; ============================================================
sc138::{
SwitchMacLanguage()
}
; ============================================================
; F11 = Mac 한/영 설정 / 진단 마법사
; ============================================================
F11::{
MacLanguageSetup()
}
#HotIf
; ============================================================
; F12 = 스크립트 Reload
; ============================================================
; F12::{
; Reload()
; }
; ============================================================
; Mac 한/영 전환
; ============================================================
SwitchMacLanguage()
{
SendEvent("{LWin down}{Space down}{Space up}{LWin up}")
}
; ============================================================
; Parsec 창 활성화
; ============================================================
ActivateParsec()
{
if WinExist("ahk_exe parsecd.exe")
{
WinActivate("ahk_exe parsecd.exe")
WinWaitActive("ahk_exe parsecd.exe", , 2)
Sleep(200)
return true
}
MsgBox(
"Parsec 창을 찾을 수 없습니다.`n`n"
. "Parsec을 실행한 후 다시 시도하세요.",
"Parsec 확인",
"OK Icon!"
)
return false
}
; ============================================================
; F11 설정 / 진단 마법사
; ============================================================
MacLanguageSetup()
{
; --------------------------------------------------------
; 1단계 - Parsec 설정
; --------------------------------------------------------
result := MsgBox(
"[1단계 - Parsec 설정]`n`n"
. "Parsec의 Settings에서 아래 항목을 확인하세요.`n`n"
. "1. Swap Command and Ctrl for MacOS = ON`n"
. "2. Keyboard Immersive Mode = ON`n`n"
. "두 설정이 모두 ON이면 예를 누르세요.",
"Mac 한/영 설정 - 1단계",
"YesNo Iconi"
)
if (result = "No")
return
; --------------------------------------------------------
; 2단계 - Mac 입력 소스 설정
; --------------------------------------------------------
result := MsgBox(
"[2단계 - Mac 설정]`n`n"
. "Mac에서 다음 위치로 이동하세요.`n`n"
. "시스템 설정`n"
. " → 키보드`n"
. " → 키보드 단축키`n"
. " → 입력 소스`n`n"
. "이전 입력 소스 선택 항목을 확인하세요.`n`n"
. "단축키가 Control + Space로 되어 있어야 합니다.`n`n"
. "이미 Control + Space라면 변경할 필요 없습니다.`n`n"
. "확인했으면 예를 누르세요.",
"Mac 한/영 설정 - 2단계",
"YesNo Iconi"
)
if (result = "No")
return
; --------------------------------------------------------
; 3단계 - 실제 전환 테스트
; --------------------------------------------------------
result := MsgBox(
"[3단계 - 실제 전환 테스트]`n`n"
. "이제 실제 한/영 전환을 테스트합니다.`n`n"
. "예를 누르면 Mac으로 Control + Space가 전달됩니다.`n`n"
. "Mac 화면에서 현재 입력 언어가`n"
. "한글 ↔ 영어로 바뀌는지 확인하세요.",
"Mac 한/영 설정 - 3단계",
"YesNo Iconi"
)
if (result = "No")
return
if !ActivateParsec()
return
SwitchMacLanguage()
Sleep(700)
; --------------------------------------------------------
; 4단계 - 결과 확인
; --------------------------------------------------------
result := MsgBox(
"[4단계 - 결과 확인]`n`n"
. "Mac의 입력 언어가`n"
. "한글 ↔ 영어로 정상 전환됐습니까?",
"Mac 한/영 테스트",
"YesNo Icon?"
)
if (result = "Yes")
{
MsgBox(
"정상적으로 설정되었습니다.`n`n"
. "동작 과정은 다음과 같습니다.`n`n"
. "한/영키`n"
. " ↓`n"
. "AutoHotkey`n"
. " ↓`n"
. "Windows Win + Space`n"
. " ↓`n"
. "Parsec`n"
. " ↓`n"
. "Mac Control + Space`n"
. " ↓`n"
. "한글 / 영어 전환`n`n"
. "설정에 문제가 생기면 F11을 눌러`n"
. "다시 진단할 수 있습니다.",
"설정 완료",
"OK Iconi"
)
return
}
; --------------------------------------------------------
; 실패 - Mac 설정 상세 안내
; --------------------------------------------------------
MacTroubleshooting()
}
; ============================================================
; Mac 문제 해결
; ============================================================
MacTroubleshooting()
{
result := MsgBox(
"[Mac 설정 다시 확인]`n`n"
. "Mac에서 아래 순서대로 확인하세요.`n`n"
. "1. 시스템 설정을 엽니다.`n`n"
. "2. 키보드를 선택합니다.`n`n"
. "3. 키보드 단축키를 선택합니다.`n`n"
. "4. 왼쪽에서 입력 소스를 선택합니다.`n`n"
. "5. 이전 입력 소스 선택을 활성화합니다.`n`n"
. "6. 단축키를 Control + Space로 지정합니다.`n`n"
. "7. 다른 기능이 Control + Space를 사용하고 있지 않은지 확인합니다.`n`n"
. "설정을 확인했으면 다시 테스트하시겠습니까?",
"Mac 한/영 문제 해결",
"YesNo Icon!"
)
if (result = "No")
return
; --------------------------------------------------------
; 재테스트
; --------------------------------------------------------
if !ActivateParsec()
return
SwitchMacLanguage()
Sleep(700)
result := MsgBox(
"이번에는 Mac의 한/영이 전환됐습니까?",
"한/영 재테스트",
"YesNo Icon?"
)
if (result = "Yes")
{
MsgBox(
"정상 동작합니다.`n`n"
. "Mac 한/영 전환 설정이 완료되었습니다.",
"설정 완료",
"OK Iconi"
)
return
}
; --------------------------------------------------------
; 여전히 실패
; --------------------------------------------------------
ShowAdvancedTroubleshooting()
}
; ============================================================
; 추가 진단
; ============================================================
ShowAdvancedTroubleshooting()
{
MsgBox(
"[추가 문제 해결]`n`n"
. "1. Parsec 설정 확인`n"
. "------------------------------`n"
. "Swap Command and Ctrl for MacOS = ON`n"
. "Keyboard Immersive Mode = ON`n`n"
. "2. Mac 설정 확인`n"
. "------------------------------`n"
. "시스템 설정`n"
. " → 키보드`n"
. " → 키보드 단축키`n"
. " → 입력 소스`n"
. " → 이전 입력 소스 선택`n"
. " → Control + Space`n`n"
. "3. 직접 테스트`n"
. "------------------------------`n"
. "Parsec 화면에서 Windows 키보드의`n"
. "Win + Space를 직접 눌러보세요.`n`n"
. "Win + Space로 Mac 한/영이 전환된다면`n"
. "Parsec과 Mac 설정은 정상입니다.`n`n"
. "이 경우 AutoHotkey의 한/영키 감지 부분만`n"
. "확인하면 됩니다.`n`n"
. "Win + Space로도 전환되지 않는다면`n"
. "Parsec 설정 또는 Mac의 입력 소스 단축키를`n"
. "다시 확인해야 합니다.",
"추가 문제 해결",
"OK Icon!"
)
}ParsecWinToMacHangul.ahk 파일로 첨부되어 있습니다. 내려받아 바로 실행하거나, 자신의 환경에 맞게 수정해서 사용하면 됩니다.핵심은 다음 부분입니다.
sc138::{
SwitchMacLanguage()
}sc138은 한/영키의 스캔 코드입니다. 앞에서 설명한 것처럼 Immersive Mode를 켠 상태에서도 안정적으로 잡히기 때문에 vk15 대신 사용합니다.
실제로 키를 보내는 부분은 함수로 분리되어 있습니다.
SwitchMacLanguage()
{
SendEvent("{LWin down}{Space down}{Space up}{LWin up}")
}SendEvent는 실제 키 입력과 비슷한 간격으로 신호를 보내기 때문에, 원격 화면처럼 입력을 놓치기 쉬운 환경에서 Send보다 안정적입니다. 누름과 뗌을 따로 지정한 것도 같은 이유입니다.
동작 구조는 다음과 같습니다.
Windows 한/영키 (sc138)
↓
AutoHotkey
↓
Windows + Space
↓
Parsec Command/Ctrl Swap
↓
Mac Control + Space
↓
한글 ↔ 영어또한 다음 조건이 있기 때문에
#HotIf WinActive("ahk_exe parsecd.exe")Parsec을 사용하지 않을 때는 한/영키가 원래 Windows 한/영키로 동작합니다.
6. Mac을 직접 사용할 때는 Caps Lock 한/영 전환 유지 가능
이 방법을 사용한다고 해서 Mac 자체의 Caps Lock 설정을 변경할 필요는 없습니다.
Mac에서는 기존처럼 다음 설정을 유지하면 됩니다.
여기서 Caps Lock을 이용한 입력 소스 전환 기능을 활성화해두면 됩니다.

| 사용 환경 | 한/영 전환 |
|---|---|
| Mac을 직접 사용할 때 | Caps Lock |
| Windows를 직접 사용할 때 | 한/영키 |
| Windows → Parsec → Mac | 한/영키 |
7. Alt+Tab은 Parsec이 그대로 Mac으로 보낸다
Keyboard Immersive Mode를 켜두면 Alt+Tab은 로컬 Windows가 가로채지 않고 Parsec이 원격 Mac으로 그대로 전달합니다.
Windows Alt + Tab
↓
Parsec Keyboard Immersive Mode
↓
Mac 앱 전환즉 AutoHotkey에서 Alt+Tab을 따로 가로챌 필요가 없습니다. 위 스크립트에 Alt+Tab 관련 코드가 한 줄도 없는 이유가 이것입니다.
Alt+Tab을 Ctrl+Tab으로 바꿔 보내는 방법도 있습니다. Command/Ctrl Swap 때문에 Mac에서는 Command+Tab으로 도착합니다. 다만 Alt를 누른 채 Tab을 여러 번 눌러 앱을 골라 나가는 동작까지 재현하려면 스크립트가 꽤 복잡해지고, Alt+B나 Alt+방향키 같은 Option 조합에도 영향을 줄 수 있습니다. Immersive Mode를 켜서 Parsec에 맡기는 쪽이 훨씬 간단합니다.8. F11 설정 / 진단 마법사
한/영 전환은 Parsec 설정, Mac 입력 소스 단축키, AutoHotkey의 키 감지 세 군데 중 하나만 어긋나도 동작하지 않습니다. 그래서 위 스크립트에는 어디가 문제인지 순서대로 짚어주는 F11 설정 / 진단 마법사가 들어 있습니다.
Parsec 창이 활성화된 상태에서 F11을 누르면 4단계로 진행됩니다.
| 단계 | 확인 내용 |
|---|---|
| 1단계 | Parsec의 Swap Command and Ctrl for MacOS와 Keyboard Immersive Mode가 모두 ON인지 확인 |
| 2단계 | Mac의 시스템 설정 → 키보드 → 키보드 단축키 → 입력 소스에서 이전 입력 소스 선택이 Control + Space인지 확인 |
| 3단계 | 실제로 Mac에 Control + Space를 보내 전환을 시도 |
| 4단계 | Mac의 입력 언어가 실제로 바뀌었는지 확인 |
4단계에서 정상 전환이 확인되면 다음 동작 경로를 보여주고 마칩니다.
한/영키
↓
AutoHotkey
↓
Windows Win + Space
↓
Parsec
↓
Mac Control + Space
↓
한글 / 영어 전환전환이 되지 않았다고 답하면 Mac의 입력 소스 단축키 설정을 항목별로 다시 안내한 뒤 한 번 더 테스트합니다. 그래도 실패하면 마지막으로 추가 진단 화면이 나옵니다.
추가 진단에서 가장 중요한 항목은 Parsec 화면에서 Windows 키보드의 Win + Space를 직접 눌러보는 것입니다. 이 한 번으로 문제 지점이 갈립니다.
| Win + Space를 직접 눌렀을 때 | 문제 지점 |
|---|---|
| Mac 한/영이 전환된다 | Parsec과 Mac 설정은 정상. AutoHotkey의 한/영키 감지(sc138)만 확인하면 됨 |
| 전환되지 않는다 | Parsec 설정 또는 Mac의 입력 소스 단축키를 다시 확인해야 함 |
마법사도 #HotIf WinActive("ahk_exe parsecd.exe") 블록 안에 있기 때문에 Parsec 창이 활성화된 상태에서만 F11이 동작합니다. 안내창을 읽는 사이 포커스가 옮겨가더라도 ActivateParsec()이 Parsec 창을 다시 활성화한 뒤 키를 보내기 때문에, 테스트가 엉뚱한 창으로 새지 않습니다.
9. 최종 키 매핑
| Windows 키 | Mac에서 결과 |
|---|---|
Ctrl+C | Command+C |
Ctrl+V | Command+V |
Ctrl+Z | Command+Z |
한/영 | Control+Space → 한/영 전환 (AutoHotkey) |
Alt | Option |
Alt+B 등 | Option+B 등 기존 Option 조합 |
Alt+Tab | Mac 앱 전환 (Parsec Immersive Mode가 전달) |
이 구성을 사용하면 Windows에서 평소 사용하는 키 조합을 거의 그대로 유지할 수 있습니다.
- Windows에서도
Ctrl+C, Parsec 안에서도Ctrl+C - Windows에서도 한/영키, Parsec 안에서도 한/영키
- Windows에서도
Alt+Tab, Parsec 안에서도Alt+Tab
10. 한/영키가 감지되지 않는 경우
한/영키를 눌러도 아무 반응이 없다면 먼저 AutoHotkey에서 키 자체가 감지되는지 확인합니다.
다음 테스트용 스크립트를 사용할 수 있습니다.
#Requires AutoHotkey v2.0
#SingleInstance Force
#UseHook True
sc138::{
SoundBeep 1000, 100
ToolTip "한/영키 감지됨"
SetTimer () => ToolTip(), -1000
}한/영키를 눌렀을 때 소리가 나고 한/영키 감지됨이라는 메시지가 나타나면 AutoHotkey의 키 입력 감지는 정상입니다.
vk15로 잡고 있지 않은지 확인하세요. Keyboard Immersive Mode를 켠 상태에서는 sc138처럼 스캔 코드로 잡아야 합니다.키보드 종류에 따라 한/영키의 스캔 코드가 sc138이 아닐 수도 있습니다. 이 경우 AutoHotkey의 Key history and script info에서 한/영키를 눌렀을 때 기록되는 실제 스캔 코드를 확인한 뒤, 스크립트의 sc138을 그 값으로 바꾸면 됩니다.
11. AutoHotkey 스크립트 자동 실행
설정이 모두 끝났다면 Windows 로그인 시 이 스크립트가 자동 실행되도록 만들 수 있습니다.
Win + R을 누른 뒤 다음 명령을 입력합니다.
shell:startup열린 시작프로그램 폴더에 ParsecWinToMacHangul.ahk 파일의 바로가기를 넣어두면 됩니다.
이후 Windows에 로그인하면 AutoHotkey 스크립트가 자동으로 실행됩니다.
스크립트를 고쳐가며 테스트할 때는 다음 코드가 있으면 편합니다.
F12::{
Reload()
}파일을 수정하고 저장한 뒤 F12를 누르면 변경된 스크립트를 다시 불러옵니다.
다만 평소에는 F12가 다른 용도로 쓰이는 경우가 많기 때문에, 첨부된 스크립트에서는 이 부분을 주석으로 처리해두었습니다.
; F12::{
; Reload()
; }스크립트를 손볼 일이 있을 때만 앞의 세미콜론을 지워 켜고, 작업이 끝나면 다시 주석으로 되돌리면 됩니다. 이 블록은 #HotIf 조건 바깥에 있기 때문에 켜두면 Parsec 창이 아니어도 F12로 Reload할 수 있습니다.
정리
Parsec의 설정은 다음과 같이 구성합니다.
Swap Command and Ctrl for MacOS = ON
Keyboard Immersive Mode = ON그리고 AutoHotkey에서는 한/영키 하나만 변환합니다.
한/영 (sc138)
→ Win + Space
→ Mac Control + Space
Alt + Tab
→ Parsec Immersive Mode가 그대로 전달
→ Mac 앱 전환이렇게 구성하면 Windows 키보드로 Parsec을 통해 Mac을 사용할 때도 Ctrl+C, 한/영키, Alt+Tab을 Windows와 거의 동일한 방식으로 사용할 수 있습니다.
또한 Mac을 직접 사용할 때의 Caps Lock 한/영 설정에는 영향을 주지 않기 때문에 로컬 Mac 사용과 Parsec 원격 사용을 동시에 편하게 유지할 수 있습니다.
완성된 스크립트는 이 글 하단의 F11을 눌러 진단 마법사를 실행해보세요.
