잡동사니 보석함

Mac & MacBook

Karabiner-Elements: 키보드 매핑

2020. 11. 18.

Karabiner-Elements는 키보드의 각 키에 다른 키나 이벤트를 매핑해주는 키보드 커스터마이징 툴입니다. 맥 버전만 있고, 퍼블릭 도메인의 무료 프로그램입니다.

맥에 윈도우용 표준 키보드를 연결해서 쓰다 보면, Command 키 등 일부 키의 위치가 달라 불편한데요. Karabiner-Elements(이하 카라비너)를 사용하면 이 문제를 해결할 수 있습니다. 직접 키 매핑을 바꿔도 되고, 이미 만들어져 있는 설정을 다운로드해서 사용할 수도 있습니다.

그 외에도 화면 밝기 조절 같은 펑션키에 할당된 기능을 연결할 수도 있고, 오토메이터와 함께 사용하여 기능을 확장할 수도 있습니다. 마우스 버튼도 매핑이 가능합니다.

여기서는 전체적인 구성과 제가 사용하는 규칙 중심으로 간략히 소개하겠습니다. JSON과 오토메이터를 활용하는 방법은 다음글을 참고해주세요.

프로그램 다운로드 및 설치

다음 공식 사이트에서 프로그램을 다운로드받습니다. 사이트에 들어가면 중앙에 Download 버튼이 큼직하게 있습니다. 맥 OS 버전별로 지원하는 카라비너 버전도 다르니 확인하고 맞는 버전을 받아야 합니다.

https://karabiner-elements.pqrs.org/

설치는 일반적입니다. 다운받은 설치파일을 열면 패키지(.pkg) 파일이 있고, 이를 실행하면 인스톨러가 시작됩니다. 설치경로 변경 외엔 별 옵션이 없으니 쭉 따라가며 설치하면 됩니다.

Karabiner-Elements와 함께, 키 이벤트를 확인할 수 있는 Karabiner-EventViewer(이하 이벤트 뷰어)도 설치됩니다. 이에 대해서는 뒤에서 다루겠습니다.

Karabiner-Elements

설치가 끝났으면 이제 키 매핑 규칙을 만들어야겠죠. 응용 프로그램에서 Karabiner-Elelmets를 실행합니다. 자동으로 메뉴바에 아이콘이 등록됐는지 가물가물한데, 네모난 카라비너 아이콘이 있다면 여기서 Preferences...를 선택해도 됩니다.

첫 실행이라면 '가상 키보드와 마우스 드라이버가 로드되지 않았으니 접근을 허가하라'라는 안내가 나올 수 있습니다. [시스템 환경설정]의 [보안 및 개인 정보 보호]에 들어가서 카라비너의 접근을 허가하면 됩니다. 이후 카라비너 업데이트에 따라 다시 허가 작업을 해 줘야 하는 경우도 있습니다.

이제 Karabiner-Elements Preferences 창이 열리는데, 구성은 간단한 편입니다. 위쪽에 탭으로 주요 메뉴가 구성되어 있습니다. 순서대로 Simple modifictions, Function keys, Complex modifications, Devices, Virtual keyboard, Profiles, Misc, Log 탭입니다.

이 메뉴 중 Simple modification, Function keys, Complex modifications의 3개가 직접적인 키 매핑 메뉴입니다. 각 탭별로 순서대로 소개해보겠습니다.

Simple Modifications

처음에 디폴트로 표시되는 Simple modifications 탭은 기본적인 키 매핑을 관리하는 메뉴입니다. 어떤 키를, 어떤 키로 매핑할지 새 규칙을 추가하고, 수정하거나 삭제할 수 있습니다.

상단에 Target device 선택란이 있습니다. 기본값이 For all devices, 즉 모든 디바이스용입니다. 이 타겟에 만든 규칙은 모든 디바이스에 적용됩니다. 모든 디바이스에는 맥북의 내장 키보드와 트랙패드도 포함됩니다.

특정 키보드에만 규칙을 적용하고 싶거나 키보드마다 다른 규칙을 만들고 싶다면 규칙을 만들기 전에 이 Target device 값을 바꿔줘야 합니다. 만들어진 규칙의 타겟을 바꿀 수 없습니다. 아차 하면 두 번 작업해야 하니 잘 챙겨야 할 부분입니다.

타겟 디바이스를 결정했다면 뒤는 별로 어렵지 않습니다. 아래쪽에 있는 Add Item 버튼을 누르면 빈 규칙이 생성되고,

여기에 각각 키를 설정하면 끝입니다. 왼쪽 From key에는 실제로 누를 물리적 키를, 오른쪽 To key에는 작동하게 할 키를 입력하면 됩니다. 예를 들어 From key에 A를, To Key에 B를 설정했다면, A 키를 누를 때마다 B가 입력되게 됩니다. 한글 자판에서 ㅁ을 누르면 ㅠ가 입력되고, Command+A(전체선택)를 누르면 Command+B(볼드)처럼 작동합니다.

예를 들어 제가 사용하는 매핑은 다음과 같습니다.

왼쪽 Command키는 왼쪽 Option키로, 왼쪽 Option키는 왼쪽 Command키로 바꿨습니다. 윈도우용 자판에서는 두 키의 위치가 반대라, 이를 맥 자판에 맞도록 교체한 셈입니다.

Function Keys

F1부터 F12까지 펑션키에 어떤 기능을 할지 설정할 수 있는 메뉴입니다. 밝기 조절, 런치패드, 볼륨 조절 등 펑션키에서 흔히 사용되는 설정이 기본으로 들어가 있습니다.

역시 Target device를 선택할 수 있고, 특정 디바이스에서 일부 펑션키만 설정하는 것도 가능합니다. 제 경우 F9키만 외장 키보드 아이콘에 맞춰 수정했습니다. 설정하지 않은 나머지는 앞의 디폴트 설정을 따라갑니다.

아래쪽에는 체크박스 옵션이 하나 있습니다. 펑션키를 스탠다드 펑션키처럼 작동하게 하는 옵션입니다. 윈도우 노트북에서 많이 쓰던 방식이죠. 펑션키(F1 ~ F12)만 누르면 시스템 기본값으로 작동하고, Fn + 펑션키를 누르면 볼륨 조절 등 추가 기능키로 작동하게 됩니다. 취향에 맞게 쓰면 되겠습니다.

Complex Modifications

Simple modifications보다 복합적인 기능을 설정할 수 있습니다. 예를 들면, Control 등 기능키를 조합하여 사용하거나, 특정 프로그램에서만 키를 매핑하거나, 특정 키로 셸 커맨드(shell command)를 실행할 수 있습니다.

다만, 이런 규칙을 작성할 수 있는 UI를 제공하진 않고, 외부에서 만든 JSON 파일을 가져와 사용하는 형태입니다. 흔히 사용되는 규칙은 Complex Modification Rules 페이지에서 제공하니 쉽게 추가하고 사용할 수 있습니다.

예를 들어, 한/영 전환키를 누르면 사용 언어가 변경되는 규칙을 설정해보겠습니다.

위의 규칙 페이지에 직접 방문하거나, Complex modifications 탭 아래쪽에 있는 Add rule 버튼을 누르면 뜨는 팝업창 상단에 있는 Import more rules from the Internet 버튼을 눌러 해당 페이지로 갑니다. Korean으로 검색하면 한글용 규칙이 몇가지 검색됩니다.

각 항목을 누르면 좀 더 자세한 내용을 볼 수 있습니다. 검색 결과 중 [For Korean PC Keyboard]를 가져옵시다. 해당 항목 우측에 있는 Import 버튼을 눌러 해당 규칙을 카라비너에 추가합니다.

규칙 추가를 완료하면 규칙 목록이 표시됩니다. 중간 For Korean PC Keyboard 아래 2개의 규칙이 포함된 걸 확인할 수 있습니다.

첫번째 Change Kor/Eng key to command+space는 한/영키를 누르면 입력 소스(자판)가 바뀌도록 하는 규칙입니다. 맥에서 입력 소스를 바꾸는 기본 단축키가 command+space니까요. 혹 해당 단축키를 바꿨다면, 이 규칙도 제대로 작동하지 않을 겁니다. 실제로 사용중인 단축키와 동일하게 설정해야 합니다.

마찬가지로 두번째 Change Hanja key to option+return은 한자키를 누르면 한자 전환 단축키인 option+return으로 치환되는 규칙입니다. 제 키보드에서는 작동하지 않아서 JSON 파일을 조금 수정해서 사용하고 있습니다.

규칙 오른쪽에 있는 Enable 버튼을 누르면 해당 규칙이 사용되기 시작합니다. 팝업창을 닫으면, 활성화 되어 실제로 사용중인 규칙을 확인할 수 있습니다.

Devices

Devices 탭은 규칙을 사용할 디바이스를 관리하는 부분입니다. 이 탭에 들어가면 연결된 혹은 연결되었던 키보드와 마우스 등의 디바이스 목록이 표시됩니다.

위 이미지를 보면, 애플 내장 키보드와 트랙패드, 애플 무선 키보드와 트랙패드, 그리고 마이크로소프트의 키보드와 마우스가 있습니다. 이 중 마이크로소프트의 키보드만 체크가 되어 있고요.

체크되지 않은 디바이스는 규칙이 적용되지 않으며, 설정시 타겟 디바이스로도 선택할 수 없습니다. 비활성화된다고 보면 편할 것 같습니다.

더불어 매핑시키지 않을 디바이스는 체크 해제하는게 좋습니다. 규칙이 설정되어 있지 않아도 디바이스가 활성화 되어 있으면 랙이 발생합니다. 마우스는 특히 심하게 체감됩니다. 저사양 맥북 에어라 더 심하게 느껴지는지도 모르겠네요.

그 외

Profile에서는 모든 설정을 하나의 프로필로 묶어 관리할 수 있습니다. 여러 설정을 돌려가며 쓰는 경우에 유용합니다.

Misc에서는 자동 업데이트, 메뉴바에 아이콘 표시 같은 설정이 가능하고, 카라비너를 다시 실행하거나 완전히 삭제하는 기능도 제공합니다. 우측 하단에 Open config folder 버튼이 있는데, 카라비너의 각종 설정과 규칙이 저장되는 폴더를 열어줍니다. JSON 파일도 여기에 위치합니다.

Karabiner-EventViewer

함께 설치되는 이벤트 뷰어는 이름 그대로 키보드와 마우스 입력에 대한 정보를 볼 수 있는 프로그램입니다. 실제로 카라비너에서 설정을 하다 보면, 기능키나 마우스 버튼의 이름이 뭔지 알 수 없는 경우가 있습니다.

예를 들어, 윈도우용 키보드에는 흔히 컨텍스트 메뉴키가 있습니다. 문서 모양 아이콘이 붙은 키로, 우클릭과 비슷한 기능을 합니다. 이 키 이름이 뭔지 모르겠더군요. 이럴 때 이벤트 뷰어를 활용하면 쉽게 키 이름을 알아낼 수 있습니다. 이벤트 뷰어를 띄우고 이 컨텍스트 메뉴키를 누르면, 해당 키에 대한 정보가 출력됩니다. 이 키 이름은 application이었네요.

마지막으로 누른 키를 바로 카라비너에 등록할 수 있도록 우측 상단에 Add 'xxx' to Karabiner-Elements 버튼이 생깁니다. 스크린샷 찍을 때 사용한 단축키 정보가 지저분해서 지웠더니, 버튼에 left_option 정보가 남아버렸어요.

설정이 끝나서 이벤트 뷰어가 필요하지 않다면 삭제해도 무방합니다. 응용 프로그램 폴더에 가면, 카라비너와 이벤트 뷰어가 별도 앱으로 되어 있습니다.

참고 문서

썸네일 이미지 : Karabiner-Elelemts 사이트 화면 캡처

  1. Karabiner-Elements Documentation : karabiner-elements.pqrs.org/docs/
1 2 3 4 5 6 7 8 9