내 맥북 프로의 부팅 과정이 심상치 않다. SMD 리셋도 실행해 보고 NVRAM 리셋도 실행해 보았지만 소용이 없다. 인터넷을 이리저리 둘러보니 Microsoft Windows에 익숙해진 한/영 변환의 습관을 유지하기 위해서 Karabiner를 설치한 것이 유력한 원인 중의 하나란다. 지푸라기 하나라도 잡아본다는 심정으로 Karabiner를 삭제해 보았다. 역시나, 내 맥북의 시동은 매끄럽게 한번에 시동 되지를 않는다. 여하튼 일단 Karabiner은 다시 설치하지 않기로 마음 먹었다. 하지만, 한/영 변환의 불편함은 여전하다. 또 다시 인터넷을 여기저기 찾아보니 또 다른 방법이 있다고 한다. 그 방법을 아래와 같이 정리하여, 다음에 재설치할 일이 있을 때는 오늘과 같은 삽질을 피하고자 한다.
맥북의 특정 키보드를 Function 키로 맵핑하는 방법
아래 사이트의 “hidutil key remapping generator for MacOS”를 이용하면, 맥북의 특정 버튼을 Function 버튼으로 맵핑할 수 있다.
https://hidutil-generator.netlify.app/
Microsoft Windows에 익숙한 사용자라면 당연히 맥북의 오른쪽 “command” 버튼을 이용하여 한글과 영문 자판이 변환 되기를 원할 것이다. 다만, 내 경우는 아래의 이미지와 같이 “control” 버튼과 “command” 버튼의 기능을 서로 바꾸어 사용하고 있기 때문에 “right-command” 버튼이 아닌 “right-control” 버튼을 특정 Function 버튼에 맵핑해 주어야 한다.
즉, 내 맥북 프로의 오른쪽 “command” 버튼은 “command” 버튼으로 동작하는 것이 아니고 “control” 버튼으로 동작한다. 따라서, hidutil key mapping generator의 “from key” 항목에 “right-control”을 선택하고, “to key” 항복에 “F18″을 선택하면 최종적으로 아래와 같은 결과물이 얻어진다.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.local.KeyRemapping</string> <key>ProgramArguments</key> <array> <string>/usr/bin/hidutil</string> <string>property</string> <string>--set</string> <string>{"UserKeyMapping":[ { "HIDKeyboardModifierMappingSrc": 0x7000000E4, "HIDKeyboardModifierMappingDst": 0x70000006D } ]}</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
맥북 프로 자판의 command (right-control) 버튼을 F18로 할당해 보자
터미널 창을 열고 아래와 같이 진행해 보자
- cd ~/Library/LuanchAgnets/ 로 이동한다.
- vi 편집기 등을 이용해서 “com.local.KeyRemapping.plist”라는 파일을 만들고, 위의 결과물을 복사해서 붙여넣고 저장한다.
맥북을 리부팅 한 후에, “시스템 설정” → “키보드” → “키보드 단축기” → “입력 소스”로 이동하여 “이전 입력 소스 선택”의 “^스페이스” 부분을 더블클릭한 후에 맥북 키보드의 오른쪽 “command” 버튼을 누른다. 이후, 아래 그림과 같이 “^스페이스” 대신에 “F18″이 표시되면 모든 설정이 마무리 된 것이다.
맥북을 재부팅 시키고, 오른쪽 “command” 버튼으로 한/영 자판이 변환되는지 확인해 보자
“이전 입력 소스 선택” vs. “입력 메뉴에서 다음 소스 선택”
입력소스 변환에서 오른쪽 “command” 버튼의 기능을 “이전 입력 소스 선택” 대신에 “입력 메뉴에서 다음 소스 선택”을 맵핑해도 된다. 나의 경우는 한글, 영어 뿐만 아니라 일어와 중국어 자판의 4가지 자판을 활성화 해 놓은 상태이다.
“이전 입력 소스 선택”에 “F18″을 할당하는 경우, 한글 자판을 사용하다가 오른쪽 “command” 버튼을 누르면 영문 자판으로 변환되고, 다시 한번 “command” 버튼을 누르면 한글자판으로 변경된다. 즉, 한글과 영문이 연속해서 토글 동작하게 된다.
만약 “입력 메뉴에서 다음 소스 선택”에 “F18″을 할당하는 경우에는 오른쪽 “command” 버튼을 누를 때마다 한국어 → 영어 → 일본어 → 중국어 → 다시 한국어의 순서로 자판이 변경되게 된다. 따라서, 한글과 영문 자판만을 사용하는 경우라면 “F18″을 “이전 입력 소스 선택”에 할당하던 “입력 메뉴에서 다음 소스 선택”을 할당하던 자판이 변경되는 결과는 동일할 것이다.
3가지 이상의 언어 자판을 전환해야 하는 경우
3가지 이상의 언어를 전환하면서 자판을 선택하기 위해서 가장 간단한 방법은 “시스템 설정” → “키보드” → “fn 키를 누를 때 실행할 동작” 항목을 “입력 소스 변경”으로 선택하는 것이다. 아래는 fn 키를 “입력 소스 변경” 기능으로 지정한 결과를 보여준다.
이후, fn 버튼을 누를 때마다, 한국어 → 영어 → 일본어 → 중국어 → 다시 한국어의 순서로 자판이 전환되는 것을 확인할 수 있을 것이다.
짧은 우여곡절 끝에 자판이 매끄럽게 변환되는 것은 확인됐지만, 내 맥북 프로의 부팅 문제는 여전히 남아 있는 상태이다. 내 맥북의 하드웨어적인 문제가 아니길 또한, 꼭 해결방법을 찾아낼 수 있기를 간절히 기대해 본다.