MacのJIS配列が真価を発揮する！ Karabiner-Elementsを使った最強で無敵の設定《 キーマップ概説 》

:::note info
この記事は、[Karabiner-Elements アドベントカレンダー 2023](https://qiita.com/advent-calendar/2023/karabiner-elements) の6日目の記事です。

昨日は「[US配列超えなるか？ MacでJIS配列の様々な弱点をできるだけ簡単に克服する方法](https://qiita.com/MNB0SEC/items/b782a5664b40ac590239)」という記事でした。
:::

<br>**TL;DR**

読むのが面倒な人へ。

> <font color="black">**結論**。[Karabiner-Elements の公式サイト](https://ke-complex-modifications.pqrs.org)にある､<br>　<strong>[Advanced Keymap for JIS Keyboard:](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility) <br>　[Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)</strong><br>という設定を使いましょう！</font>

[→「**インストール方法**｣ までジャンプ！](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95)

## 突然ですが質問です。
<br>
<strong>JIS 配列の魅力とはなんでしょうか？</strong>

なぜ、ある種の人々は JIS 配列を選ぶのでしょうか。<br><br>

その答えはそう､「**Space の両隣に『英数・かな』キーが存在するから**」です。<!-- <sup> ※諸説あり</sup> --><br><br>

え？「**US 配列も [Karabiner-Elements](https://karabiner-elements.pqrs.org) を使えば左右⌘キーの単押しに『英数・かな』の機能を割り当てられる**」って？

はい、私が申しておりますのは､「<strong>実は<font color="#DA236F">その程度の話ではない</font></strong>」ということなのです。<br><br>

どういうことか。

まず、前提として JIS 配列には、Space の両隣に「英数・かな」キーが「**物理的に**」存在します。

そして US 配列で活用されているように、**[Karabiner-Elements](https://karabiner-elements.pqrs.org)** を使うと、1つのキーの「**単押しと長押しの両方に**」機能を割り当てられます。

これらを組み合わせることにより、JIS 配列では､<strong>「英数・かな」キーの長押し</strong>に、<strong><font color="#DA236F">修飾キーの機能を割り当てられる</font></strong>のです。
<br>

え？「だから何」って？

ご心配なく。それを皆様にご説明するのが、まさにこの記事の目的でございます。


## ｢英数・かな」 キーが物理的に存在することの何が嬉しいのか

前述の通り、JIS 配列では､「英数・かな」キーが物理的に存在するため、それらの長押しに修飾キーの機能を割り当てることができます。
<br>

<strong>では、どの修飾キーの機能を割り当てるのが、最もその恩恵を得られるでしょうか？</strong>

試しに、**修飾キーの中で最も有用な⌘の機能を割り当て**てみましょう。確かにそれも、⌘がめちゃくちゃ近くなるので恩恵は大きそうですね。

もしくは、**デフォルトでも⌘キーは押しやすいから、Control（⌃）や Option（⌥）を割り当て**てみましょうか。確かにそれも、ショートカットキーがめちゃくちゃ押しやすくなるので恩恵は大きそうですね。
<br>

ですが私は､「英数・かな」キーから最大の恩恵を得たいのであれば､「<strong><font color="#DA236F">あなたが考えた独自の修飾キー</font></strong>」を新たに創り出し、<strong>それを「英数・かな」キーの長押しに割り当てる</strong>ことをオススメします。
<br>

理由は、**独自の修飾キー**（厳密にはレイヤーキーと呼ぶ）を割り当てることで、**その修飾キーを用いたショートカットキーにも、独自のものを設定できる**からです。

これにより、<strong><font color="#DA236F">デフォルトのショートカットキーを一切、上書きすることなく、数多のショートカットキーを好きなように割り当てることができる</font></strong>のです。
<br>

では US 配列の場合はどうでしょうか。当然ながら US 配列には､「英数・かな」キーが**物理的に存在しません**。

US 配列において Space の両隣にあるのは⌘キーです。なので、JIS 配列のように、新たに Space の両隣に長押しの機能を割り当てようとすると、**左右の⌘キーの⌘の機能を上書きしなければなりません**。
<br>

Mac をお使いの方ならもうお分かりでしょう。⌘キー、めっちゃ使います。それを上書きするだなんてトンでもない。

つまり、大事なのは「英数・かな」の**機能ではなく**､「Space の両隣に、**長押しの機能が空いているキーが**『<strong><font color="#DA236F">物理的に存在すること</font></strong>』」なのです。

---

以上、なんとなく､**「英数・かな」キーが物理的に存在することの重要さ**が、ご理解いただけましたでしょうか。
<br>

いや「**ちょっと何言ってるのかわからない**」って？
<br>

ご安心ください。そんな方に向けて、ここからは**実際に、[Karabiner-Elements の公式サイト](https://ke-complex-modifications.pqrs.org)からインストールできる最強で無敵の設定**を1つ、ご紹介しましょう。


## Advanced Keymap for JIS Keyboard: Project “UTILITY”

[Karabiner-Elements](https://karabiner-elements.pqrs.org) で、複雑な設定（Complex Modifications）を行うには2種類の方法があります。

1つは「自分で JSON ファイルを書く」方法、もう1つは「**公式サイトから設定をダウンロード（正確にはインポートと呼ぶ）して有効化する**」という方法です。
<br>

そこで今回は、より楽に設定できる後者の方法で、<strong>[Karabiner-Elements の公式サイト](https://ke-complex-modifications.pqrs.org)からインストール可能</strong>な､「<strong>[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)</strong>」という設定を解説していきます。
<br>

まず、それがどんな設定かご説明します。そしてこの記事の最後に、その[**インストール方法**](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95)を説明します。

それでは参りましょう。

[Karabiner-Elements](https://karabiner-elements.pqrs.org) のユーザーは､「[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)」という設定をインストールすることで、以下の「**親指キーの単押し/長押しの設定**」と､「**『英数・かな』キーを押している間のキーマップ**」を使えるようになります。

![UTILITY_JIS_crop.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/a54cdd61-8100-9e90-119e-fd24e1c536df.png)

なんだか見てるだけでワクワクしてきませんか？

いや「**便利かもしれないけど、わざわざ覚える学習コストが高すぎる**」って？
<br>

でも大丈夫。そんなときは「**学習コストは低いけど効果が高い設定**」から覚えて使っていけばいいのです。要は単にコスパと優先順位の問題です。
<br>

じゃあそれぞれ、どの機能が便利でどの機能から使って覚えていけばいいのか。ここからはそれを、機能でグループ分けしつつ、解説していきます。

:::note info
「そーゆーのいらないからインストール方法だけ教えて」という方は、末尾の「[インストール方法](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%96%B9%E6%B3%95)」の項までジャンプ！
:::


## 単押し/長押し

前述の通り、[Karabiner-Elements](https://karabiner-elements.pqrs.org) では**単押しと長押しの両方に機能を割り当てられます**。

- **左⌘単押し** ▶︎ Enter（長押しは⌘のまま）
- **右⌘単押し** ▶︎ Delete（長押しは⌘のまま）
  <br>
- **Space 長押し** ▶︎ Shift（単押しは Space のまま）
- **セミコロン**（ **;** ）**長押し** ▶︎ Control（単押しは ; のまま）
  <br>
- **｢英数」長押し** ▶︎ Fn1（単押しは「英数」のまま）
- **｢かな」長押し** ▶︎ Fn2（単押しは「かな」のまま）
  <br>

![0-単押し長押し.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/b214dc2f-a25f-9343-1b0a-cd60b698b49b.png)

個人的に、このグループでは「**左⌘単押し ▶︎ Enter**」が最も便利だと思うので、それだけ有効化するもアリです。

また、完全ホームポジションにありながら滅多に使うことがない「セミコロン」の長押しに、Control の機能を割り当てるのも大変有用です。


## カーソル移動

**最も覚える価値がある**のが、この**ホームポジションでのカーソル移動**です。

- 英数＋**HJKL** ▶︎ カーソル移動の **←↓↑→**
  <br>

![1-カーソル移動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/c25b51a0-1d39-0f85-8d75-323adfd21dd6.png)

正直､「コレができるようになるだけで充分」なくらい作業効率は爆上がりします。


## 引用符

引用符が、横並びで「合理的」かつ「頭文字を取って覚えやすく」配置されています。

- 英数＋**Q** ▶︎ クォーテーション（Quotation）の Q で **`'`**
- 英数＋**W** ▶︎ ダブル（W）クォーテーションの W で **`"`**
  <br>

![2-引用符.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/ef1389ba-27ee-8d76-3ef2-76a4f69194fd.png)

あまりにも覚えやすいせいで、つい記憶しちゃう配置ですね。


## 特殊キー

カーソル移動の次に覚える価値があるのは、この**特殊キー**たちでしょう｡「頭文字」や「意味のある左右配置」によって、比較的覚えやすくなっています。

- 英数＋**D** ▶︎ Delete の頭文字 D で **⌫**
- 英数＋**F** ▶︎ Forward Delete の頭文字 F で **⌦**
  （しかも ⌫ の右隣）
  <br>
- 英数＋**T** ▶︎ Tab の頭文字 T で **Tab**（ **⇥** ）
- 英数＋**R** ▶︎ その左隣だから **⇧Tab**（ **⇤** ）
  <br>
- 英数＋**E** ▶︎ Escape の頭文字 E で **⎋**
- 英数＋**N** ▶︎ Enter の語頭と発音が同じ N（ /en/ ）で **⏎**
  <br>

![3-特殊キー crop.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/49637495-6e16-62f0-923c-8ba41e9369ef.png)

特に、Delete（⌫）と Forward Delete（⌦）を、完全ホームポジションで押せるようになるのが凄まじいですよね。

比較的知名度は低いですが、[Tab というキーの有用性については、別記事に書きました](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#tab--%E3%82%AD%E3%83%BC)ので、そちらもぜひ、ご参考ください。


## Enter キー類

英数＋N で Enter、を覚えるついでに、その付近の「修飾キー＋Enter」も、覚えられると吉です（優先度は低め）。

- 英数＋**N** ▶︎ Enter の語頭と発音が同じ N（ /en/ ）で **Enter**
- 英数＋**M** ▶︎ その右隣だから **⇧Enter**
- 英数＋ <strong>,</strong> ￰ ▶︎ さらに右隣だから **⌘Enter**
  <br>

![4-Enterキー類.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/c1149b03-54b0-480e-6244-ba485bcff87c.png)

⇧Enter も ⌘Enter も、色々なアプリで何かとよく使いますよね。


## 算術記号類

算術記号は、長音としてもよく使う「ハイフン」キーを基点として、右小指ホームポジション周辺にまとまっています。

- 英数＋**P** ▶︎ 元の位置の真下だから **マイナス（－）**
- 英数＋<strong>@</strong> ▶︎ その右隣だから **プラス（＋）**
  <br>
- 英数＋ <strong>;</strong> ￰ ▶︎ ー の真下だから **～**（**正確には ^** ）
- 英数＋ <strong>:</strong> ￰ ▶︎ コロン（ : ）と形が似ているから **＝**
  <br>
- 英数＋ <strong>/</strong> ￰ ▶︎ 元の位置だから **/**
- 英数＋ <strong>.</strong> ￰ ▶︎ その左隣だから **\***
- 英数＋ <strong>_</strong> ￰ ▶︎ / の右隣だから **\\**
  <br>

![5-算術記号類.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/ad6a745a-3295-8fa7-bc13-98b686c90541.png)

チルダもしくは波線（～）を入力する場合は、⇧英数＋ <strong>;</strong> を打鍵します。アンダースコア（ _ ）やバーティカルバー（｜）も同様です。


## 数字

デフォルトの数字行はあまりにも遠すぎます。数字がタッチタイピングしづらいのは遠すぎるからです。ホームポジションで打てるなら、**数字もタッチタイピングが可能**であることに気づきます。

- かな＋**A** ～ <strong>;</strong> ▶︎ ホームポジションに数字の **1234567890**

![6-数字.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/ae22eece-f0bf-ad60-658f-2f073bdba744.png)

前述の「算術記号類」と合わせて使うと、より効果を発揮します。


## 記号

記号もまた然り。デフォルトだと Shift も必要で、数字よりさらにタッチタイピングしづらいです。でもホームポジション付近で打てるなら、**記号もタッチタイピングが可能**であることに気づきます。

- かな＋**Q** ～ <strong>O</strong> ▶︎ 数字行の上に **⇧数字** の記号 ￰ **! " # $ % & ' ( )**
  <br>

![7-記号.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/4d941020-4391-bd30-e239-709458cde7b1.png)

特に丸括弧の近さは感動モノ。


## よく使う記号

｢かな」キーとの組み合わせで、**⇧数字** の記号の `'` や `(` `)` を配置したのと同じキーに､「英数」キーとの組み合わせで、`"` や `[` `]` が打てるようになっています。

- かな＋**U** が `'` だから 英数＋**U** は `"`
- かな＋**I O** が `(` `)` だから 英数＋**I O** は `[` `]`
  <br>

![8-よく使う記号.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/316733b7-a4f3-7480-f9aa-ebf4772f8ae8.png)

これぞ合理的な配置と言えますね。


## 感嘆･疑問符

デフォルトでは入力しづらい `!` が、まだ比較的押しやすい位置に配置されています。**押しやすさが重視**されているため「頭文字」などの覚え方がなく、それゆえ優先度は低め。

- かな＋**M** ▶︎ `!`
- かな＋ <strong>.</strong> ￰ ▶︎ その右隣だから `?`
  <br>

![8-感嘆･疑問符.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/6001927d-190f-4a64-baf0-2c6857388a98.png)

余談ですが、かな＋ZXCVBN には何も割り当てられていないため、好きな機能を割り当てる余地も残されています。


## よく使う機能

以下はどれも、とにかくよく使うので押しやすい位置に配置されています。**押しやすさが重視**されているため「頭文字」などの覚え方がない場合があり、それゆえ優先度は低めですが**効果は絶大**。

- 英数＋**A S** ▶︎ それぞれ ←→ のタブに移動
  （ **⌃⇧Tab ￰ ⌃Tab** ）
- 英数＋**C V** ▶︎ それぞれアプリ切り替えで ←→ のアプリに移動
  （ **⌘⇧Tab ￰ ⌘Tab** ）
  <br>
- 英数＋**Z** ▶︎「履歴を**戻る**｣（ **⌘[** ）
  （指使いが「元に**戻す**」の ⌘Z と同じになる）
- 英数＋**X** ▶︎ その隣だから「履歴を**進む**｣（ **⌘]** ）
  <br>

![9-よく使う機能 訂正.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/a9e058d8-4669-4261-9dc5-d94ec92eb657.png)

特に ⌃⇧Tab（⌃⇤）と ⌃Tab（⌃⇥）の押しやすさは異常です。

注意点として、⌘Tab でドラッグする機能を使う場合は、さらに⌘キーを足して、**⌘英数＋V** というショートカットキーを使う必要があります。
<br>

また、このグループの存在が、**Project “UTILITY”** の名前の由来でもあります。

ここまで覚えられたらすごい。

---

以上が、**[Karabiner-Elements の公式サイト](https://ke-complex-modifications.pqrs.org)からインストールできる最強で無敵の設定**のご紹介でした。全部を一気に覚える必要はないので、便利なやつから少しずつ、有効化して使っていきましょう。
<br>

最後に、この設定のインストール方法をお伝えします。


## インストール方法

手順は以下の2ステップです。

1. [Karabiner-Elements](https://karabiner-elements.pqrs.org) をインストールする
1. [Karabiner-Elements](https://karabiner-elements.pqrs.org) アプリの Complex Modifications から「[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)」をインポートし、必要な設定を有効化する

それぞれについて解説していきます。

### 1. Karabiner-Elements をインストールする

[Karabiner-Elements](https://karabiner-elements.pqrs.org) をインストールする方法は､「[【 導入編 】Karabiner-Elementsとは？ インストールから基本的な使い方まで](https://qiita.com/TSY0SEC/items/fff6d9b0768882355493)」という記事で解説いたしましたので、詳しくはそちらをご覧ください。ここでは手順のみ示します。

1. [Karabiner-Elements 公式サイト](https://karabiner-elements.pqrs.org)にアクセスしてインストーラーをダウンロード        
1. ダウンロードしたファイルをダブルクリックして実行
1. あとはただ指示に従って操作していけばインストールと初期設定が完了


### 2. Karabiner-Elements アプリの Complex Modifications から 「Advanced Keymap for JIS Keyboard: Project “UTILITY”」 をインポートし、 必要な設定を有効化する

[Karabiner-Elements](https://karabiner-elements.pqrs.org) のアプリから､「[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)」という設定をインポートして有効化します。

1. まず [Karabiner-Elements](https://karabiner-elements.pqrs.org) のアプリを開きます。そして「Complex Modifications」と書かれたところをクリックします。<br>￰
  ![CleanShot 2023-12-01 at 08.19.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619940/7ebe63f2-271a-f288-57fb-9fb9e2474e58.png)
  ￰
1. ｢Add rule」と書かれたボタンをクリックします。<br>￰
  ![CleanShot 2023-12-01 at 08.21.55のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619940/2cf6e1e8-3d48-1857-8442-abac2dc56387.png)
  ￰
1. ｢Import more rules from the Internet (Open a web browser)」というボタンをクリックします。<br>￰￰￰
  ![CleanShot 2023-12-01 at 09.08.22のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619940/63fcb93f-5323-8fbd-401b-91eef5ae1dad.png)
  ￰
1. ブラウザで Karabiner-Elements の公式サイトが開いた際、検索バーに「**Advanced UTILITY**」と入力し、Enter します。<br>￰￰
  ![CleanShot 2023-12-04 at 23.55.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/552133db-8175-267f-e11a-b3d96f89d2e0.png)
  ￰
1. 検索結果に出てきた「**Advanced Keymap for JIS Keyboard: Project “UTILITY”**」という設定がある行の「Import」というボタンをクリックします。<br>￰￰
  ![CleanShot 2023-12-04 at 23.50.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/5e894593-3b9e-c229-f081-aee50e1a49ae.png)
  ￰
1. ポップアップの「許可」をクリックしたのち、[Karabiner-Elements](https://karabiner-elements.pqrs.org) のアプリが開くので､「Import」をクリックします。※このボタンをクリックしても、設定がインポートされるだけで、すぐさま有効化されるわけではないのでご安心ください<br>￰￰
  ![CleanShot 2023-12-07 at 03.45.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/2d37f00f-3eea-31ce-c6b3-02d03c070b01.png)
  ￰
1. するとまたポップアップが開くので、全ての設定を一括で有効化する場合は、設定を下までスクロールして「**Enable All**」をクリックします。特定の設定のみ有効化したい場合は、有効化したい設定の行の「Enable」を個別にクリックします。<br>￰￰
  ![CleanShot 2023-12-04 at 23.57.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/0a8f17ef-251e-fee0-6a51-7e1b5e490127.png)
  
￰
以上で､「Enable」した「[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)」の設定が使えるようになりました。


## おわりに

[Karabiner-Elements アドベントカレンダー 2023](https://qiita.com/advent-calendar/2023/karabiner-elements) の6日目の記事はここまでとなります。
<br>

最後に豆知識です。

今回ご紹介したように、新たな修飾キーを創り出して、そのショートカットキーを設定すると､「デフォルトで使えるキーマップの上に、**層を重ねる**ようにしてキーマップを（言うなれば3次元的に）作成」できるので、その重ねたキーマップのことを「**レイヤー**｣ 、そのレイヤーを使うための修飾キーを「**レイヤーキー**」と呼びます。
<br>

そう。US 配列ユーザーが見限った「英数・かな」キーというのは、ただの「入力言語の切り替えキー」なのではなく、レイヤーという､「**3次元の世界への扉を開くカギ**」だったのです。
<br>

明日は、[今回ご説明したこの設定を、さらに「使いこなす」ために、より詳しく解説](https://qiita.com/MNB0SEC/items/46a4dfe44d4512f690e5)します。お楽しみに！
<br><strong>明日の記事</strong>

https://qiita.com/MNB0SEC/items/46a4dfe44d4512f690e5

<strong>このアドベントカレンダー</strong>

https://qiita.com/advent-calendar/2023/karabiner-elements

:::note warn
この記事に書かれた内容の実行および設定の使用は、すべてご自身の判断で行ってください。
万が一、不具合や損害が生じた場合であっても、執筆者は一切の責任を負いかねますことをご了承ください。
:::