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


1

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

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

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

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


관련 질문 에서 제공 한 솔루션 을 특정 앱으로 제한 할 수 있습니다 .
klanomath

@klanomath 비록 실용적이지는 않지만 작동 할 수 있습니다. 내가 원하는 동작은 PC 키보드의 cmd <-Ctrl <-로 작동하는 것입니다. 그건; 커서를 이전 단어로 이동시킵니다. ...
Utku

@klanomath ...이 동작이 텍스트 필드에서만 발생하기를 원하기 때문에 커서에 대해 이야기하고 있습니다. 이유는 예를 들어 Safari에서 cmd <-를 "이전 탭 표시"바로 가기로 사용하기 때문입니다.
Utku

@klanomath 내가 거기 같은 느낌이 일부 시스템 파일 및 물건하지만 문제가 덤비는에 의해 그것을 할 마법 수, 나는 그것을 할 나 정말 수하는 방법을 모르겠어요.
Utku

아마도 일부 시스템을 해킹해야 할 것입니다 (다음 시스템 업데이트로 덮어 쓸 수 있음). 모든 앱에서 솔루션이 필요하십니까? 나는 가장 문제가 응용 프로그램들이 그 단축키로 텍스트 필드뿐만 아니라 탭 / 창 탐색을 제공 할 수 있기 때문에 브라우저 생각
klanomath

답변:


1

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에 대한 심층적 인 안내서입니다 .


감사. 이 작업을 수행하여 정확히 내가하는 일을 이해하고 작동 방식을 이해할 수 있도록 링크를 게시 할 수 있습니까?
Utku

1
@Utku : 편집했습니다. 잘하면 그것은 도움이됩니다.
0942v8653


1
@ Utku : 그것을 시도하는 것 외에는 말할 수있는 실제 방법이 없습니다. 일반적으로 Mac 전용이거나 기본적으로 만들어진 앱은 Cocoa Text System을 사용해야하며 GTK + 또는 Qt를 사용하는 앱은 사용하지 않아야합니다. Firefox가 그것을 사용한다고 생각하지는 않지만 (GTK + 임) DefaultKeyBinding.dict를 작동시키기 위해서는 일종의 해결 방법이 있어야합니다.
0942v8653

1
@ Utku : 나는 정말로 모른다. 아마도 Cocoa Text System을 사용하지만 주소 표시 줄의 바로 가기를 재정의한다고 말하고 싶습니다 (완전히 비활성화하지는 않습니다. 기록에서 앞뒤로 탐색 할 수있는 설정이 없으며 편집 바인딩이 여전히 유효합니다. ).
0942v8653
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.