【Karabiner-Elements】任意の文字列を普段使わないキーから入力できるようにしてみた!-

今回は「Karabiner-Elements」を使って、特定のキーを「任意の文字列」に変更する方法を紹介します。

 

insertやhomeキーなど、普段使わないようなキーを入力することで、自分で設定した文字列を入力できるようになるので、頻繁に使うテキストがある方にオススメです。

はじめに

 

今回紹介する内容は「Karabiner-Elementsを使ってキーを文字列(テキスト)に変換させる方法」です。

キーを文字列に変えることで、「insertキー」を押したときに「クリアメモリ」と入力させることもできるので、頻繁に使うけど入力が面倒な時に便利でした。

 

以前、5ボタンマウスをお絵かき時に便利な「左手デバイス」にする方法も紹介しているので、あわせてチェックしてみてください。

 

 

Karabiner-Elementsをインストール

 

Karabiner-Elementsをまだインストールしていない方は、こちらからダウンロードしましょう。

すでに導入が完了している方は飛ばしてOK

GitHub - tekezo/Karabiner-Elements: Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.

 

リンク先からダウンロードした「Karabiner-Elements」をインストールすると、Macのメニューバー(ステータスバー)に四角いアイコンが表示されたと思います。

これだけでインストールは完了です。

 

機能させるデバイスを選択

 

Karabiner-Elementsは、特定のデバイスだけをカスタマイズすることも可能。

もちろん全てのキーボードで入力を変更したい場合は、特に設定不要です。

 

Karabiner-Elementsのアイコンから「Preferences...」を選択してください。

 

20180227083051

 

以下のようなウィンドウが表示されるので、上部の「Devices」をクリックします。

 

20180227083103

20180227083127

 

接続済みのデバイスが表示されるので、Karabiner-Elementsを有効化したいキーボードにチェックを入れましょう。

これで、設定したキーボード以外は、普通のキーが入力されます。

 

complex_modificationsを開く

 

続いて、Karabiner-Elementsの設定を追加するフォルダを開きましょう。

ターミナル(Mac標準搭載アプリ)を開き、以下のように入力してください。

 

sudo open ~/.config/karabiner/assets/complex_modifications

 

パスワードを求められるので「Macのロック解除に使うパスワード」を入力しましょう。

うまくいくと「complex_modifications」というフォルダが表示されたはずです。

 

この中に、設定ファイルを追加していくわけですね。

 

設定ファイルを作成

 

Karabiner-Elementsの設定ファイルを作成する場合、テキストエディタがあると便利です。

私が使用しているアプリケーションは「Brackets

 

Bracketsを起動し「Command + N」を押すと、新しいファイルが作成されます。

 

20180302080118

 

Command + Sを押すと保存先とファイル名を設定する画面が表示されるので、以下を参考に作成しましょう。

 

  1. 保存先は「complex_modifications
  2. ファイル名はわかりやすいもの

 

complex_modificationsフォルダが見つからない場合は、一度別の場所に保存した後で、ファイルを移動するとスムーズにいくかもしれませんね。

今回は「ins_text.json」というファイルを作成してみました。

 

20180302080148

 

insertを文字列に変更

 

では実際に、Karabiner-Elementsの設定を記述していきましょう。

今回は「Insertキー」を押すと「クリアメモリ」と入力されるようにしてみました。

 

実際のコードがこちら!

 

{
  "title": "Insertキーを文字列に変換",
  "rules": [
  {
    "description": "クリアメモリ",
    "manipulators": [
    {
      "from": {
        "key_code": "insert"
      },
      "to": [
        {"key_code": "lang1"},
        {"key_code": "k"},
        {"key_code": "u"},
        {"key_code": "r"},
        {"key_code": "i"},
        {"key_code": "a"},
        {"key_code": "m"},
        {"key_code": "e"},
        {"key_code": "m"},
        {"key_code": "o"},
        {"key_code": "r"},
        {"key_code": "i"},
        {"key_code": "spacebar"},
        {"key_code": "return_or_enter"}
      ],
      "type": "basic"
    }
    ]
  }
  ]
}

 

コードの流れとしては

 

  1. insertキーの入力を検知
  2. 入力を日本語に
  3. クリアメモリ(ローマ字)を順に入力
  4. スペースでカタカナに
  5. エンター(リターン)キーで確定

 

こんな感じになっています。

実際には「高速でタイピング」しているような感じですね。

 

"key_code": "XXX"」を複数記述することで、キーを順番に入力できるようになります。

極端な話をすると、アルファベットの「A~Z」までを一瞬で入力することもできちゃうってことです。

 

Shift + 〇〇の場合

 

設定したい文字列が、必ずしもアルファベットで入力するとは限りませんよね。

次は「HelloWorld」のように「大文字」が入っている文字列を入力する方法を紹介します。

 

先ほどと同じようにファイルを新規作成するか、先ほど作成した「ins_text.json」にコードを追加しましょう。

以下のようになりました。

 

{
  "title": "Insertキーを文字列に変換",
  "rules": [
  {
    "description": "クリアメモリ",
    "manipulators": [
    {
      "from": {
        "key_code": "insert"
      },
      "to": [
        {"key_code": "lang1"},
        {"key_code": "k"},
        {"key_code": "u"},
        {"key_code": "r"},
        {"key_code": "i"},
        {"key_code": "a"},
        {"key_code": "m"},
        {"key_code": "e"},
        {"key_code": "m"},
        {"key_code": "o"},
        {"key_code": "r"},
        {"key_code": "i"},
        {"key_code": "spacebar"},
        {"key_code": "return_or_enter"}
      ],
      "type": "basic"
    }
    ]
  },
  {
    "description": "HelloWorld",
    "manipulators": [
    {
      "from": {
        "key_code": "insert"
      },
      "to": [
        {"key_code": "lang2"},
        {"key_code": "h",
        "modifiers": "left_shift"},
        {"key_code": "e"},
        {"key_code": "l"},
        {"key_code": "l"},
        {"key_code": "o"},
        {"key_code": "w",
        "modifiers": "left_shift"},
        {"key_code": "o"},
        {"key_code": "r"},
        {"key_code": "l"},
        {"key_code": "d"}
      ],
      "type": "basic"
    }
    ]
  }
  ]
}

 

「h」と「w」を入力するときだけ「Shiftキー」を一緒に入力するようにしてみました。

同じ方法を使えば、htmlのタグやプログラムを入力させることも可能です。

 

Karabiner-Elementsでルールを追加

 

最後に、作成した「ins_text.json」をKarabiner-Elementsで有効化していきましょう。

Karabiner-Elementsの「Preferences...」から「Complex Modifications」という項目を選択してください。

 

20180227083923

 

右下の「Add rule」をクリックすると、先ほど作成した「ins_text.json」のルールが表示されていると思います。

 

20180302080303

 

ここから、Insertを押したときに入力したいルールを有効化(Enable)しましょう。

設定したルールが表示されていたら、Insertキーが変換されているはずです。

 

20180302080323

 

うまくいきましたか。

 

まとめ

 

今回紹介したように「Karabiner-Elements」を使えば、普段使わないキーをより便利に活用できるようになりました。

ちなみに私の場合、空白文字( )を設定してあります。

 

 

面倒なキー入力が便利になるので、ぜひ設定してみてください。

ではまた。

過去にレビューしたアイテム