[태그:] 윈도우11

  • 윈도우와 맥 원격 키보드 한영변환 해결방법

    윈도우 PC를 메인으로 사용하면서 맥북이나 맥 미니를 함께 쓰는 경우가 있다.

    나도 메인 작업 환경은 윈도우이고, 옆에 맥을 두고 Synergy 같은 키보드/마우스 공유 프로그램으로 같이 사용하고 있다.

    마우스와 키보드를 하나로 공유하는 것 자체는 편한데, 막상 사용해보면 가장 불편한 부분이 바로 한영변환이다.

    윈도우에서는 오른쪽 Alt 키가 한영키처럼 동작하는데, 이 키를 Synergy를 통해 맥에서 누르면 원하는 대로 한영 전환이 되지 않는 문제가 있었다.

    문제 상황

    내 환경은 아래와 같았다.

    • 메인 컴퓨터: Windows 11 PC
    • 보조 컴퓨터: macOS가 설치된 맥북
    • 키보드/마우스 공유: Synergy 사용
    • 키보드 및 마우스는 윈도우 PC에 연결
    • 윈도우의 오른쪽 Alt 키를 한영변환 키로 사용

    윈도우에서는 오른쪽 Alt 키로 한영 전환이 잘 된다. 하지만 Synergy로 맥 화면으로 넘어간 상태에서 오른쪽 Alt 키를 누르면 맥에서는 한영 전환이 되지 않았다.

    처음에는 맥 쪽에서 Karabiner-Elements를 이용해서 오른쪽 Alt 키를 다른 키로 바꾸면 될 거라고 생각했다.

    그런데 Karabiner EventViewer로 확인해보니, Synergy를 통해 들어오는 키 입력은 EventViewer에 표시되지 않았다.

    즉, 맥에 직접 연결된 키보드 입력은 Karabiner에서 보이지만, Synergy를 통해 들어오는 입력은 일반적인 물리 키보드 이벤트처럼 잡히지 않는 것 같았다.

    그래서 맥 쪽에서 Karabiner로 처리하는 방식은 포기했다.

    해결 방향

    결국 방향을 바꿨다. 맥에서 오른쪽 Alt 키를 잡으려고 하지 말고, 윈도우에서 오른쪽 Alt 키를 맥이 알아먹을 수 있는 키로 바꿔서 보내자는 방식이다.

    F18로 설정해서 쓰라는 권유도 많은데, F18로 설정시 Synergy를 통해서 맥으로 키를 전달할 수가 없었다.

    그래서 내가 선택한 키는 F16이다. 일반 키보드에서는 거의 사용하지 않는 키라서 단축키 충돌 가능성이 낮고, macOS에서도 입력 소스 변경 단축키로 지정할 수 있다.

    전체 흐름은 아래와 같다.

    윈도우 오른쪽 Alt 키
    → 키보드 매핑 앱에서 F16으로 변환 (리얼 포스를 쓰고 있어서 REARFORCE CONNECT 이용)
    → Synergy를 통해 맥으로 F16 전달
    → macOS에서 F16을 입력 소스 변경 단축키로 사용

    1. macOS에서 입력 소스 변경 키를 F16으로 설정

    먼저 맥에서 한영 전환 단축키를 F16으로 지정한다.

    1. macOS의 시스템 설정을 연다.
    2. 키보드로 이동한다.
    3. 키보드 단축키를 연다.
    4. 입력 소스 항목으로 이동한다.
    5. 이전 입력 소스 선택 또는 입력 메뉴에서 다음 소스 선택에 F16을 지정한다.

    개인적으로는 입력 소스를 여러 개 쓰지 않는다면 이전 입력 소스 선택에 지정하는 쪽이 더 깔끔했다.

    입력 소스를 한글과 ABC 정도로만 두면 거의 윈도우의 한영키처럼 사용할 수 있다.

    2. 윈도우에서 오른쪽 Alt 키를 F16으로 매핑

    그다음 윈도우에서 오른쪽 Alt 키를 F16으로 바꿔준다. 이 부분은 키보드 매핑 프로그램을 사용했다.

    여기서 중요한 점은, Synergy에 별도 키 매핑을 넣지 않았다는 것이다.

    Synergy 자체 설정에서 AltGr이나 오른쪽 Alt를 바꾸려고 하면 환경에 따라 잘 안 먹는 경우가 있다.

    그래서 Synergy는 그냥 입력을 전달하는 역할만 하게 두고, 윈도우에서 먼저 오른쪽 Alt를 F16으로 바꿔버렸다.

    오른쪽 Alt → F16

    이렇게 해두면 맥 화면에 마우스가 넘어가 있는 상태에서 오른쪽 Alt 키를 누르면, 맥에서는 F16이 입력된다.

    그리고 macOS는 F16을 입력 소스 변경 단축키로 인식해서 한영 전환이 된다.

    3. 문제: 이제 윈도우에서는 한영 전환이 안 된다

    여기까지 하면 맥에서는 한영 전환이 잘 된다. 그런데 새로운 문제가 생긴다.

    윈도우의 오른쪽 Alt 키를 F16으로 바꿔버렸기 때문에, 윈도우에서는 더 이상 오른쪽 Alt 키가 한영키로 동작하지 않는다.

    윈도우 입장에서는 그냥 F16 키가 눌린 것이기 때문이다.

    그래서 윈도우에서는 F16이 눌렸을 때 다시 한영키를 누른 것처럼 처리해주면 된다.

    이때 AutoHotkey를 사용했다.

    4. AutoHotkey로 F16을 한영키로 변환

    AutoHotkey 스크립트에 아래 내용을 추가했다.

    F16::Send "{vk15}"

    여기서 vk15는 윈도우의 한영 전환키에 해당한다. 즉, 윈도우에서 F16이 입력되면 AutoHotkey가 한영키를 누른 것처럼 바꿔주는 방식이다.

    정리하면 윈도우 쪽 흐름은 이렇게 된다.

    오른쪽 Alt 키
    → 키보드 매핑 앱에서 F16으로 변환
    → AutoHotkey가 F16을 감지
    → Windows 한영키(vk15) 입력

    맥 쪽 흐름은 이렇게 된다.

    오른쪽 Alt 키
    → 키보드 매핑 앱에서 F16으로 변환
    → Synergy를 통해 맥으로 F16 전달
    → macOS 입력 소스 변경

    결과적으로 같은 오른쪽 Alt 키를 눌러도, 현재 마우스와 키보드 포커스가 윈도우에 있으면 윈도우 한영 전환이 되고, 맥에 있으면 맥 한영 전환이 된다.

    최종 설정 요약

    Windows 쪽

    • 오른쪽 Alt 키를 F16으로 매핑
    • AutoHotkey에서 F16을 한영키로 변환
    F16::Send "{vk15}"

    macOS 쪽

    • 입력 소스 변경 단축키를 F16으로 설정
    • 입력 소스는 가능하면 ABC와 한글 정도로 단순하게 유지

    Synergy 쪽

    • 별도 키 매핑 설정 없음
    • 윈도우에서 변환된 F16 입력을 맥으로 그대로 전달

    AutoHotkey 자동 실행 설정

    이 방식은 AutoHotkey 스크립트가 항상 실행되어 있어야 한다. Windows 11에서 자동 실행이 잘 안 된다면 시작프로그램 폴더보다 작업 스케줄러에 등록하는 쪽이 더 안정적이었다.

    작업 스케줄러에서 아래처럼 등록하면 된다.

    • 트리거: 로그온할 때
    • 동작: AutoHotkey 실행 파일로 스크립트 실행
    • 옵션: 가장 높은 수준의 권한으로 실행

    특히 Synergy나 다른 입력 관련 프로그램이 관리자 권한으로 실행되는 경우, AutoHotkey도 관리자 권한으로 실행해야 키 입력이 제대로 먹는 경우가 있다.

    마무리

    윈도우와 맥을 Synergy로 같이 쓰면 마우스와 키보드를 하나로 공유할 수 있어서 편하다. 하지만 한영 전환 문제는 생각보다 귀찮게 걸린다.

    맥에서 Synergy로 들어오는 키 입력을 Karabiner로 잡으려고 하면 잘 안 되는 경우가 있고, Synergy 자체 키 매핑도 환경에 따라 다르게 동작할 수 있다.

    내 경우에는 윈도우에서 오른쪽 Alt를 F16으로 바꾸고, 맥에서는 F16을 입력 소스 변경 키로 쓰는 방식이 가장 깔끔했다. 그리고 윈도우에서는 AutoHotkey로 F16을 다시 한영키로 처리해주면 된다.

    정리하면 핵심은 이것이다.

    오른쪽 Alt를 직접 해결하려고 하지 말고,
    윈도우와 맥에서 공통으로 인식 가능한 F16 같은 키로 우회한다.

    이렇게 세팅하고 나니 윈도우와 맥을 오가면서도 오른쪽 Alt 키 하나로 자연스럽게 한영 전환이 가능해졌다.