Karabiner-Elements는 Mac 키보드 커스터마이즈의 맥가이버 칼입니다. 키를 리매핑하고, 레이어를 만들고, JSON으로 작성한 규칙을 실행합니다. 그런 규칙으로 특정 키보드에서 키 입력이 들어올 때 입력 소스를 선택하게 할 수도 있습니다. Keyameleon은 규칙 없이 그 일 하나만 합니다. 어느 쪽이 나은지는 이미 다른 용도로 Karabiner-Elements를 쓰고 있는지에 달려 있습니다.

한눈에 보기

KeyameleonKarabiner-Elements
종류키보드별 입력 소스 전환 앱범용 키보드 커스터마이즈 도구
키보드별 입력 소스목록에서 키보드마다 입력 소스 선택기기 조건과 select_input_source 동작을 넣은 complex modification 작성
입력을 읽는 방식관찰 전용 모드로 키보드를 관찰하며, 입력을 변경하거나 주입할 수 없음수정하는 키보드를 넘겨받아 자체 가상 키보드 드라이버로 입력을 전달
설치앱과 입력 모니터링 권한앱, 승인이 필요한 드라이버 확장 프로그램, 입력 모니터링
가격 및 라이선스무료, MIT무료, 퍼블릭 도메인(Unlicense)

Karabiner-Elements의 키보드별 전환

Karabiner-Elements 규칙(complex modifications)은 device_if 조건으로 특정 기기에만 적용되도록 제한할 수 있으며, 키보드의 벤더 ID와 제품 ID 또는 내장 키보드를 조건으로 지정합니다. 규칙은 select_input_source 동작도 실행할 수 있는데, 이 동작은 언어나 ID로 입력 소스를 고릅니다. 둘을 조합하면 한 키보드의 키 입력으로 그 키보드의 입력 소스를 선택할 수 있습니다.

작동은 하지만, 그 규칙을 키보드마다 하나씩 직접 작성하고 관리해야 하며, 규칙에 걸리는 키를 삼키거나 바꾸지 않는지도 테스트해야 합니다. Karabiner-Elements 공식 문서도 입력 모드가 있는 입력 소스(중국어, 일본어, 한국어, 베트남어)는 macOS 문제로 선택에 실패할 수 있다고 경고하며, 대신 입력 소스 단축키를 보내는 방법을 권장합니다.

Keyameleon: 같은 일을 규칙 없이

Keyameleon은 찾은 모든 키보드를 나열합니다. 일본어 가나나 병음 같은 입력기를 포함해 키보드마다 입력 소스를 고르면, 그 키보드로 입력을 시작할 때 전환합니다. 드라이버를 설치하지 않으며 키보드와 앱 사이에 끼어들지도 않습니다. Apple의 CoreHID 프레임워크를 관찰 전용 모드로 사용해 키보드를 관찰하고, macOS 텍스트 입력 시스템을 통해 자판 배열을 바꿉니다.

문제가 생기면 알려 주기도 합니다. 입력 모니터링이 꺼져 있거나, 전환이 일시 정지되었거나, 지정된 입력 소스가 macOS에서 삭제된 경우 메뉴 막대 메뉴에 알림이 표시됩니다.

함께 사용하기

Karabiner-Elements로 키를 리매핑하면서 키보드별 자판 배열도 원하는 사람이 많습니다. 다만 Karabiner-Elements는 수정하는 키보드의 입력을 자체 가상 키보드에서 다시 보내므로, 다른 앱은 키 입력이 어느 물리 키보드에서 왔는지 더 이상 알 수 없을 수 있습니다. Karabiner-Elements가 실행 중일 때 Keyameleon이 어떤 키보드에서 전환하지 않는다면, Karabiner-Elements의 Devices 설정에서 그 키보드의 Modify events를 끄세요.

어떤 앱을 써야 할까요?

  • 이미 Karabiner-Elements 규칙을 관리하고 있고 JSON이 익숙하다면: 거기에 기기 규칙을 추가하세요.
  • 키보드마다 각자의 자판 배열로 입력되기만 하면 되고, 드라이버도 관리할 규칙도 필요 없다면: Keyameleon.

기본 기능을 포함한 전체 방법은 Mac에서 키보드 자판 배열을 자동으로 전환하는 방법에서 확인하세요.