커맨드 라인에서 미션 컨트롤 단축키를 어떻게 변경합니까? Ctrl+ …. 예를 들어, 기본값은 Ctrl+

나는 이것을 오랫동안 알아 내려고 노력했다. 꽤 일반적인 Mac OS 프로비저닝 스크립트가 있습니다.

https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1

내가 할 모든 미션 컨트롤 단축키를 변경하려면 Ctrl+ Alt+ ...대신 Ctrl+ .... 예를 들어, 기본값은 Ctrl+ Up입니다. Mission Control을 활성화합니다. 현재 단축키가 내가 사용하는 다른 프로그램과 충돌하기 때문에 이것을 Ctrl+ Alt+ 로 변경 Up하고 싶습니다.

나는 이것을 통해이 작업을 수행하는 방법을 이미 알고 System Preferences > Keyboard > Shortcuts있으며 스크립트 가능한 명령 줄 솔루션을 찾고 있습니다.

편집 : @ user3439894 덕분에 모든 plist 키를 원하는대로 변경하는 스크립트를 작성했습니다. 유일한 문제는 작동하지 않는다는 것입니다. 🙁

여기 내가 지금까지 가지고있는 것입니다 :

#!/bin/bash
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 32 "{enabled = 1; value = { parameters = (65535, 126, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 33 "{enabled = 1; value = { parameters = (65535, 125, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 34 "{enabled = 1; value = { parameters = (65535, 126, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 35 "{enabled = 1; value = { parameters = (65535, 125, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 79 "{enabled = 1; value = { parameters = (65535, 123, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 80 "{enabled = 1; value = { parameters = (65535, 123, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 81 "{enabled = 1; value = { parameters = (65535, 124, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 82 "{enabled = 1; value = { parameters = (65535, 124, 3014656); type = standard; }; }"
chown -Rf `whoami` ~/Library/Preferences/com.apple.symbolichotkeys.plist;
defaults read com.apple.symbolichotkeys



답변

여기에 제시된 정보가 귀하가 직접 답변을 얻는 데 도움이되기를 희망하지만 이것은 직접적인 답변이 아닙니다.

Mission Control의 기본 키보드 바로 가기를 Control-Up Arrow에서 Control-Option-Up Arrow로 변경할 때 어떤 파일에서 어떤 변경 사항이 있는지 알려줄 수 있습니다. 파일의 “32”사전의 “값”사전 및 “AppleSymbolicHotKeys”사전의 “34”사전에있는 “parameters”배열의 “항목 2 숫자”입니다 /Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist.

위의 정의 된 환경에서 작성된 변경 사항과 관련된 파일 구조 의 defaults read표현은 다음과 같습니다 com.apple.symbolichotkeys.plist.

기본 Control-Up Arrow를 사용한 미션 컨트롤

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2359296
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2490368
                );
                type = standard;
            };
        };
    };
}

미션 컨트롤이 Control-Option-Up Arrow로 변경되었습니다.

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2883584
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    3014656
                );
                type = standard;
            };
        };
    };
}

매뉴얼 페이지 의 버그 섹션은 다음과 defaults같습니다.

기본값은 매우 복잡한 방식으로 구성 될 수 있으므로이 명령으로 사용자가 입력하기가 어렵습니다.

그리고 이것은 defaults가능한 경우 대상 배열 요소에 대상 값을 쓰는 데 사용하는 매우 복잡한 명령 줄이기 때문에 완벽한 예 입니다. 참고로 … defaults write com.apple.symbolichotkeys ...명령 을 수행 하려면 먼저 대상 파일을 백업했는지 확인하십시오.

다른 옵션은 시스템 환경 설정 GUI를 탐색하여 AppleScript를 사용하여 설정을 변경하는 것이며 여기에 대상이 아닌 최상위 레벨 오브젝트를 설정하는 것과 비교하여 약간 복잡합니다. 나는 그것이 가능한지 확실하지 않지만 자동화 된 방법이 필요하다면 그것을 알아낼 것입니다. 그러나 두 방법 중 하나를 알아낼 시간이 없습니다. 죄송합니다.

최소한 이제 어디에서 어떤 변화가 있었는지 스스로 알 수 있거나 조금 더 알면 추가 도움을 얻을 수 있습니다.

다음은 com.apple.symbolichotkeys.plist파일의 Xcode에서 잘린 이미지입니다 .

여기에 이미지 설명을 입력하십시오

BTW 필자는 파일 시스템 변경을 기록한 타사 유틸리티를 사용하여 변경 사항을 포착 한 다음 해당 정보를보다 읽기 쉬운 출력으로 변환하여이 정보를 제공했습니다.


답변

이것이 나의 추천이다 : Karabiner 와 같은 유틸리티를 사용하여 그러한 커스터마이즈를 달성한다.

개발자로서 개인적으로 매력적이고 열광적 인 문제라고 생각하며 소프트웨어 개발자와 해커만이 진정으로 이해할 수있는 맥 OS의 못생긴 어두운면을 실제로 보여줍니다 …

문제는 충분히 간단 합니다. 기본 키 조합을 내 바인딩에 다시 매핑하고 싶습니다.

지구상에서 왜 그렇게 어렵거나 복잡합니까? 해결책을 찾고 게시하려고합니다 … 계속 지켜봐 주시기 바랍니다.


답변