현재 맥북, 맥미니, 윈도우 노트북 이렇게 세 대의 장비를 하나의 키보드와 마우스로 사용합니다. 평소에는 맥북이 메인이고, 윈도우 노트북은 필요시 사용합니다. 맥미니는 작업이 많을 때만 별도 모니터를 연결하고, 평소에는 원격 접속으로 이용합니다.

맥에서 한/영 전환은 윈도우와 다르고, 맥 방식이 적응이 잘 되지 않아 그동안 오른쪽 ⌘ 키를 한/영 키처럼 사용하기 위해 Karabiner로 매핑해서 사용했습니다. 그런데 문제는 맥미니에 원격으로 접속하면 이 매핑이 동작하지 않는다는 것이었습니다. 그래서 원격으로 사용하는 경우만 맥 기본 단축키인 ⌃Space로 전환해 왔습니다.
이번 글에서는 원격 접속에서 한영키가 동작하지 않는 원인과, 원격에서도 같은 키로 전환되게 만든 설정을 정리했습니다.
작업 환경
우선 키보드/마우스 자체를 공유하는 환경은 Logitech Flow 기능을 활용 중입니다.
맥 장비끼리만 공유한다면 macOS 자체 기능으로도 충분했습니다. 윈도우까지 하나의 입력장비를 공유하려고 하니 여간 복잡한 게 아니더군요. Synergy를 비롯해 여러 소프트웨어 방식의 앱을 시도해 봤지만, 실패했습니다. 맥끼리는 잘 되는데 맥과 윈도우 사이에서는 키 매핑이 안 되더라구요.
결국 일종의 물리적인 방식인 Logitech Flow를 택했습니다. 세 대 모두 Logi Options+를 설치하고, 키보드와 마우스를 기기 사이에서 전환해 사용합니다.
그리고 맥미니에 원격으로 접속할 때는 macOS 기본 화면 공유 앱을 이용합니다.
한영키의 경우 기존에 두 단계로 설정을 하고 있었습니다. Karabiner가 오른쪽 ⌘를 F18로 변환하고, macOS에서 키보드 단축키 “입력 메뉴에서 다음 소스 선택”에 F18을 등록해 두었습니다. F18은 맥 키보드에 없는 키라 다른 단축키와 겹치지 않아서 한/영 전환용으로 골랐습니다.
그러면 오른쪽 ⌘를 누르면 F18로 변환된 값이 macOS에 전달되고, 이를 통해 언어 전환이 이루어집니다.
문제 상황
문제는 원격 접속을 하면 한영키가 동작하지 않는다는 것입니다. 확인해 보니 원격 접속에서 이 설정이 동작하지 않는 이유는 두 가지입니다.
첫째, 로컬 Mac이 키를 먼저 처리합니다. 화면 공유 창이 앞에 있어도 F18은 로컬 macOS 단축키로 처리됩니다. 그래서 원격 Mac이 아니라 로컬 Mac의 입력 소스가 바뀌고, 키는 원격으로 넘어가지 않습니다.
둘째, 원격 Mac의 Karabiner는 화면 공유로 들어온 키를 받지 못합니다. Karabiner는 물리 키보드(HID 장치) 단계에서 키를 바꿉니다. 화면 공유는 키를 OS 이벤트로 주입하므로 이 단계를 거치지 않습니다. 원격 Mac에 같은 설정이 있어도 적용되지 않는 이유입니다.

정리하면 로컬에서만 키가 처리되고, 원격에서는 키를 바꿀 기회가 없습니다.
그래서 결론은 화면 공유 중일 때는 원격 macOS에게 전달될 수 있는 키를 보내는 것입니다.
현재 적용한 방법
macOS 단축키
시스템 설정 → 키보드 → 키보드 단축키 → 입력 소스에서 다음 소스 선택을 F18로 설정합니다.
- 이전 입력 소스 선택 — ⌃Space.
- 입력 메뉴에서 다음 소스 선택 — F18.
Karabiner 규칙
기존 규칙은 삭제하고, Complex Modifications → Add your own rule에 아래 규칙을 넣습니다.
{
"description": "오른쪽 command 키로 한/영 변경 (화면공유: ⌃Space, 그 외: F18)",
"manipulators": [
{
"conditions": [
{
"type": "frontmost_application_if",
"bundle_identifiers": ["^com\\.apple\\.ScreenSharing$"]
}
],
"from": { "key_code": "right_command" },
"to": [{ "key_code": "spacebar", "modifiers": ["left_control"] }],
"type": "basic"
},
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "f18" }, { "key_code": "vk_none" }],
"type": "basic"
}
]
}
같은 규칙 안의 manipulator는 위에서부터 차례로 검사하고, 처음 일치한 것만 적용됩니다.
만약 화면 공유 앱이 활성화되어 있으면, 첫 번째 manipulator가 적용되어 ⌃Space로 전환되고, 그 외에는 두 번째가 적용되어 F18이로 전환됩니다. .
이 중 두 번째의 vk_none은 한/영 전환 딜레이를 줄이기 위해 넣었습니다. 보통 키는 누를 때 key down, 뗄 때 key up이 나갑니다. Karabiner 공식 문서에 따르면 to의 마지막에 vk_none을 붙이면 누르는 순간 key down과 key up을 함께 보냅니다. 기존에는 오른쪽 ⌘에서 손을 뗄 때 F18도 떼어졌고, 전환이 조금 늦게 느껴졌습니다. 이 한 줄을 넣은 뒤로는 체감상 한영 전환 속도가 좀 나아졌습니다.
Simple Modifications에 오른쪽 ⌘ → F18 매핑이 있다면 지워야 합니다. Karabiner 공식 문서에 따르면 단순 수정을 먼저 적용한 뒤 복합 수정을 적용합니다. 단순 수정을 남겨 두면 오른쪽 ⌘가 이미 F18로 바뀐 채 복합 수정에 도착해, 위 규칙이 일치하지 않습니다.
원격 Mac 설정
맥미니에도 같은 macOS 단축키와 Karabiner 규칙을 넣습니다. 화면 공유로 들어온 키에는 Karabiner가 관여하지 않지만, Flow로 맥미니를 직접 쓸 때는 이 규칙이 필요합니다. 맥미니에서 다시 다른 Mac에 화면 공유로 접속할 때도 같은 규칙이 그대로 동작합니다.
상황별 동작을 정리하면 다음과 같습니다.
| 상황 | 오른쪽 ⌘를 누르면 | 결과 |
|---|---|---|
| 그 Mac을 직접 사용 | F18 | 그 Mac에서 전환 |
| 화면 공유 앱이 앞에 있음 | ⌃Space | 접속한 Mac에서 전환 |
원격에서 전환할 때 로컬 Mac의 입력 소스까지 함께 바뀐다면, ⌃Space 대신 ⌃⌥Space처럼 로컬에 등록되지 않은 조합을 쓰고 원격 Mac의 단축키도 같게 맞추면 됩니다.
기타
macOS 내장 명령인 hidutil은 Karabiner 없이 오른쪽 ⌘를 F18로 바꿀 수 있습니다. 하지만 키 하나를 키 하나로만 바꾸고 앞에 있는 앱을 구분하지 못합니다. 그래서 화면 공유일 때만 다른 키를 보내는 역할을 맡을 수 없었습니다.
Hammerspoon은 OS 이벤트 단계에서 동작하므로 화면 공유로 들어온 키도 받을 수 있습니다. 원리상 모든 Mac에 같은 설정을 두고 F18을 원격으로 넘기는 구성이 가능합니다. 비밀번호 입력 같은 보안 입력 모드에서는 동작하지 않는다는 점, 입력 소스를 API로 직접 바꾸면 한글 입력기에서 아이콘만 바뀌는 macOS 버그가 보고된 점, 화면 공유가 기능 키를 원격으로 넘기지 않는다는 사례가 있다는 점을 고려하여 적용하지 않기로 했습니다.
입력 소스를 바꾸지 않고 입력기 안에서 한/영을 전환하는 서드파티 한글 입력기도 살펴봤습니다. 구조적으로 전환 지연이 없고, 화면 공유 앱에서는 전환키를 넘기는 기능을 준비 중인 것도 있었습니다. 다만 아직 정식 릴리스에 포함되지 않아서 적용하기에 이르다고 판단했습니다.
이 과정은 Claude와 대화하며 진행했습니다. 빠르게 원인을 좁히고 대책을 마련했습니다. 일부 예상과 다르게 동작하긴 했지만, Claude 덕에 작업을 잘 마무리할 수 있었습니다.
마무리
원격 접속에서 한영키가 동작하지 않은 이유는 키가 처리되는 단계 때문이었습니다. 맥을 사용하면서 한영 전환은 많은 분들이 고민하는 문제입니다. 이 후기가 도움이 되길 바랍니다.
ChulJoo Kim (김철주)
※ 참고문헌
- pqrs.org, 「complex_modifications manipulator evaluation priority」, Karabiner-Elements 공식 문서, 2026.
- pqrs.org, 「to event definition」, Karabiner-Elements 공식 문서, 2026.
ckarch.kr
© 2026
is licensed under
CC BY-NC-SA 4.0