タイピングが爆速化するたった一つのこと【Macでの外付けキーボード編】

## 結論
1. Karabina-elementsをインストールする
    * https://karabiner-elements.pqrs.org/
2. 「変換キー」をFnに割り当てる。（KANAに日本語変換を割り当ててください）
3. 後述する設定を行う。（キーの組み合わせの挙動）

以上！

Karabinaの基本的な設定は、たくさん記事があるので、それらを見てください。

## なぜ爆速化するの？
矢印キーやバックスペースなどが、

**ホームポジションのままで操作できるようになるから！**

です！！(^^)/
以下の画像みてください！

![IMG_20210813_085229.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639318/2cb5615b-744b-5f1b-3d6c-e1e8325474f1.jpeg)


右親指に位置したファンクションボタンを押しながら、いろいろ操作できるんです！
（FPSプレイヤーは、矢印をWASDに割り当てても良いかもですね（笑））

## 対象は？
対象は、日本語キーボード使っている人全員です！
以下の人はめちゃくちゃいいんじゃないでしょうか

* プログラマー
* 小説家
* 脚本家
* 事務系の人

最初は慣れなくて不便でしょうけど、慣れたらこれ以外無理になりますｗ

これは、ＦＩＬＣＯというブランドから出ているキーボード(MINILA)の思想をマネしていることになります。
本当に素晴らしい思想のキーボードです！

ずっと、このminilaシリーズを使ってるんですが、親指Fn(親指ファンクション）にハマると他のキーボードだと効率悪すぎるんですよね。。。

だけど、この設定をやればほぼ同等の挙動ができます！
あとは、みなさんの好みで味付けしてください(^^)/

## 設定内容
Complex Modificationsにて、以下の設定を行う。
設定方法は、以下を参照すること。

* https://webrandum.net/karabiner-elements-original-rules/

```json
"rules": [
           {
             "description": "backspace",
             "manipulators": [
               {
                 "from": {
                   "key_code": "semicolon",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "delete_or_backspace" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "delete",
             "manipulators": [
               {
                 "from": {
                   "key_code": "m",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "delete_forward" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "home",
             "manipulators": [
               {
                 "from": {
                   "key_code": "k",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "home" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "insert",
             "manipulators": [
               {
                 "from": {
                   "key_code": "j",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "insert" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "end",
             "manipulators": [
               {
                 "from": {
                   "key_code": "comma",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "end" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "page up",
             "manipulators": [
               {
                 "from": {
                   "key_code": "l",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "page_up" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "page down",
             "manipulators": [
               {
                 "from": {
                   "key_code": "period",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "page_down" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "print screen",
             "manipulators": [
               {
                 "from": {
                   "key_code": "i",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "print_screen" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "new line",
             "manipulators": [
               {
                 "from": {
                   "key_code": "n",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "return_or_enter" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "scroll_lock",
             "manipulators": [
               {
                 "from": {
                   "key_code": "period",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "scroll_lock" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "up_arrow",
             "manipulators": [
               {
                 "from": {
                   "key_code": "e",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [{ "key_code": "up_arrow" }],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "down_arrow",
             "manipulators": [
               {
                 "from": {
                   "key_code": "d",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [
                   {
                     "key_code": "down_arrow"
                   }
                 ],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "right_arrow",
             "manipulators": [
               {
                 "from": {
                   "key_code": "f",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [
                   {
                     "key_code": "right_arrow"
                   }
                 ],
                 "type": "basic"
               }
             ]
           },
           {
             "description": "left_arrow",
             "manipulators": [
               {
                 "from": {
                   "key_code": "s",
                   "modifiers": {
                     "mandatory": ["fn"],
                     "optional": ["any"]
                   }
                 },
                 "to": [
                   {
                     "key_code": "left_arrow"
                   }
                 ],
                 "type": "basic"
               }
             ]
           }
         ]
```

## 最後に
Minila大好きなんですがRealForceも欲しくて買っちゃいました。
で、親指ファンクションをどうやって実現するか試行錯誤（3時間くらいトライエラー。。ｗｗ）しました。
この設定を自分用に残すとともに、ほかの皆さんの役に立てばと思いブログにしました！！

ではでは、よいキーボードライフを！！！(^^)/