약 4분

맥OS 한영전환 빠르게 하기

hidutil 한입?
맥OS 한영전환 빠르게 하기
Photo by Mika H. Laybourn / Unsplash

서론

키보드 왼쪽 중앙에는 사용 빈도와 필요성에 비해 지나치게 좋은 위치를 차지하고 있는 Caps Lock 키가 있다. 그래서인지 키보드 입력 언어(Input Source)를 여러 개 사용할 경우, 맥OS에서는 기본적으로 이 Caps Lock 키를 통해 언어 전환이 가능하도록 설정되어 있다.

A 키와 caps lock 키를 짧은 간격으로 번갈아가며 눌렀을 때 타이핑 된 글자들

문제는 이 Caps Lock을 통한 키보드 언어 전환이 꽤 불편하다. 전환에 약간의 딜레이가 있을 뿐 아니라, 심지어는 한번씩 입력이 씹혀서 전환이 안될 때도 있다.

해결 방법

키보드의 Caps Lock에 일반적으로 사용되지 않는 키(F18, F19, ...)를 매핑해두고, 설정의 키보드 단축키에서 Select next source in Input Menu에 대한 단축키를 해당 키로 바꿔주면 된다.

Caps Lock 키에 매핑을 변경하기 위해 karabiner라는 프로그램을 활용하는 방법도 있지만, 개인적으로 키 하나 때문에 별도의 프로그램을 설치하고 싶지는 않아서 맥OS 내장 프로그램인 hidutil을 사용하고 있다.

언젠가 한번쯤은 "그때 그거 어떻게 했더라?" 싶을 때가 생길 것 같아서, 적용 과정을 기록해두려 한다:


  1. 먼저 Caps Lock 키에 F19를 매핑시키기 위한 스크립트를 작성해야 한다.
    아래 코드를 그대로 복사해서 사용해도 되고, hidutil generator 사이트에서 원하는 키를 선택해 스크립트를 생성해도 된다.
<?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": 0x700000039,
              "HIDKeyboardModifierMappingDst": 0x70000006E
            }
        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

com.local.KeyRemapping.plist 파일로 저장

  1. com.local.KeyRemapping.plist 파일을 ~/Library/LaunchAgents 경로로 옮긴다.
    처음부터 해당 경로에 파일을 생성해도 무방하다.
  2. 재부팅 없이 변경사항을 바로 적용해주기 위해 터미널에서 launchctl load ~/Library/LaunchAgents/com.local.KeyRemapping.plist를 실행한다.
  3. 마지막으로 설정 -> 키보드 단축키 -> Input Sources에 가서 Select next source in Input Menu 의 기본 단축키인 control + option + space를 더블클릭한 다음 Caps Lock 키를 입력하면, 단축키가 F19로 변경되는 것을 확인할 수 있다.
Select the previous input source는 약간의 딜레이가 있기 때문에,
아래쪽에 있는 Select next source in Input menu 사용!

요약

  1. com.local.KeyRemapping.plist 파일 만들기
  1. ~/Library/LaunchAgents 경로에 저장하기 (재부팅 시에도 적용될 수 있도록)
  2. launchctl load ~/Library/LaunchAgents/com.local.KeyRemapping.plist 실행하기
    (로그인 아이템 등록)
로그인 아이템 등록을 해제하려면:
launchctl unload ~/Library/LaunchAgents/com.local.KeyRemapping.plist

마무리

키씹힘 없이, 한영전환 아주 빠르게 잘 된다!

aㅁaㅁaㅁaㅁaㅁaㅁaㅁaㅁaㅁaㅁ