MacのJIS配列が真価を発揮する！ Karabiner-Elementsを使った最強で無敵の設定《 使いこなし編 》

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

昨日は「[MacのJIS配列が真価を発揮する！ Karabiner-Elementsを使った最強で無敵の設定《 キーマップ概説 》](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd)」という記事でした。

今日の記事はその続きです。昨日ご紹介した設定を「**さらに使いこなすコツ**」をお伝えします。
:::

## はじめに

この記事は、Mac の [Karabiner-Elements](https://karabiner-elements.pqrs.org) での、[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)（以下、**Advanced Keymap “UTILITY”** と書きます）という設定を用いた JIS 配列キーボードのカスタマイズについて、2部構成で解説する記事の第2部です。

[前回の第1部では、**Advanced Keymap “UTILITY”** で使えるキーマップを概説](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd)しました。

https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd

第2部の今回は、前回割愛した、**修飾キーとの組み合わせやその運指などの、細かな使いこなし方**について解説していきます。


## 1. 単押し/長押し

まずは、単押し/長押し の機能を使いこなすためのコツです。

![0-単押し長押し.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/0bc27e8f-d61d-c876-e741-0e2cc5fe2d76.png)

⌘の単押しにのみ Enter を割り当てる設定などは、見たまんま（強いて言えば､「セミコロン」の長押しに Control を割り当てる設定は、[Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)と組み合わせることで効果が倍増します）なので、ここでは Space/Shift を解説します。Space/Shift は、Space バーを、単押しでは Space、長押しでは Shift として使えるようにする機能です。
<br>

ここで1つ問題があります。Space の長押しを Shift に割り当ててしまったがために、Space の繰り返しを入力できないという問題です。

これが困るのは、例えば日本語を変換する際に、長押しで変換候補を下に移動していくことができないということ。また、Miro や Adobe などのソフトウェアなどで、Space の長押しに機能が割り当てられている（例えば手のひらツール）場合、それも使用できなくなってしまうという点です。
<br>

Karabiner-Elements のデフォルトから入っている「Change spacebar to left_shift. (Post spacebar if pressed alone)」という設定だと、それに対する解決策は提示されていませんが、この「[Advanced Keymap for JIS Keyboard: Project “UTILITY”](https://ke-complex-modifications.pqrs.org/#advanced_keymap_utility)」における Space/Shift の設定では、解決策として Quick Tap という機能が搭載されています。

Quick Tap とは､「一度キーを押下して離した後に、間髪入れずにすぐさまもう一度キーを押下し、そのまま保持する」ことを指します。したがってこの設定では､「**一度 Space バーを押下して離した後に、間髪入れずにすぐさまもう一度 Space バーを押下し、そのまま保持する**」ことで、**Space の繰り返しを入力できる**ようになります。
<br>

ただ、一方この Quick Tap にも欠点があり、Space バーを単押しした後に、素早く Space の長押しで Shift の機能を使おうとすると、Space の繰り返しを入力してほしくないのに、逆に Space が連続で入力されてしまいます。

なので、Space バーの長押しの機能を使わない場合は、むしろ Quick Tap の機能が搭載されていない、デフォルトから入っている「Change spacebar to left_shift. (Post spacebar if pressed alone)」という設定の方を推奨します。
<br>

このように、Space/Shift（一般には Space and Shift、SandS と呼ばれます）の設定は、少しクセが強いですが、ホームポジション親指で Shift を使えることのメリットが非常に大きいため、個人的にはオススメです。

また､「Space の長押しで Space を繰り返し入力する」ための解決策は、他にもありますので、その方法は後日のアドベントカレンダーでご紹介します。


## 2. カーソル移動

次にカーソル移動の機能を使いこなすためのコツです。

![1-カーソル移動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/634f21df-0d11-97c7-024f-12a059bcc0fb.png)

この設定だけでも、ホームポジションでカーソル移動が可能になるため重宝しますが、修飾キーと組み合わせて使うことで、より自由自在にカーソルを動かせるようになります。

:::note info
Mac のショートカットキーを使いこなしている方からすると､「なぜデフォルトの [Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)を使用しないのか」と思われるかもしれません。

これは､「私が Vimmer だから」というわけではありません。

Mac デフォルトの [Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)には2つの弱点があります。1つは、文字入力領域以外で使えないこと。これでは Finder などで項目を選択するときに困ります。

2つ目は、[Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)では Control（⌃）キーが占有されてしまうため、**⌃カーソル** というショートカットキーが使えないということです。

例えば、Mac では **⌘→** で **End** のショートカットキーになりますが、これを [Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)を使って打とうとすると、**⌘⌃F** となってしまいます。そしてこれは､「全画面表示」のショートカットキーとバッティングしている（しかも、これはあくまで一例に過ぎない）のです。

つまり、[Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89) をカーソルキーとして設定してしまうと、**他のデフォルトのショートカットキーを上書きしてしまう恐れ**があり、それを避けるために、**親指ホームポジションの「英数」キーをレイヤーキーとして、英数+HJKL でカーソル移動**となるように設定しています。
:::


### 単語移動と選択

まず単語移動。デフォルトの単語移動は、左右それぞれ **⌥←** と **⌥→** です。

ここに、英数+HL（← →）を用いることで、**⌥ 英数+HL** となり、よりホームポジション付近で単語移動が可能となります。

![1-カーソル移動-単語.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/87a18971-a0e0-8b54-5506-c93360c29930.png)

想定運指は、左親指で「英数」キー、左小指で⌥キー。H と L は標準運指のままです。

また、**さらに Space/Shift を組み合わせる**ことにより、単語選択も可能となります。

![1-カーソル移動-単語選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/b8ca039e-c4e6-dabb-40e9-3e8d9ee26f8c.png)

想定運指は、単語移動の指に加えて、右親指で Space バーを押下します。


### 行頭・行末への移動と選択

次に「行頭・行末への移動」です。デフォルトでは、左右それぞれ **⌘←** と **⌘→** に割り当てられています。

ここに、英数+HL（← →）を用いることで、**⌘ 英数+HL** となり、よりホームポジション付近で行頭・行末への移動が可能となります。ちなみに、[Emacs 風キーバインド](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#emacs-%E9%A2%A8%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89)の **⌃A と ⌃E は、段落頭と段落末への移動**なので、微妙に挙動は異なります。

![1-カーソル移動-行.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/9b9ee998-df1a-f02f-d370-098b8c80658c.png)

想定運指は、左親指で「英数」キー、左小指で⌘キー。H と L は標準運指のままです。

また、**さらに Space/Shift を組み合わせる**ことにより､「行頭・行末までの選択」も可能となります。

![1-カーソル移動-行選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/6fdbd48c-e10c-814d-4ad9-418ea5b63ba5.png)

想定運指は、行頭・行末への移動の指に加えて、右親指で Space バーを押下します。


### PageDown と PageUp

さらに、Advanced Keymap “UTILITY” では、ホームポジション付近での PageDown と PageUp も設定されています。デフォルトでは、それぞれ **Fn↓** と **Fn↑** に割り当てられています。

これに対しては､「かな」を押しながら、英数+KJ（↓ ↑）を用いる、つまり **かな+英数+KJ** によって、それぞれ **PageDown PageUp** となり、よりホームポジション付近での PageUp と PageDown が可能となります。

![1-カーソル移動-ページ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/c48c182d-c5d7-6458-c62b-6aef4ba826d9.png)

想定運指は、左親指で「英数」キー、右親指で「かな」キー。J と K は標準運指のままです。

また、**これに 左Shift を組み合わせる**ことにより、ページの選択も可能となります。

![1-カーソル移動-ページ選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/6e92999a-97f9-b351-e041-d8da9561e37e.png)

想定運指は、ページ移動の指に加えて、左小指で 左Shift を押下します。他にも運指は考えられますが、恐らくこれが最もとっつきやすいと思います。

ちなみに、⌘↓ と ⌘↑ を使うと、ウェブページやドキュメント**全体の末尾**まで移動できます（もちろん⇧を組み合わせれば選択になる）。これも類似の運指で可能なので、ますます重宝するでしょう。
<br>

以上が、Advanced Keymap “UTILITY” のカーソル移動を使いこなすコツでした。

カーソル移動、単語移動、行頭・行末までの移動、ページ移動。そしてそれぞれの選択。これらがホームポジション付近で可能になるだけでも、例えば**テキスト編集の操作性は格段に向上**します。

ぜひ、使いこなしてみてください。


## 3. 特殊キー

次に特殊キーの機能を使いこなすためのコツです。

![3-削除-.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/aeeec0d1-04e2-114f-3634-fdd96541822b.png)

Enter（英数+N）、Escape（英数+E）、Tab（英数+T）、⇧Tab（英数+R）などは、見たまんま（強いて言えば、[キーボードナビゲーションを覚えることで効果が倍増](https://qiita.com/RNK0SEC/items/afe610879789ab25feb9#tab--%E3%82%AD%E3%83%BC)します）です。

なので、ここでは Delete（英数+D）、Forward Delete（英数+F）を解説します。それぞれ頭文字がショートカットキーになっていて、⌫ と ⌦ の機能を持ちます。


### 単語削除

まず単語削除。デフォルトの単語削除は、左右それぞれ **⌥⌫** と **Fn⌥⌫**（または **⌥⌦**） です。

ここに、英数+DF（⌫ ⌦）を用いることで、**⌥ 英数+DF** となり、よりホームポジション付近で単語削除が可能となります。

![3-削除-単語.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/60e2c1e2-54ed-bed7-227f-9cde56d3c8d5.png)

想定運指は、左親指で「英数」キー、左小指で⌥キー。D と F は標準運指のままです。


### 行頭・行末までの削除

次に「行頭・行末までの削除」です。デフォルトではそれぞれ、**⌘⌫** と **⌃K** に割り当てられています。

ここに、英数+DF（⌫ ⌦）を用いることで、**⌘ 英数+DF** となり、よりホームポジション付近で行頭・行末までの削除が可能となります（と言いつつ、個人的には ⌃K の方が押しやすい気がします）。

![3-削除-行.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/dba69e36-f22e-b4a4-7f75-a93d15cff01c.png)

想定運指は、左親指で「英数」キー、左小指で⌘キー。D と F は標準運指のままです。または、左⌘を使うのもいいかもしれません。
<br>

以上が、Advanced Keymap “UTILITY” の特殊キーを使いこなすコツでした。

カーソル移動と比べると出番は少ないですが、単語削除がホームポジション付近で可能になるだけでも、やはり**テキスト編集の操作性は格段に向上**します。

ぜひ、使いこなしてみてください。


## 4. 数字と記号

最後は数字と記号の機能を使いこなすためのコツです。つまり「かな」キーを押している間のキーマップです。

単純な数字や記号の入力以外では特に、⌘キーとの組み合わせが有用です。

![4-かな-.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/c20d466c-31fb-771d-58f3-84604c901b9e.png)

それぞれの使いドコロをご説明します。


### スクリーンショット

まずは、スクリーンショットです。デフォルトのスクリーンショットは、全画面、矩形（ウィンドウ）選択、スクリーンレコーディングの3種類があり、それぞれショートカットキーは **⌘⇧3**、**⌘⇧4**、**⌘⇧5** です。

ここに、かな+ERT（⇧3､ ⇧4､ ⇧5）を用いることで、**⌘ かな+ERT** となり、より使う指も少なく、ホームポジション付近で、スクリーンショットが可能となります（ただし片手ではできないので、そこはトレードオフ）。

![4-かな-スクショ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/94e6d742-65b8-32ee-4562-65a1582b4f4f.png)

想定運指は、右親指で「かな」キー、左親指で⌘キー。E と R と T は標準運指のままです。


### タブ移動など

次に、タブ移動などです。

1つ前のスクリーンショットでは､**「かな」キー + ホームポジションの1つ上の行** が、**⇧数字** に設定されていることを利用しました。

しかし、⇧のいらない単純な数字をショートカットキーとして使いたいときもあります。そこで､**「かな」キー + ホームポジション** にて数字を入力できることを利用します。

ここでは、ブラウザのタブを1・2・3番目に切り替える、⌘1・⌘2・⌘3 というショートカットキーを例に挙げます。

![4-かな-タブ移動.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/fdffb847-bc2b-2195-9ab4-6f63f45af54e.png)

想定運指は、右親指で「かな」キー、左親指で⌘キー。A と S と D は標準運指のままです。


### 拡大縮小

次に拡大縮小です。デフォルトでは、**⌘+**（または **⌘⇧ ;** ）で拡大、**⌘–** で縮小、**⌘0** で倍率100%に割り当てられていることが多いです。

ここに、かな+PO ; を用いることで、**⌘ かな+PO ;** となり、ホームポジション付近で、拡大縮小が可能となります。

![4-かな-拡大縮小.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/2b90cf87-7d0e-1056-d41f-5a933d7e8dae.png)

想定運指は、右親指で「かな」キー、左親指で⌘キー。P と O と ; は標準運指のままです。
<br>

以上が、Advanced Keymap “UTILITY” の拡大縮小の機能を使いこなすコツでした。

出番は少ないですが、それなりに有用だと思いますので、使ってみてください。


### 引用符

最後は引用符です。デフォルトでは、**⇧2** で `"` 、**⇧7** で `'` です。

Advanced Keymap “UTILITY” では、これらの引用符は、入力方法が複数用意されています。その中でオススメなのは、それぞれ最も楽に片手で入力できる、**英数+W** で `"` 、**かな+U** で `'` です。

![4-かな-引用符.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3065008/95157e2f-fd0a-35ff-90ec-6f80d5816466.png)

もちろん、**かな+W** で `"` や、**英数+Q** で `'` を入力した方が手に馴染む場合は、そちらを使用するのもアリです。もしくは <strong>英数+<font color="#DA236F">U</font></strong> で `"` もよい（ <strong>かな+<font color="#DA236F">U</font></strong> が `'` なので、組み合わせて覚えると吉）でしょう。あなたにしっくりくる、覚えやすい運指を、探してみてください。

それにしても、JIS 配列でも US 配列でも、あまり「引用符を片手で押しやすく」といったことは考慮されていませんね。強いて言えば、JIS 配列は `"` が比較的片手で押しやすく、US 配列は `'` が片手で押しやすいでしょうか。

---

以上が、**Advanced Keymap “UTILITY” を使いこなすコツ**でした。

どれも細かい話なので、まずは[前回の記事で紹介した、修飾キーを使わない場合のショートカットキーを覚えて](https://qiita.com/MNB0SEC/items/cfd33a25bbb6a2391abd)、それからさらに使いこなしたいときに、参考にしてみてください。
<br>

これらの設定を**充分に**使いこなせると、表計算ソフトなどにおける数多のカーソル移動ショートカットキー（この記事で紹介しなかったものも含め）であっても、この Advanced Keymap “UTILITY” のキーマップだけで快適に作業できるようになり、しかも、その操作性は向上します。

ぜひ、身につけてみてください。


## おわりに

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

明日は、**今週のまとめ**記事です。また、来週からはとうとう、実際に JSON を書いて Karabiner-Elements を設定する方法について、順を追って少しずつ解説していきます。お楽しみに！

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

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