Skip to content

Instantly share code, notes, and snippets.

@ksundong
Last active March 30, 2023 01:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ksundong/7fa467f54b19e5cc2797993e21c61ff6 to your computer and use it in GitHub Desktop.
Save ksundong/7fa467f54b19e5cc2797993e21c61ff6 to your computer and use it in GitHub Desktop.
맥 오른쪽 커맨드를 한/영 변환으로 바꾸고 시스템 부팅시에도 유지하도록 설정
# /Users/Shared/bin 디렉토리를 만든다.
mkdir -p /Users/Shared/bin
# hidutil을 사용하여 키보드 매핑 속성을 설정한다. 오른쪽 Command 키를 F18키로 매핑한다.
printf '%s\n' '#!/bin/sh' \
'hidutil property --set '"'"'{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000e7,"HIDKeyboardModifierMappingDst":0x70000006d}]}'"'" \
>/Users/Shared/bin/userkeymapping
# /Users/Shared/bin/userkeymapping 파일의 권한을 변경하여 실행 가능하도록 만든다.
chmod 755 /Users/Shared/bin/userkeymapping
# userkeymapping.plist 파일을 작성한다. 이 파일은 매번 부팅시 /Users/Shared/bin/userkeymapping 파일을 실행하도록 설정한다.
sudo cat<<: >/Users/Shared/bin/userkeymapping.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>userkeymapping</string>
<key>ProgramArguments</key>
<array>
<string>/Users/Shared/bin/userkeymapping</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
:
# 생성된 userkeymapping.plist 파일을 /Library/LaunchAgents 디렉토리로 이동시킨다.
sudo mv /Users/Shared/bin/userkeymapping.plist /Library/LaunchAgents/userkeymapping.plist
# userkeymapping.plist 파일의 소유자를 root로 변경한다.
sudo chown root /Library/LaunchAgents/userkeymapping.plist
# launchctl을 사용하여 시스템 부팅시 userkeymapping.plist 파일을 로드한다.
sudo launchctl load /Library/LaunchAgents/userkeymapping.plist

설치방법

위 스크립트 실행 재부팅하면 적용됨

제거방법

sudo launchctl remove userkeymapping
rm -f /Library/LaunchAgents/userkeymapping.plist
rm -rf /Users/Shared/bin

재부팅 하면 적용해제됨

@ksundong
Copy link
Author

@ksundong
Copy link
Author

launchctl bootstrap 을 쓰라는데 모르겠군

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment