본문 바로가기
Mac

[macOS] 한영변환 단축키: shift+space

by ds31x 2024. 5. 22.

현재 macOS14 Sonoma에서 GUI를 통해 입력소스 변경이 가능한데, shift+space 조합으로 변경이 되질 않는다
(GUI상에선 system Settings.app > Keyboard > Keyboard Shortcuts. 로 가서 좌측의 InputSources 를 선택하여 원하는 방법을 고름)

이를 위해선 약간의 직접적인 파일 수정이 필요하다.

 

본론부터 말하면, 다음의 파일 수정을 통해 한영전환을 shift+space로 변경 가능함.

~/Library/Preferences/com.apple.symbolichotkeys.plist

  • ~: 사용자의 home directory를 의미함.
  • 위의 com.apple.symbolichotkeys.plist는 macOS에서 시스템 단축키 설정을 저장하는 데 사용되는 binary file임.
  • 이 파일을 수정하여 특정 단축키를 사용자 지정할 수 있음.

문제는 text file이 아닌 binary file이기 때문에

편집을 위해선 vs code 등의 에디터를 사용하던지,

plutil을 통해 text XML형식으로 변환해야 한다.

  • vscode나 xcode 등 .plist 편집이 가능한 에디터가 있다면 그대로 열어서 편집하고,
  • 아니라면, plutil을 통해 변환한다 (변환 전 만일을 위해 백업 파일을 남길 것).
  • 변환한 경우엔, vi 등으로 편집할 수 있다.

다음은 변환을 위한 명령어 사용예임.

cp ~/Library/Preferences/com.apple.symbolichotkeys.plist ~/Library/Preferences/com.apple.symbolichotkeys.plist.backup
plutil -convert xml1 ~/Library/Preferences/com.apple.symbolichotkeys.plist
vim ~/Library/Preferences/com.apple.symbolichotkeys.plist

 

해당 설정 파일에서

<key>60</key> 부분 중 parameters의 첫번째 item이 <integer>32</integer>인 부분을 찾아

다음과 같이 편집.
(세번째 item을 수정해줘야 한다.)

<key>60</key>
<dict>
    <key>enabled</key>
    <true/>
    <key>value</key>
    <dict>
        <key>type</key>
        <string>standard</string>
        <key>parameters</key>
        <array>
            <integer>65535</integer>
            <integer>49</integer>
            <integer>131072</integer>
        </array>
    </dict>
</dict>
  • <key>60</key>:
    • "이전 입력 소스 선택" 기능을 수행하는 키 식별코드는 60임.
    • 참고로 61은 "다음 입력 소스 선택"키임.
  • <key>enabled</key><true/>:
    • 이 기능이 활성화 여부!
    • <true/>로 활성화 된 상태임.
  • <key>type</key><string>standard</string>:
    • 표준 단축키 유형임을 의미함.
  • <key>parameters</key>:
    • 내부의 <array>를 통해 단축키 매개변수를 정의.
    • <integer>32</integer>: 키보드 이벤트임을 나타내는 예약된 값.
      • 참고로 <integer>65535</integer>: 특수키 또는 이벤트소스임을 나타내는 예약된 값임.
    • <integer>49</integer>: Space 키의 키코드.
    • <integer>131072</integer>: Shift 키의 수정 키 값.

편집 이후 저장하고 다시 원래의 binary format으로 변환해야 함.
(vs code나 xcode사용한 경우엔 그대로 저장하면 됨.)

 

다음은 text file로 변환한 경우 다시 binary로 변경하는 명령어예임.

plutil -convert binary1 ~/Library/Preferences/com.apple.symbolichotkeys.plist

 

변경사항 적용을 위해서 macOS를 다시 시작하거나 로그아웃 후 다시 로그인을 수행한다.


추가

찾아보니 defaults라는 command로도 설정가능하다고 함.

defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 60 "<dict><key>enabled</key><true/><key>value</key><dict><key>type</key><string>standard</string><key>parameters</key><array><integer>65535</integer><integer>49</integer><integer>131072</integer></array></dict></dict>"