US親指シフト：MacのUSキーボードで快適に親指シフト入力するスマートな方法(2018/7改訂版)

>
180917 樹木希林さんの訃報が届きましたが、「きききりん」と入力するならローマ字よりも断然親指シフト！
180912 要望により、「'」キーでbackspaceできるようにメニューを追加(日本語モードのときだけ)
180823 要望により、メッセージ欄にorz配列用のJSONファイルを追加
180721 「ゎ」の入力を追加、キーボードレイアウト図を修正
180719 初版公開

# 概要

- USキーボードと親指シフト入力の組み合わせでMacが最高にエレガントな日本語入力マシンになります。
- 標準的な親指シフト入力(Nicola配列)に可能な限り準拠し、しかもキー数の限られたUSキーボードで無理なく日本語入力できるようにキーレイアウトを煮詰めました
- [Karabiner Elements](https://pqrs.org/osx/karabiner/)(macOS Sierra (10.12)以降に対応)を使います。([Lacaille](http://lacaille.jpn.org/)は不要)
- MacOS標準の日本語入力用に最適化しています。仮名漢字英数文字の混在した日本語を流れるように入力でき、多様な括弧の打ち分けや、矢印等の記号入力にも対応しています。(Google日本語入力にも対応、ATOKその他は未検証)
- 既に親指シフト入力をマスターしている方であれば、数時間の練習ですぐに使えるようになります。(親指シフト入力をゼロから習得するには3日から1週間程度の**集中練習**が必要です。)

# こんな人におすすめ

- すでに親指シフト入力をマスターしている人、これからマスターしたいと考えている人
- ローマ字入力にストレスを感じている人、親指シフト入力に興味がある人
- JISキーボードが醜いと感じる人、USキーボードが手放せない人
- 長文やかな漢字＆アルファベット混在の文章を書く機会の多い人
- Macで日本語文書を書く機会の多い開発者、ブロガー、ライター、等


# 快適さの理由

- <kbd>右command</kbd> で日本語入力モード、<kbd>左command</kbd> で英語入力モードに切り替わります。現在のモードを忘れてしまっても、必要に応じていつでも左右の <kbd>command</kbd> を押せば良いので目にも脳にも指にも負担がかかりません。
- メインの親指シフトキーとして <kbd>space</kbd> キーを使用します。(濁点・半濁点の入力時のみ左右の <kbd>command</kbd> を使用) これにより、通常のタッチタイピングのホームポジションをキープしたまま、指に負担のかからない自然なタイピングが可能になりました。


# 基本的な使い方(表の見方)

- 図の上は英語モード、下は日本語モードのキー配列です。比較用に、標準的な親指シフト配列(nicola配列)のカラーレイアウト図も載せておきます。

![us_oyayubi.png](https://qiita-image-store.s3.amazonaws.com/0/63509/af8e06d0-b0c1-3275-0f5e-d5901955090f.png)


![nicola.png](https://qiita-image-store.s3.amazonaws.com/0/63509/40e8a0bc-8c0e-7276-0809-6daa5d6ce713.png)

- 日本語と英語のモード切り替えは左右の <kbd>command</kbd> を使います。
- 英語モードでは特に変わったところはなく、キーボードの刻印通りに打った文字がそのまま入力されます。以下、日本語モードについて解説します。

![y.png](https://qiita-image-store.s3.amazonaws.com/0/63509/bb7e1634-1c2d-8b5d-917f-b148744dc1ca.png)

- 例えば日本語モードで <kbd>Y</kbd> キーに注目してみましょう。単体で <kbd>Y</kbd> を押すと「ら」が入力され、<kbd>shift</kbd> を抑えながら <kbd>Y</kbd> を押すと「Y」が入力されます。<kbd>左command</kbd> と <kbd>Y</kbd> を同時押しすると「ぱ」が入力され、<kbd>space</kbd> と <kbd>Y</kbd> を**同時押し**すると「よ」が入力されます。<kbd>右command</kbd> と <kbd>Y</kbd> を同時押ししても何も起きません。
- <kbd>左command</kbd> を抑えながら <kbd>Y</kbd> を押すのではなく、<kbd>左command</kbd> と <kbd>Y</kbd> を**同時押し**することに注意してください。(Karabiner-Elementsの標準設定では複数のキーを50ms以内に押すと同時押しと判定されます)
- 本来の親指シフト入力であれば「よ」を入力するときに、<kbd>Y</kbd> と <kbd>右コマンド</kbd>を同時押ししたいところなのですが、指への負担が大きいため <kbd>space</kbd> で代用しているわけです。覚え方としては、通常の親指シフトは <kbd>space</kbd> でおこない、濁点半濁点のときだけ反対側の手の <kbd>command</kbd> でシフトするということです。
- <kbd>space</kbd> と <kbd>Y</kbd> を同時押しする際、左右どちらの親指で <kbd>space</kbd> を押しても結果は同じなのですが、一般的な親指シフト入力で <kbd>右command</kbd> を押す代わりに <kbd>space</kbd> を使うのだと考えれば、右手の親指で <kbd>space</kbd> を押すのが自然です。基本的な説明は以上です。


# オリジナルの親指シフトから変更・追加したところ

- レイアウト図の中で赤字になっている部分は、標準的な親指シフトレイアウトから変更または独自に追加した部分です。
MacOS標準の日本語入力ソフトでは以下の機能が利用できます。(Google日本語入力でも使える機能があります)
- 句読点「。」「、」とピリオドカンマ「，」「．」は日本語入力ソフトの設定でどちらかに統一するのが普通ですが、<kbd>右command</kbd>と<kbd>,</kbd>、<kbd>右command</kbd>と<kbd>.</kbd> の同時押しで一時的に入力することができます。(<kbd>option</kbd>でも可)
- <kbd>Z</kbd> を単体で押すと、スペースが入力されます。変換せずにスペースだけ入力したいときに便利です。
- <kbd>右command</kbd> と <kbd>H</kbd>、<kbd>J</kbd>、<kbd>K</kbd>、<kbd>L</kbd>、を同時押しすることでそれぞれ「←」「↓」「↑」「→」が入力できます。
- 例えば「ぁ」を入力しようとして <kbd>command</kbd> と <kbd>Q</kbd> を同時押してしまった場合、使用中のアプリが終了してしまわないようにしました。(<kbd>command</kbd> を抑えながら <kbd>Q</kbd> を押した場合は通常通りアプリが終了します。)

- MacOS標準の日本語入力では以下の通り多様なカッコを使い分けることができます。

|種類 |名前         |入力方法 |
|:--:|:------------|:-------|
|「 |かぎかっこ|<kbd>[</kbd> または <kbd>4</kbd> <kbd>space</kbd>|
|」 |かぎかっこ|<kbd>]</kbd> または <kbd>5</kbd> <kbd>space</kbd>|
|『 |二重かぎかっこ|<kbd>shift</kbd> + <kbd>[</kbd>|
|』 |二重かぎかっこ|<kbd>shift</kbd> + <kbd>]</kbd>|
|［ |大かっこ|<kbd>6</kbd> <kbd>space</kbd> または <kbd>option</kbd> + <kbd>[</kbd>|
|］ |大かっこ|<kbd>7</kbd> <kbd>space</kbd> または <kbd>option</kbd> + <kbd>]</kbd>|
|（ |小かっこ|<kbd>8</kbd> <kbd>space</kbd> または <kbd>shift</kbd> + <kbd>9</kbd>|
|） |小かっこ|<kbd>9</kbd> <kbd>space</kbd> または <kbd>shift</kbd> + <kbd>0</kbd>|
|｛ |中かっこ|<kbd>shift</kbd> + <kbd>option</kbd> + <kbd>[</kbd>|
|｝ |中かっこ|<kbd>shift</kbd> + <kbd>option</kbd> + <kbd>]</kbd>|
|【 |すみつきかっこ|<kbd>option</kbd> + <kbd>9</kbd>|
|】 |すみつきかっこ|<kbd>option</kbd> + <kbd>0</kbd>|
|〔 |亀甲かっこ|<kbd>shift</kbd> + <kbd>option</kbd> + <kbd>9</kbd>|
|〕 |亀甲かっこ|<kbd>shift</kbd> + <kbd>option</kbd> + <kbd>0</kbd>|


# インストール方法

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

- MacOSのバージョンに合った[Karabiner Elements](https://pqrs.org/osx/karabiner/)をダウンロード＆インストールします。最新版(12.1.0以降)を選択してください。

![karabiner.png](https://qiita-image-store.s3.amazonaws.com/0/63509/c95a6ae0-6ef1-d914-b7f5-1a6e0107d5c5.png)


## 2. 設定ファイル(oyayubi.json)をインストール

- [oyayubi.json](https://drive.google.com/open?id=1pNnkQht73vDcqE4O4RHbXWDeZfKS943n) をダウンロードしてください。

- ダウンロードしたoyayubi.jsonというファイルを `~/.config/karabiner/assets/complex_modifications` にコピーしてください(terminalでcpコマンドを使うか、FinderでGoメニューを使います)

![6-1.png](https://qiita-image-store.s3.amazonaws.com/0/63509/c9e6d000-d2ec-8032-d788-4151c677a761.png)
![6-2.png](https://qiita-image-store.s3.amazonaws.com/0/63509/2050dda2-72a0-6f79-a16c-f2a8892c6536.png)

> - Karabiner Elementsでは `~/.config/karabiner/assets/complex_modifications` にキー設定用のjsonファイルを配置すると、Preference > Complex Modifications > Add rule で設定ファイルを追加できるようになります。
- さらに Preference > Complex Modifications > Enable / Remove で必要な機能を取捨選択すると、その場で `~/.config/karabiner/karabiner.json` というメインの設定ファイルが自動的に更新され、キーの置き換えが有効となります。(karabiner.jsonをテキストエディタなどで直接編集するのは好ましくありません)

## 3. Karabinerの設定

- Karabiner Elementsを起動してPreference > Simple Modifications を開きます。
- <kbd>caps lock</kbd> を <左control> として使います。
- caps lock機能を使いたい場合は、<kbd>左command</kbd> を押しながら <kbd>右command</kbd> を押します。もう一度押すとcaps lockが解除されます。
![1.png](https://qiita-image-store.s3.amazonaws.com/0/63509/18f45274-cfc6-7de4-5d21-7d92d116e043.png)

- oyayubi.jsonファイルが正しくコピーできていると、Preference > Complex Modifications > Add Ruleボタンでus oyayubi shiftが選択できるようになります。
![2-1.png](https://qiita-image-store.s3.amazonaws.com/0/63509/79137b41-ab36-e71e-e233-73e67a51f25d.png)
Enable Allボタンを押して以下のようにしてください。すでに他の設定ファイルがあると、キー設定がバッティングしてしまう可能性があるので削除することをおすすめします。
![2-2.png](https://qiita-image-store.s3.amazonaws.com/0/63509/47d74ee0-b4a4-00b6-763a-1ac7ac9a53b7.png)

- Preference > Complex Modifications > Parameters の設定が以下のようになっていることを確認してください。
![3.png](https://qiita-image-store.s3.amazonaws.com/0/63509/c0060299-6dca-ba20-afda-6f90f0ae8231.png)


## 4. MacOS標準日本語入力の設定

- Input modesではHiraganaとRomajiのみチェックしてください。
- <kbd>caps lock</kbd> は <kbd>control</kbd> として使いますが、ここでは設定せずにKarabiner ElementsのPreference > Simple Modifications で設定してください。
![4-1.png](https://qiita-image-store.s3.amazonaws.com/0/63509/e1e69a1a-6695-1057-d0ec-ab0918f87579.png)

- Live Conversionはチェックすることをおすすめしますが必須ではありません。
- Predictive Candidatesにチェックすると処理速度が遅くなることがあるのでここではチェックしていません。
![4-2.png](https://qiita-image-store.s3.amazonaws.com/0/63509/3bfc4948-a6b8-beb6-f43c-bd91b0a38d25.png)

- 一般的な日本語記号設定です。
![4-3.png](https://qiita-image-store.s3.amazonaws.com/0/63509/3dc1ca36-93d1-b993-8845-f1fd9feb1c61.png)

- System Preferences > Keyboard > Keyboard > Modifier Keys でもあえてCaps Lockの設定は変えていません。ここで設定してしまうと、Karabinerでの設定よりも優先されてしまうためです。
![5.png](https://qiita-image-store.s3.amazonaws.com/0/63509/7f022918-b6a3-76c6-4921-8c787dcfc2c1.png)


# 感謝その他

<dl>
<dt>Karabiner Elements (https://pqrs.org/osx/karabiner/)</dt>
<dd>
MacBook Proにタッチバーが搭載されたために、Sierra以降のMacOSで旧バージョンのKarabinerが使えない状態が続いていましたが、しばらく前にKarabiner Elementsとして生まれ変わり、その後の怒涛のバージョンアップによりSimultaneous設定に対応したいただいたおかげで、今回、oyayubi.jsonを公開できるようになりました。これでやっと新しいMacOSでUS親指シフト入力ができるようになりました。本当にありがたいことです。
</dd>
</dl>

<dl>
<dt>US親指シフト(仮称)</dt>
<dd>
左右のコマンドキーとスペースキーで親指シフトをするというアイデアは、実は私のオリジナルではなく、正式な呼称も含めて出所不明です。ご存知の方がいらっしゃったらぜひ教えてください。ともあれ、この方法がUSキーボードで親指シフト入力を実現するもっともエレガントな方法だと個人的には確信しています。ありがとうございます。
</dd>
</dd>

<dl>
<dt>ruby / json gem</dt>
<dd>
今回、oyayubi.jsonコードを作成するにあたり、親指シフト設定に特化した簡易な定義ファイルを作成してからrubyのプログラムでJSONコードに変換するという方法をとりました。手作業でJSONコードを書き下ろしていたら絶対に挫折していました。railsもいいけど、こういうちょっとした変換プログラムの作成にもrubyは最強ですね♪
</dd>
</dl>

<dl>
<dt>もっと普及してほしい</dt>
<dd>
世間一般的には「Windows > Mac」、「JISキーボード >> USキーボード」、「ローマ字入力 >>> 親指シフト入力」というのが現状です。そういう意味では、ここで紹介した方法はあまのじゃくの極みと言えるかもしれません。でも、必ずしも良いものが普及するとは限らないのが世の常でもあります。一人でも多くの人がこの方法を試してみて、その快適な使い心地に触れ、使うようになってくれれば嬉しいなと思います。
</dd>
</dl>