위 스크립트 실행 재부팅하면 적용됨
sudo launchctl remove userkeymapping
rm -f /Library/LaunchAgents/userkeymapping.plist
rm -rf /Users/Shared/bin
재부팅 하면 적용해제됨
# /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 |
launchctl bootstrap 을 쓰라는데 모르겠군
출처: https://www.clien.net/service/board/cm_mac/15105447
설명: ChatGPT