전체 글

Mac 키바인딩 karabinder-elements 를 Window App 대응하기

2026. 8. 18. 14:39
반응형

개요

맥 생태계 안에서만 작업을 하면 좋겠지만, 안타깝게도 한국의 환경에서는 어쩔 수 없이 윈도우를 같이 써야 하는 환경인 경우가 많다. 그리고 가장 먼저 마주치게 되는 문제점이 바로 보조키(Ctrl, Win, Alt) 매핑 문제이다. 게다가 대부분의 키보드들이 윈도우기반으로 키보드이다 보니 애플 제품만 사용하는게 아니라면 윈도우 기반 키보드를 사용할 수 밖에 없다.

이런 키보드에서 매핑은 왼쪽 기준

  • Ctrl -> Ctrl
  • Win -> Command
  • Alt -> Option

배치가 되는데, 원래 애플 키보드 배치순인 Ctrl, Option, Command 와 달라서 사용이 헷깔리게 된다. 이 때문에 이런 Karabinder-Elements 앱을 사용하게 된다.(물론 애플 순정만 쓴다면 굳이 이런 것들을 사용할 필요가 없다)

덕분이 맥 유저들은 어쩔 수 없이 키매핑에 대해서 고민을 할 수 밖에 없다. 그래서 자주 사용되는 karabinder-elements를 정리한다.

환경

MacOS Tahoe(v26)
Karabinder-elements v16.1.0

설치 및 설정

karabinder-element 를 검색하여 접속한 다음에 자신의 맥에 지원이 되는지를 확인하고 다운로드를 받으면 된다. 정말 유용하게 잘 쓰고 있다면 나중에 제작자에게 후원을 해도 된다.
https://karabiner-elements.pqrs.org/

절차대로 설치를 진행하고 나면서 앱을 싫행하면 앱에서 권한에 대해서 가이드를 해준다.

앱의 하단에 setup 항목에 보면 체크 항목이 있는데, 이 모든 항목이 체크가 되어야지 정상적으로 설정된 것을 의미한다.

그리고 설정의 키보드 --> 키보드 단축키 --> 보조키 항목에서 karabinder DriverKit VirtualHIDKeyboard 항목이 보여야 한다. 안 보인다면 Mac 에서 인식이 안된 것이다. 그리고 여기서는 키를 바꾸면 안된다.

karabinder-elements 앱으로 가서 Devices 항목에서 자신이 연결해서 사용하는 키보드를 사용가능하게 해야 한다. 자신의 키보드 모델이 보인다면 체크를 해주면 된다.

그러면 최상단의 Simple Modiffications 에서 키보드 장치가 추가된 것을 볼 수 있다. 말 그대로 일괄로 적용을 할 경우 여기서 설정을 하면 된다. 예를 들어 left option -> left command, left command --> left option 이런 식으로 말이다.

그러나 우리는 Windows에 원격으로 붙었을 경우에는 원래의 키보드 매핑을 사용하기 때문에 여기는 건들지 않는다.

Complex Modifications 항목으로 가서 Windows App 에서만 매핑을 풀어야 정상적으로 Windows를 GUI 환경으로 원격으로 연결 했을 때 Win, Alt 키가 뒤바뀌는 문제가 안생긴다. 처음 이 화면을 보면 아무것도 없다.

GUI에서 바로 rule을 새로 추가하는 기능은 없고 해당 설정파일 경로에 직접 접근해서 추가를 해야 한다. ~/.confige/karabiner/karabiner.json 경로의 파일을 열어서 rules 항목에 조건을 추가하면 된다.

{
  profiles:[
  {
    "complex_modifications": {
      "rules":[
      ]
    }
  ...
  }
  ]
}
...

rules 에 아래 내용을 추가한 다음에는 karabinder-elements의 다음과 같은 내용을 추가하면 된다. 해당 내용을 추가하고 저장을 하게 되면, karabinder-elements 에서 해당 내용을 바로 편집을 할 수 있게 된다.

{
    "description": "Windows 앱 제외 - 왼쪽 Option과 command 키 교체",
    "manipulators": [
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.microsoft\\.rdc\\.macos$"
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": {
                "key_code": "left_option",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "left_command" }],
            "type": "basic"
        },
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.microsoft\\.rdc\\.macos$"
                    ],
                    "type": "frontmost_application_unless"
                }
            ],
            "from": {
                "key_code": "left_command",
                "modifiers": { "optional": ["any"] }
            },
            "to": [{ "key_code": "left_option" }],
            "type": "basic"
        }
    ]
}

내용중에 bundle_identifiers 항목에서는 해앙 앱에서는 키맵핑을 하지 않는 다는 내용이고, 해당 배열에 해당 되는 앱을 표시한 것이다. window app 의 하위 프로그램에서는 키보드 맵핑을 하지 않는 다는 내용이다.

앱의 bundle_identifiers 는 karabinder-eventviewer 로 확인이 가능하다. 해당 앱을 열고 Frontmost Application 항목을 보면 현재 열려있는 앱들에 대해서 Bundle Identifier 와 File Path가 함께 표시된다. 따라서 원하는 Window App 을 열고 확인하고, 해당 내용을 위의 스크립트 처럼 작성해서 넣어주면 된다.

관련 문서 작성하는 방법에 대해서는 karabinder-elements 의 공식 문서를 보고 자기 입맛에 따라 수정해도 된다.
https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/conditions/frontmost-application/

권한 문제

키바인더는 입력모니터링 권한을 갖고 있어야 한다. 앞에서 정상적으로 추가를 했다면, Karabinder-Core-Service.app 항목만 추가가 되어 있을 것이다. 만약 karabinder-elements가 정상적으로 키변경이 적용되지 않을 경우에만 해당 설정에서 karabinder-elements.app 을 추가해보자.

첨언

만약 기존 Mac 의 한영 변환이 마음에 안든다면 응용해서 수정할 수 있다.

'OS > Mac OS(OS X)' 카테고리의 다른 글

MacOS 터미널에서 ll 명령어 사용하기  (0) 2026.08.10

Recent posts