Caps lock을 Escape와 Control 모두에 다시 매핑하는 방법


22

나는 일반적으로 리눅스를 운영한다. Vim을 많이 사용하므로 Esc 키가 매우 중요합니다. 또한 다른 키보드 단축키를 많이 사용하므로 Control도 "키"입니다. Linux에서는 xcape 를 사용 하여 Caps lock 키를 Escape로 직접 매핑하거나 다른 키와 함께 누르면 Control로 매핑 하여이 문제를 해결했습니다 . 이것은 내 새끼 손가락의 빠른 도달 범위 내에서 두 세계의 최고를 넣습니다. Mac에서이 작업을 수행 할 수있는 방법이 있습니까?

답변:


19

, Karabiner (이전의 KeyRemap4Macbook)를 사용 합니다.

먼저 키보드 환경 설정 패널로 가서 "Modifier Keys ..."를 클릭하고 Caps Lock을 Control로 변경하십시오. 그런 다음 Karabiner로 이동하여이 옵션을 검색하십시오.

Control_L에서 Control_L로
      (Control_L 만 입력하면 이스케이프 전송)

확인하고 완료했습니다. Karabiner를 사용하면 더 많은 키 바인딩을 사용하여 (현재 쓸모없는) 이스케이프 키를 하이퍼 키에 매핑하는 것과 같이 훨씬 더 흥미로운 일을 할 수 있습니다.


esc를 caps lock에 다시 매핑하고 map caps lock을 제어하고 탈출 할 수 있습니까? 언젠가는 긴 대문자 문자열을 입력하기 위해 caps lock을 사용해야 할 필요가 있다고 생각합니다.
Aaron Shen

Karibiner는 OSX 키보드 환경 설정에서 Caps Lock을 "No Action"으로 변경하고 (제어로 설정하는 대신) Karabiner의 자매 프로그램 인 Seil을 사용하여 다시 매핑하도록 지시합니다. 위의 답변의 마지막 부분 (Control_L 만 입력하면 +)은 여전히 ​​Karabiner에서 수행됩니다.
ScoBe

@AaronShen은 이스케이프를 caps lock ;-)에 다시 매핑합니다.
Ven

@ScoBe 저는 그렇게하지 않는 것이 좋습니다. 실제로 Seil이 필요하지 않습니다.
Ven

Karabiner의 Key Overlaid Modifier> Timeout 매개 변수를 1000ms 에서 200ms로 줄이는 것이 좋습니다 . 열쇠를 잡고 마음을 바꿔 놓으면 탈출을 피하고 싶지 않습니다.
joeytwiddle

16

Karabiner는 현재 MacOS Sierra와 호환되지 않습니다. Sierra 친화적 인 또 다른 솔루션은 Keyboard Maestro를 사용하는 것입니다 (무료는 아님). 다른 사람들이 제안한대로 Caps-Lock 키의 동작을 Control through System Preferences-> Keyboard-> Modifier Keys로 변경하십시오 .

그런 다음 Keyboard Maestro에서 다음과 같이 매크로를 설정하십시오.

  • 발동되다 USB Device Key Trigger
  • 키보드에서 Caps-Lock 키를 누릅니다
  • 한 번 두드리다
  • 이 수정 자와 함께 : ^
  • (사용하는 각 USB 키보드에 대해 이전 트리거를 반복해야합니다)
  • 그런 다음 액션을 추가하십시오 Text->Type a keystroke
  • Esc를 누르십시오

1
분명히 말하자면 , Sierra에서 실행되는 Karabiner Elements 라는 프로젝트 가 있습니다 (Sierra에서 실행되는 Karabiner 버전의 선구자 임). 나는 그것을 시도하지 않았 으므로이 기능을 사용할 수 있는지 여부를 모르겠습니다.
tubedogg

5
Karabiner-Elements는 아직 수정 자 키 탭에서의 동작을 지원하지 않습니다.
grookfully

이 옵션 '이 수정 자와 함께 : ^' ^는 동작을 트리거하기 위해 capslock과 함께 눌러야합니다. 질문에 필요한 것은 아닙니다.
defhlt

먼저 시스템 환경 설정을 통한 제어처럼 Caps-Lock을 제어하도록 변경했기 때문에 KM은 Control 키를 누른 상태에서 USB 이벤트를 확인합니다. ^수정자를 생략하면 작업이 트리거되지 않습니다.
grookfully

키보드 마에스트로 경로를 사용하는 경우 이스케이프 키를 Caps Lock에 매핑하여 Caps Lock 기능을 다시 사용할 수있는 방법이 있습니까? 나는 ctrl과 escape로 caps lock을 좋아합니다.
크 바스

1

macOS 10.12 이상을 지원하는 Karabiner Elements를 사용 하려면를 열고 배열에 ~/.config/karabiner/karabiner.json다음 규칙을 추가하십시오 rules.

{
  manipulators: [
    {
      description:
        "Change caps_lock to control when used as modifier, escape when used alone",
      from: {
        key_code: "caps_lock",
        modifiers: {
          optional: ["any"]
        }
      },
      to: [
        {
          key_code: "left_control"
        }
      ],
      to_if_alone: [
        {
          key_code: "escape",
          modifiers: {
            optional: ["any"]
          }
        }
      ],
      type: "basic"
    }
  ]
}

Hammerspoon 과 함께 ControlEscape.spoon 을 사용해 볼 수도 있습니다 .


to_if_alone섹션 에서 수정 자 (키워드 및 모두)를 제거하지 않으면이 기능을 사용할 수 없습니다 . 그러나 스 니펫에 감사드립니다. 매우 유용합니다.
Michael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.