1️⃣

Macに論理テンキーを出現させた話【Karabiner】

2024/11/23に公開

こちらの記事を読んで、Vimで数字キー、今まで使ってこなかったと気づきました。
(https://minerva.mamansoft.net/📘Articles/📘AutoHotkeyが織りなすNeovimの魅力)

日常的にタイピングをする中でも、数字は使います。
ですが、ホームポジションから2個ぶん、動かさなければいけません。
そこで、簡単に数字が打てるように、テンキーを出現させました。

Karabiner Elementsとは

macでキー配列をカスタマイズできる、軽量なアプリ。
https://karabiner-elements.pqrs.org/

まず、fnを押しながら入力できるように

fnをおしながら、テンキーを入力できるようにしました。
これは、fn+hをテンキーの0にする設定です。

json
{
  "title": "Ume rules",
  "rules": [
    {
      "description": "Fn+Number to KeyPad",
      "manipulators": [
        {
          "from": {
            "key_code": "h",
            "modifiers": {
              "mandatory": ["fn"],
              "optional": ["any"]
            }
          },
          "to": [
            {
              "key_code": "keypad_0"
            }
          ],
          "type": "basic"
        }
      ]
    }
  ]
}

意外と、fnって遠くないか?

fnキーが、実は数字キーよりも遠いことに気がつきました。
指は、伸ばすほうが縮めるよりも簡単です。

英数をfnにすればいいやん

英数は、
①左手で押せる
②ホームポジションからずらす必要もない。
すばらしいキーです。

ただ、もともとの英数キーもめちゃくちゃ使います。
悩んだ。すると、単体で押すと英数のままで、何かのキーと一緒に押すとfnとして使える、とても都合の良い設定が見つかりました。

導入方法

  1. Karabiner Elementsダウンロード

  2. サイドバーからMiscを開く

  3. Open config folderを押す

    Karabinerの設定フォルダが開かれるので、開かれたフォルダ/assets/complex_modfication/に、setting.jsonをつくる。

  4. そこに、下記の設定をコピペ。

jsonファイル
{
	"title": "Ume rules",
	"rules": [
		{
			"description": "Fn+Number to KeyPad",
			"manipulators": [{
				"from": {
					"key_code": "h",
					"modifiers": {
						"mandatory": ["fn"],
						"optional": ["any"]
					}
				},
				"to": [{
					"key_code": "keypad_0"
				}],
				"type": "basic"
			}, {
			"from": {
				"key_code": "m",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_1"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "comma",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_2"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "period",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_3"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "j",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_4"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "k",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_5"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "l",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_6"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "u",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_7"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "i",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_8"
			}],
			"type": "basic"
			}, {
			"from": {
				"key_code": "o",
				"modifiers": {
					"mandatory": ["fn"],
					"optional": ["any"]
				}
			},
			"to": [{
				"key_code": "keypad_9"
			}],
			"type": "basic"
			}]
		},
		{
			"description": "英数キー単打で英数入力、他のキーと組み合わせでfnキー",
			"manipulators": [
				{
					"type": "basic",
					"from": {
						"key_code": "japanese_eisuu",
						"modifiers": { "optional": [ "any" ] }
					},
					"to": [
						{
							"key_code": "fn",
							"lazy": true
						}
					],
					"to_if_alone": [
						{ "key_code": "japanese_eisuu" }
					]
				}
			]
		}	

	]
}

  1. Karabinerをもう一回開いて、Complex Modifications-->Add Predented ruleを押す
  2. 下の方に、Ume Rulesがあるので、Enable all
    を押す

できた!

しあわせ

簡単に入力できるーーーー!
0123456789012345678901234567890212345678901237456789....

おまけ:karabinerを使う上で便利なサイト

対応表が、わかりやすく書かれています。ブックマークしておこう。
https://qiita.com/funatsufumiya/items/2d0395c6622468a31b4f

Discussion