이맥스에서 한영 전환할 때는 이맥스 자체 입력기를 사용하는 경우가 많다. 운영체제의 입력기를 사용하면 예를 들어 C+p, C+n 등의 명령을 C+ㅔ, C+ㅜ로 인식해서 처리하지 못하기 때문이다.

그런데 이맥스 입력기의 한영 전환 단축키와 운영체제 입력기의 단축키를 통일하기가 쉽지 않다. 통일하면 운영체제 입력기가 먼저 작동해 이맥스 입력기의 처리를 막아버린다. 이 문제를 해결하기 위해 시에라 이전의 맥에서는 Karabiner를 사용하면 된다(참고: http://ohyecloudy.com/emacsian/2013/11/18/input-method-osx/).

문제는 시에라. Karabiner가 아직 시에라를 지원하지 않는다. 시에라를 위한 Karabiner-Elements가 있지만 여러 키의 조합이나 프로그램별 설정이 불가능하다. 한참을 찾다가 해결책 발견. BetterTouchTool이 있었다.

Command+Space 로 한영 전환하는 것을 기준으로 적는다. 먼저 맥의 키보드 환경설정에서 이전 입력 소스 선택의 단축키를 ⌥Space로 바꾼다. 기본값인 ^Space는 이맥스의 Mark 기능과 충돌한다. 다음, BetterTouchTool에서 Global의 Shortcut을 ⌘Space, Assigned Action을 ⌥Space로, Emacs의 Shortcut을 ⌘Space, Assigned Action을 ⇧Space로 설정한다.

추가로, 이맥스 이외의 프로그램에서 한글로 전환한 다음 이맥스로 이동하면 기존의 한글 설정때문에 이맥스 입력기가 작동하지 않는 문제가 있다. 이를 해결하기 위해서는 Keyboard Pilot에서 Emacs의 Default Layout을 ABC로 설정한다.

이렇게 BetterTouchTool과 Keyboard Pilot로 한영 전환 문제를 해결했다. 두 프로그램이 유료라 아쉽지만 현재는 이 방법이 최선인 것 같다. 몇 달 사용했는데 잘 작동한다.