Keyameleon과 Keychange는 같은 문제를 해결합니다. macOS는 모든 키보드에 입력 소스 하나를 적용하므로, 미국 자판 MacBook 키보드에서 독일어 외장 키보드로 옮기면 자판 배열을 직접 바꿔야 합니다. 두 앱 모두 다른 키보드로 입력을 시작하면 대신 전환해 주는 무료 오픈 소스 메뉴 막대 앱입니다. 차이는 어떤 Mac에서 실행되는지, 처음 누른 키를 어떻게 처리하는지, 입력에 얼마나 접근해야 하는지에 있습니다.
한눈에 보기
| Keyameleon | Keychange | |
|---|---|---|
| 전환 기준 | 입력하는 키보드 | 입력하는 키보드 |
| 가격 및 라이선스 | 무료, MIT | 무료, MIT |
| macOS | 26 이상 | 14 이상 |
| 권한 | 입력 모니터링 | 입력 모니터링, “Before key press” 사용 시 손쉬운 사용 추가 |
| 새로 사용하는 키보드의 첫 키 | 이전 입력 소스로 입력됨 | “Before key press”를 켜지 않으면 이전 입력 소스로 입력됨 |
| 입력에 대한 접근 | 관찰 전용: 키 입력을 지연, 변경, 주입할 수 없음 | 기본은 관찰 전용. “Before key press”는 모든 키 입력을 가로챔 |
| 설정 | 설정 도우미 윈도우, 이후 설정 윈도우 | 메뉴 막대 팝오버에서 키보드마다 드롭다운 메뉴 |
| 설치 | DMG 또는 brew install --cask mastro993/tap/keyameleon | DMG 또는 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에서 영감을 받았다고 밝히고 있으며, 해당 비교 글에서 명령줄 방식을 다룹니다.