-
맥에서 한/영키 사용하여 입력 소스 전환하기iOS 2025. 2. 13. 01:56반응형
Right Alt 키를 한/영 전환 키로 쓰기 위해 다른 키로 따로 매핑해주고자 한다.
명령 입력
터미널에 입력할 전체 명령어는 다음과 같다.
cat <<EOF > ~/mapping-info <?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": 0x7000000E6, "HIDKeyboardModifierMappingDst": 0x70000006D } ]}</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> EOF sudo mv ~/mapping-info /Library/LaunchAgents/com.local.KeyRemapping.plist launchctl bootstrap gui/$(id -u) /Library/LaunchAgents/com.local.KeyRemapping.plist
이후 시스템 설정 -> 키보드 -> 키보드 단축키 -> 입력 소스 -> 이전 입력 소스 선택 란을 더블 클릭하여 수정 상태로 만든 후, 한/영(Right Alt) 키를 눌러준 다음 완료 버튼을 누르면 된다.
plist 파일 코드는 여기서 받았다. (right_option -> f18)
기본적으로 Right Alt 키를 이전 입력 소스 선택에서 단독으로 누를 수 없게 돼있기 때문에..
hidutil 앱을 통해 Right Alt 키(0xE6)를 안 쓰는 키(F18 키; 0x6D)로 바꿔주는 내용이다.
LaunchAgent를 통해 부팅될 때마다 알아서 실행되도록 해준다.
load는 더 이상 사용되지 않는다고 하니 bootstrap을 사용하여 서비스를 등록해준다.
적용 해제
아래 명령어를 입력해서 시스템 설정 및 파일을 제거하고,
launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.local.KeyRemapping.plist sudo rm /Library/LaunchAgents/com.local.KeyRemapping.plist
시스템 설정 -> 키보드 -> 키보드 단축키 -> 입력 소스 탭으로 들어간 후 기본값 복원을 눌러 초기 설정 값으로 바꿔준다.
참고로 LaunchAgent가 이미 실행 중인 상태에서 또 실행시키면 에러 난다. (Bootstrap failed: 5: Input/output error)
잘 실행되고 있는지는 다음 명령어를 통해 확인할 수 있다.launchctl list | grep KeyRemapping
위에서 설정한 Label 값(com.local.KeyRemapping)이 출력되지 않았다면 실행이 제대로 되지 않은 것이다.
참고.https://hidutil-generator.netlify.app/
https://developer.apple.com/library/archive/technotes/tn2450/_index.html
https://support.apple.com/ko-kr/guide/terminal/apda49a1bb2-577e-4721-8f25-ffc0836f6997/mac
반응형'iOS' 카테고리의 다른 글
Invalid Provisioning Profile Signature (Error 90165) (0) 2022.04.13 TestFlight 내부 테스터 추가 안 되는 문제 (No Builds Available) (0) 2022.04.13 iOS WKWebView 파일 다운로드 및 파일 미리보기 (Objective-C) (0) 2022.04.10 iOS Firebase 푸시 알림이 안 오는 문제 (didFailToRegisterForRemoteNotificationsWithError null) (0) 2022.04.10 M1 환경에서 발생하는 pod install error 해결 (0) 2022.04.10