Karabiner-Elements에서 터미널 바로 가기를 비활성화합니다.

환경


  • macOS 10.14 (Mojave)
  • 터미널 앱 2.9.5

  • 문제



    US 키보드를 사용하고 있기 때문에, Karabiner-Elements를 사용해 여기의 Complex Modifications를 사용해 ⌘키의 단발 입력을 영수·가나 키로 바꾸고 있습니다만, 영수·가나 전환을 위해서⌘키를 눌렀을 때, 다음의 키 타입이 쓰여져, 터미널의 ⌘ 쇼트 컷이 잘못 발동해 버리는 문제에 고민하고 있었습니다.

    특히 잘못 발동하는 것이 ⌘T(신규 탭), ⌘D(페인 분할), ⌘W(윈도우 닫기)이었기 때문에, 이들을 무효화하는 Complex Modifications를 작성했습니다.

    절차



    새로운 Complex Modifications 만들기



    다음 파일을 $HOME/.config/karabiner/assets/complex_modifications/에 만듭니다.

    terminal-disable-shortcut.json
    {
      "title": "ターミナル設定",
      "rules": [
        {
          "description": "⌘T(新規タブ)の無効化",
          "manipulators": [
            {
              "type": "basic",
              "from": {
                "key_code": "t",
                "modifiers": {
                  "mandatory": [
                    "command"
                  ],
                  "optional": [
                    "caps_lock"
                  ]
                }
              },
              "conditions": [
                {
                  "type": "frontmost_application_if",
                  "bundle_identifiers": [
                    "^com\\.apple\\.Terminal$"
                  ]
                }
              ]
            }
          ]
        },
        {
          "description": "⌘D(ペインの分割)の無効化",
          "manipulators": [
            {
              "type": "basic",
              "from": {
                "key_code": "d",
                "modifiers": {
                  "mandatory": [
                    "command"
                  ],
                  "optional": [
                    "caps_lock"
                  ]
                }
              },
              "conditions": [
                {
                  "type": "frontmost_application_if",
                  "bundle_identifiers": [
                    "^com\\.apple\\.Terminal$"
                  ]
                }
              ]
            }
          ]
        },
        {
          "description": "⌘W(ウィンドウを閉じる)の無効化",
          "manipulators": [
            {
              "type": "basic",
              "from": {
                "key_code": "w",
                "modifiers": {
                  "mandatory": [
                    "command"
                  ],
                  "optional": [
                    "caps_lock"
                  ]
                }
              },
              "conditions": [
                {
                  "type": "frontmost_application_if",
                  "bundle_identifiers": [
                    "^com\\.apple\\.Terminal$"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
    

    Karabiner-Elements에 Complex Modifications 추가



    위의 파일을 만들면 Karabiner-Elements의 Complex Modificaitons 탭에서 Add rule 할 때 추가 한 3 개의 규칙을 가져올 수 있기 때문에 이것을 가져옵니다.







    터미널 앱에서 확인



    터미널 앱에서 ⌘T, ⌘D, ⌘W를 눌러도 아무것도 반응하지 않게 되어 있다(무효화)되어 있을 것입니다.

    주의



    이번 규칙은 터미널 앱에 대한 3개의 단축키(⌘T, ⌘D, ⌘W) 밖에 무효화하고 있으므로, iTerm 등 다른 앱을 사용하고 있는 경우나, 다른 단축키를 무효화하고 싶은 경우는 terminal-disable-shortcut.json 수정해야합니다. (키 코드와 앱의 Bundle Identifier 정도이므로, 보면 어쩐지 알 수 있다고 생각합니다.)

    도전



    바로 가기의 오작동은 이것으로 막을 것 같지만, 바로 가기를 무너뜨리는 회피책 밖에 없기 때문에, 실제로는 자작 키보드로 영수·가나 키 첨부의 반 US 키보드 따위 만들고 싶네요・・・(MacBook이라고 어째서 그렇지 않지만.)

    참고


  • karabiner.json Reference Manual - Karabiner - Software for macOS
  • 좋은 웹페이지 즐겨찾기