위 스크립트 실행 재부팅하면 적용됨
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