기본설정은 capslock 이 한/영 전환으로 설정되어 있지만, 저는 capslock 과 ctrl 을 스왑해서 사용하고 있습니다. 이로 인해 한/영 전환을 해야할때, 왼손새끼 손가락을 꿇어야 하는 모양새가 되었습니다. 이를 방지 하기 위해서 window 와 비슷하게 오른쪽 command key 를 변경하여서 사용하기로 했습니다.

일시적 설정

재부팅하면 재입력 하여야 합니다.

$ hidutil property --set '{"UserKeyMapping":[
{
"HIDKeyboardModifierMappingSrc": 0x7000000E7,
"HIDKeyboardModifierMappingDst": 0x70000006D
}
]}'

영구적 설정

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

<?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": 0x7000000E7,
              "HIDKeyboardModifierMappingDst": 0x70000006D
            }
        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

![info] fish term 에서는 아래 명령어가 작동 안 할수 있음.

터미널에서 한방에 실행

파일생성

$ cat <<EOF >> com.local.KeyRemapping.plist
<?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": 0x7000000E7,
              "HIDKeyboardModifierMappingDst": 0x70000006D
            }

        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
EOF

맥 실행시 자동설정

$ mv com.local.KeyRemapping.plist ~/Library/LaunchAgents

~/Library/LaunchAgents는 맥이 실행될 때, 실행되는 프로그램입니다.

반응형

+ Recent posts