Karabiner-Elementsを使って、数字キーをテンキーの数字キーとして使う

Karabiner-Elementsの前身、Karabinerには、[Fn+Number to KeyPad]という設定があり、fnキーを押しながらQWERTY上部の数字キーを押すと、テンキーの数字キーを押したように“リマップ”することができました。

Karabiner-Elementsになって設定がなくなって困っていたのですが、次の記事を参考に実装することができました。

何が嬉しいの?

数字キーをテンキーの数字キーとして扱うねらいは次の2つです。

  • [A]InDesignなど、キーボードショートカットにテンキーの数字キーが必要なアプリケーションで、ラップトップでも作業できる
  • [B]入力モードが日本語のまま、数字や記号を入力できる

[A]に関しては、Keyboard Maestroを使って実装することもできますが、意外に[B]が重宝します。

設定方法

設定を記述したjsonファイルを用意して、 '~/.config/karabiner/assets/complex_modifications'に置きます。

設定ファイル(json)のソースコードは末尾にあります。

  1. command + shift + Hキーでホームディレクトリーに移動
  2. 不可視ファイルを表示
  3. 「.config」→「karabiner」→「assets」→「complex_modifications」にjsonファイルを入れる
  4. Karabiner-Elementsを開き、「Complex Modifications」内に「"title": "Fn+Number to KeyPad"」で設定した名称が表示されるので選択する

記号類(1)

さらに、次のように設定。

  • fn + `(バッククオート):0
  • fn + -:-
  • fn + =:=
  • fn + .:.
  • fn + /:/
  • fn + ':*

記号類(2)

さらに「,」もカバーしたいところ。しかし「,」は、USキーボードのテンキーに「,」がないため、Karabiner-Elementsでは実装できません。

そこで、BetterTouchToolで実装。「fn + ,」で「,」が入力されるように設定します。

「Insert / Type / Paste Custom Text」を使います。

ポイントは「Insert Text by Typing」を使うこと。デフォルトの「Insert Text by Pasting」だと、入力モードが日本語に切り替わってしまうんです。

記号類(3)

「=」や「+」も使用頻度の高い文字です。

「=」はExcelで計算式をスタートするときに使いますので、デフォルトのまま使うことにして、「fn + shift + =キー」で「+」が入力されるように、BetterTouchToolの「Insert Text by Typing」で設定。

jsonファイル(の中身)


{
  "title": "Fn+Number to KeyPad",  
  "rules": [
    {
      "description": "Fn+Number to KeyPad",
      "manipulators": [
        {
          "from": {
            "key_code": "grave_accent_and_tilde",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_0"
            }
          ],
          "type": "basic"
        },
 {
          "from": {
            "key_code": "0",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_0"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "1",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_1"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "2",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_2"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "3",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_3"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "4",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_4"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "5",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_5"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "6",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_6"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "7",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_7"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "8",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_8"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "9",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_9"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "hyphen",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_hyphen"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "equal_sign",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_equal_sign"
            }
          ],
          "type": "basic"
        },
{
          "from": {
            "key_code": "slash",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_slash"
            }
          ],
          "type": "basic"
        },



{
          "from": {
            "key_code": "quote",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_asterisk"
            }
          ],
          "type": "basic"
        },
        {
          "from": {
            "key_code": "period",
            "modifiers": {
              "mandatory": [
                "fn"
              ],
              "optional": [
                "any"
              ]
            }
          },
          "to": [
            {
              "key_code": "keypad_period"
            }
          ],
          "type": "basic"
       }      ]
    }
  ]
}