かすみん日記

暇なときに何か喋ります

【Mac Catalina】「⌘英かな」が不安定なので「Karabiner」を入れた

f:id:geniusium:20200913071401p:plain
Kanabiner-Elements

はじめに

US配列キーボードのMacBookを利用しているが、 日本語入力と英語入力の切り替えの専用キーがないので、 今までは「⌘英かな」アプリを使用して それぞれ左右のコマンドキー に変換キーを割り当てていた。

しかし、最近なんだか調子が悪く、「⌘英かな」が起動しているにも関わらず、たまに登録したキー設定が反応しなくなる。

アプリを再起動すれば治るのだが、自粛のストレス()からか、ついに堪忍袋の緒が切れた。

「⌘英かな」はもうやめて、代わりに「Karabiner」を使うことにする。

環境

  • MacOS (Catalina)
  • キーボード
    • MacBook(本体)
    • Magic Keyborad(純正のやつ)
  • アプリ
    • ⌘英かな ver.2.2.3
    • Karabiner-Elements version: 12.10.0

手順

Karabiner-Elements のインストール

下記の公式サイトからDLしてインスコ

karabiner-elements.pqrs.org

システムにセキュリティがどうのこうのと叱られるので、いろいろ許可してあげる。

Karabiner 初回起動

キーボード判別のためになんか指示されるので従う。

Karabiner でキー登録

ここでは、左右のコマンドキーを単体で押したとき、 英かなの入力切替を行うように設定する。

注:

  • 「Simple modifications」から単にキーの割り当てを設定してもいけそうだが、その場合「コマンドキー」を完全に「入力切替キー」に置き換えてしまうので、例えば cmd + C を入力しても「選択したテキストのコピー」ではなく、「入力切替キー + C」を入力しただけの意味になってしまう。
  • 「コマンドキー + 何か他のキー」が入力されたときには、普通にコマンドキーとして機能するように設定を行う。

設定を行うには、下記パスにある json ファイルを編集する;

~/.config/karabiner/karabiner.json

Karabiner-Elements Preferences ウィンドウの 「Misc」タブの右下にある「Export & Import」のところの 「Open config (~/.config/karabiner)」ボタンをクリックすれば、 Finder でそのディレクトリを開いてくれる。

この json ファイルをエディタで開いて、 以下で ココ!!! とコメントしてあるところの中に、これから設定を追加する;

{
  "global": {
      ...
  },
  "profiles": [
    {
      "complex_modifications": {
        "parameters": {
            ...
        },
        "rules": []          <-  ココ!!!
      },
      "devices": [],
      "fn_function_keys": [
          ...
      ],
      "name": "Default profile",
      "parameters": {
        "delay_milliseconds_before_open_device": 1000
      },
      "selected": true,
      "simple_modifications": [],
      "virtual_hid_keyboard": {
        "country_code": 0,
        "mouse_key_xy_scale": 100
      }
    }
  ]
}

上記 json ファイルの global > profiles > complex_modifications > rules の鍵括弧 [ ] の中に、以下のコードをコピペする;

{
  "description": "左右コマンドキーで英かな切替",
  "manipulators": [
    {
      "from": {
        "key_code": "left_command",
        "modifiers": {
          "optional": [
            "any"
          ]
        }
      },
      "to": [
        {
          "key_code": "left_command",
          "lazy": true
        }
      ],
      "to_if_alone": [
        {
          "key_code": "japanese_eisuu"
        }
      ],
      "type": "basic"
    },
    {
      "from": {
        "key_code": "right_command",
        "modifiers": {
          "optional": [
            "any"
          ]
        }
      },
      "to": [
        {
          "key_code": "right_command",
          "lazy": true
        }
      ],
      "to_if_alone": [
        {
          "key_code": "japanese_kana"
        }
      ],
      "type": "basic"
    }
  ]
}

全体で次のような構造になっていればOK;

{
  ...
  "profiles": [
    {
      "complex_modifications": {
        "parameters": {
            ...
        },
        "rules": [          // ココに設定を追加した
          {
            "description": "左右コマンドキーで英かな切替",
            "manipulators": [
              {
                ...
              },
              {
                ...
              }
            ]
          }
        ]
      },
        ...
    }
  ]
}

変更を保存すれば、自動で設定ファイルがリロードされるので、もうすぐに設定が反映されている。

左のコマンドキーで英語入力に、右コマンドキーで日本語入力に切り替わるように設定した。

別のキーと同時に入力された場合は、普通のコマンドキーとして機能する。

参考

他の設定をしたい場合は、公式のドキュメントを見るといい;

karabiner-elements.pqrs.org

今回で関係のあるところ;

「⌘英かな」はもう開発してないみたいなので、まだギリ使えるがここでオサラバする。 今までお世話になりました。

ei-kana.appspot.com