Karabiner를 사용하지 않고 키 조합을 변경하는 방법은 무엇입니까? 누를 alt←때마다

내가 사용하고 Karabiner을 키 조합을 변경할 수 있지만 원하는대로 문제가 정확히 작동하지 않습니다됩니다.

예를 들어, Karabiner를 사용하여, 나는 매핑 한 altcmd와 그 반대의 경우도 마찬가지입니다. 그러나 Karabiner가하는 일은 OS를 “트릭”하여 내가 누를 alt때마다 눌렀다 고 생각하게하는 것입니다 cmd.

이것은 내가 원하는 행동이 아닙니다. 내가 원하는 동작은 cmd <-를 누를 때마다 시스템이 실제로 눌렀다 고 생각하기를 원 cmd하지만 커서를 줄의 시작 부분으로 옮기는 대신 이전 단어로 옮기기를 원합니다.

이 작업은 일부 시스템 파일과 내용을 어지럽 힐 수 있습니까?



답변

DefaultKeyBinding.dict를 사용하여 Cocoa 앱의 텍스트 편집 바인딩을 변경할 수 있습니다. 이것은 ⌘ command+ ← left⌘ command+가 → right전에 작동했던 거의 모든 응용 프로그램에서 작동합니다 . (작동하지 않는 유일한 방법은 응용 프로그램 작성자가 바로 가기를 처음부터 다시 구현 한 경우입니다. 텍스트 필드와 함께 제공되는 버전을 사용하는 것이 훨씬 쉬울 것입니다.)

  1. 디렉토리 ~/Library/KeyBindings/가 존재하지 않으면 작성하십시오.

  2. 다음 DefaultKeyBinding.dict과 같은 내용으로 해당 디렉토리에 파일 을 작성하십시오 .

    {
        "@\Uf702" = moveWordBackward:;
        "@\Uf703" = moveWordForward:;
        "~\Uf702" = moveToBeginningOfLine:;
        "~\Uf703" = moveToEndOfLine:;
    }
    

    @, 명령 키를 참조하는 ~옵션이며, \Uf702왼쪽, 그리고 \Uf703오른쪽입니다. 오른쪽의 선택기는 기본 파일에서 사용 된 것과 동일 /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict하지만 질문에서 말한 것과 일치하도록 전환되었습니다.

  3. 변경 사항을 적용하려면 응용 프로그램을 다시 시작하십시오.

다음은 진행 상황을 설명하는 데 도움이되는 Cocoa Text System에 대한 심층적 인 안내서입니다 .