Keyameleon과 Keychange는 같은 문제를 해결합니다. macOS는 모든 키보드에 입력 소스 하나를 적용하므로, 미국 자판 MacBook 키보드에서 독일어 외장 키보드로 옮기면 자판 배열을 직접 바꿔야 합니다. 두 앱 모두 다른 키보드로 입력을 시작하면 대신 전환해 주는 무료 오픈 소스 메뉴 막대 앱입니다. 차이는 어떤 Mac에서 실행되는지, 처음 누른 키를 어떻게 처리하는지, 입력에 얼마나 접근해야 하는지에 있습니다.

한눈에 보기

KeyameleonKeychange
전환 기준입력하는 키보드입력하는 키보드
가격 및 라이선스무료, MIT무료, MIT
macOS26 이상14 이상
권한입력 모니터링입력 모니터링, “Before key press” 사용 시 손쉬운 사용 추가
새로 사용하는 키보드의 첫 키이전 입력 소스로 입력됨“Before key press”를 켜지 않으면 이전 입력 소스로 입력됨
입력에 대한 접근관찰 전용: 키 입력을 지연, 변경, 주입할 수 없음기본은 관찰 전용. “Before key press”는 모든 키 입력을 가로챔
설정설정 도우미 윈도우, 이후 설정 윈도우메뉴 막대 팝오버에서 키보드마다 드롭다운 메뉴
설치DMG 또는 brew install --cask mastro993/tap/keyameleonDMG 또는 brew install dennistimmermann/tap/keychange

공통점

  • 키보드마다 입력 소스를 한 번 지정해 두면, 그 키보드에서 키를 누를 때 모든 앱에서 해당 입력 소스가 선택됩니다.
  • 키보드를 하드웨어 정보로 식별하므로, 뽑았다가 다시 연결해도 지정이 유지됩니다.
  • 단축키 버튼이 달린 마우스처럼 스스로를 키보드로 보고하지만 키보드가 아닌 기기는 숨겨서 아무것도 전환하지 않게 할 수 있습니다.
  • 두 앱 모두 키보드를 구분하려면 입력 모니터링 권한이 필요하며, 입력한 내용을 기록하거나 전송하지 않습니다.
  • 원하면 둘 다 로그인 시 실행할 수 있고, Sparkle로 업데이트됩니다. Keyameleon은 하루에 최대 한 번 확인하고 사용자가 승인한 업데이트만 설치합니다. Keychange는 새 GitHub 릴리스가 나오면 설치를 제안합니다.

처음 누른 키

어떤 키보드를 쓰는지 지켜보는 앱은 macOS가 키 입력을 받은 뒤에야 그 사실을 알 수 있습니다. 전환할 즈음이면 그 키는 대개 이미 이전 자판 배열로 입력되어 앞에 있는 앱으로 전달되는 중입니다. 두 앱 모두 여기서 출발하지만, 이를 다루는 방식은 다릅니다.

Keychange에는 Before key press 모드가 있습니다. 이 모드는 모든 앱의 모든 키 입력을 가로채(암호 입력란 제외) 자판 배열을 전환하고 새 자판 배열로 문자를 다시 변환하며, 일부 입력기에서는 키를 잠깐 붙잡아 둡니다. 그래서 첫 문자부터 올바르게 입력됩니다. 대신 손쉬운 사용 권한이 필요하고, Keychange가 키보드와 모든 앱 사이에 끼어들게 됩니다.

Keyameleon은 이 경로에 절대 끼어들지 않습니다. Apple의 CoreHID 프레임워크를 관찰 전용 모드로 사용해 키보드를 관찰하는데, 이 모드로는 입력을 지연, 변경, 주입할 수 없습니다. 자판 배열도 macOS 텍스트 입력 시스템을 통해서만 바꿉니다. 그 대가는 FAQ에 적힌 그대로입니다. 전환을 일으킨 키와 macOS가 전환을 마치기 전에 입력한 키는 이전 입력 소스로 입력될 수 있습니다.

단어 중간에 키보드를 자주 오간다면 Keychange의 이 모드가 결정적인 차이입니다. 어떤 앱도 키 입력을 바꿀 수 없기를 원한다면, Keyameleon은 바로 그 원칙을 중심으로 만들어졌습니다.

다른 무언가가 입력 소스를 바꿀 때

메뉴 막대에서 다른 입력 소스를 고르거나, 다른 앱이 입력 소스를 바꿀 수도 있습니다. Keychange에서는 그다음 동작을 고를 수 있습니다. 스스로 꺼지기, 입력 소스가 다시 키보드와 일치할 때까지 일시 정지하기, 키보드를 바꿀 때까지 사용자의 선택을 유지하기, 다음 키 입력까지 유지하기 중 하나입니다.

Keyameleon의 동작은 하나뿐이며 설정이 없습니다. 변경을 인지하고 메뉴에 불일치를 표시하되, 되돌리려고 다투지 않습니다. 지정이 있는 키보드에서 다음 키를 누르면 그 키보드의 입력 소스가 다시 선택됩니다.

Keyameleon에만 있는 기능

  • 설정 도우미. 윈도우 하나에서 입력 모니터링 권한을 안내하고, 키보드마다 자판 배열을 지정하고, 앱이 메뉴 막대로 이동하기 전에 모든 준비가 끝났는지 확인합니다.
  • 전환 확인. macOS에 입력 소스 변경을 요청한 뒤 Keyameleon이 실제 입력 소스를 다시 읽어 확인합니다. 전환되지 않았다면 메뉴에 경고와 함께 Retry Now가 표시됩니다.
  • 몰래 대체하지 않음. 지정된 입력 소스가 macOS에서 삭제되어도 지정은 그대로 남고, 대신 다른 입력 소스를 고르지 않으며, 다시 추가될 때까지 메뉴에 그 사실이 표시됩니다.
  • 키보드 이름 직접 지정, 그리고 지정된 키보드마다 자판 배열의 국가 코드를 함께 보여 주는 메뉴.
  • 일시 정지 및 재개: 메뉴에서 ⌘ P로 할 수 있습니다.

Keychange에만 있는 기능

  • macOS 14 Sonoma와 15 Sequoia에서 실행됩니다. Keyameleon은 macOS 26이 필요합니다.
  • Before key press 모드(위에서 설명).
  • 현재 입력 소스를 한눈에 보여 주는 메뉴 막대 배지.
  • 다른 요인으로 입력 소스가 바뀌었을 때를 위한 네 가지 대응 방식.
  • Option-클릭으로 벤더 ID와 제품 ID를 표시해, 이름이 비슷한 키보드를 구분할 수 있습니다.

어떤 앱을 써야 할까요?

  • Mac이 macOS 14 또는 15라면: Keychange. Keyameleon은 실행되지 않습니다.
  • 첫 문자가 항상 정확해야 한다면: Before key press를 켠 Keychange. 단, 손쉬운 사용 권한을 주고 모든 키 입력을 가로채게 해도 괜찮을 때의 이야기입니다.
  • 입력을 관찰만 하고 절대 건드리지 않는 앱, 설정 도우미와 문제가 생겼을 때의 명확한 경고를 원한다면: Keyameleon.

둘 다 무료이니 둘 다 써 봐도 손해 볼 것은 없습니다. 다만 같은 시스템 설정을 바꾸므로 한 번에 하나만 실행하세요.

이 문제가 처음이라면 외장 키보드에 다른 자판 배열을 쓰는 방법부터 읽어 보세요. Keychange는 autokbisw에서 영감을 받았다고 밝히고 있으며, 해당 비교 글에서 명령줄 방식을 다룹니다.