Mac用 Apple英字配列(US)キーボードにおける日本語入力切替のおすすめ：Commandキーのみで実現

私は数年間これを使って、快適な日本語入力の切り替えを行っています！この切り替え方法による影響など、詳しい情報をまとめました。

**設定の所要時間は、ダウンロード＆インストール後、1分〜3分程度です。** （他にもシチュエーション別の対策方法などを記載しているため記事が長くなっています）

※こちらはMacユーザー向けの記事です。[→Windows向けの記事はこちら](http://qiita.com/daichi87gi/items/fefb7f9bbb4f86ebb670)

2019/12/30 更新：全体的に可読性を向上、入力ソース切り替えのショートカット案を追加、コメント頂いたフィードバックを本文に反映

## 目次
* 概要
* 設定手順
* Apple US Keyboard(英字配列)を使うメリット・デメリット
* おまけ

## 概要
* `英数`や `かな`キーがないUSキーボードで、左Commandを`英数キー`、右Commandを`かなキー`に割り当てるように設定し、日本語入力の切り替えを行う
* 元々のCommandの機能は維持され、コピー(Command+C)や貼り付け(Command+V)などのショートカットも利用でき、Commandを2回連続で押すことで入力中の文字の英字・日本語の変換も可能
* 通常の `Command+Space` を使わずに言語切り替えできるので、このホットキーをSpotlight Searchやエディタの入力補完機能※などに割り当てる事が可能
* フリーソフト（Karabiner-Elements)を使用

※入力補完機能：関数名などを途中まで入力すると候補が表示される機能のこと。Microsoft Visual Studioではインテリセンスと言ったりしますね。

![awkus.PNG](https://qiita-image-store.s3.amazonaws.com/0/37334/f69034b6-cdac-3e05-889d-b124c91ca82c.png)

## 手順
### 動作確認環境
2021年〜： Macbook Pro 2019 (US配列)
2018年〜： Macbook Pro 2017 (US配列), Macbook Air 2018 (US配列)
2015年〜： Macbook Pro 2014 (US配列)
記事投稿当時： Macbook Air (JIS配列) + Apple Wireless Keyboard (US配列)

### ダウンロードするもの

* [~~KeyRemap4MacBook~~ → Karabiner-Elements（名前が変わりました）](https://pqrs.org/osx/karabiner/)

### Karabiner-Elementsの設定

以下のスクリーンショットを参考にして手順を追って下さい。

**複雑な変更(Complex Modifications)**タブを選択し、**ルールの追加(Add rule)**ボタンを押す
<img width="996" alt="Karabiner.png" src="https://qiita-image-store.s3.amazonaws.com/0/37334/264b0ad7-092f-268c-22f8-4551e24a3e8a.png">

**インターネットから追加ルールをインポートする(Import more rules from the Internet...)**ボタンを押す
<img width="998" alt="Karabiner-2.png" src="https://qiita-image-store.s3.amazonaws.com/0/37334/b4e37a3c-718a-a6f1-ab8c-fabef5e32b19.png">

検索エリアに**Japanese**入れるなどして検索しましょう（Searchボタン）。ルール**コマンドキーを単体で押したときに、英数・かなキーを送信する。（左コマンドキーは英数、右コマンドキーはかな） (rev 3)**が見つかったら、**インポート(Import)**ボタンを押して追加します。（通常、ブラウザ外で開くための警告が出るため、問題が無いことを確認し**OK**を押します）
<img width="1238" alt="import-from-online.png" src="https://qiita-image-store.s3.amazonaws.com/0/37334/0020c761-4fca-e51f-41c4-f456aa597f4e.png">

画像の赤で囲った項目の**Enable**ボタンを押して有効化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/92f9279b-b236-4ab0-d269-9989723b3b7a.png)

下のようになったら設定完了です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/aa5650a8-b741-6476-07bd-3b6e91558488.png)

* 左右のCommandキーで入力切り替えを試してみて下さい。
* 右Commandキーを押して何か入力した後、左Commandキーを2連打してみて下さい。
* 逆に、左Commandキーを押して何か入力した後、右Commandキーを2連打してみて下さい。こちらは入力する場所や設定によっては機能しない事があります。

※ `Command` を2回連続で押すことで、入力中の文字の英字・日本語の変換が可能になります。慣れると非常に便利です！

---

↓タッチバーなしMacの方はこのセクションをスキップして、次の **「コマンド２回押し（英数２回押し・かな２回押し）の対応」** へ進んで下さいね！

#### タッチバー付きのMacでJetBrains等のIDEを使っている方へ

JetBrains社のIDEでは、Shift+タッチバーのファンクションキー（例：Shift+F6）が効かない問題があります。（2019/07/14確認）（他のIDEでも同様の問題があるかもしれません。是非コメントでご報告頂けると🙏）

画像のように`Devices`の`No product name (No manufacturer name)`にチェックを入れると効くようになります。参考用に画像内にいろいろコメントを入れてみました。

![Karabiner-devices.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/0b7353c9-f629-2379-389b-f1d8d8d47f1d.png)

参考： https://github.com/tekezo/Karabiner-Elements/issues/1160


##### タッチバー補足1）ファンクションキーを表示していない場合 (Touch Bar + JetBrains IDE)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/688a1cd4-11be-c051-aa65-3635489a0697.png)

この状態で、`Fn+Shift+F6`で`Shift+F6`を入力できます！

ただし、キーの組み合わせによっては高難度・・・私は`Fn`キーの押下を省きたいので、次の「タッチバー補足2」の解決案を（妥協して）使っています。（2019/08/06時点）

##### タッチバー補足2）ファンクションキーを表示している場合 (Touch Bar + JetBrains IDE)

まず、JetBrainsのIDEの設定によりIDE側でファンクションキー（F1, F2, etc.）をTouch Barに表示させます。

<img width="763" alt="jetbrains.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/5877d74e-c9fb-50af-9bfe-836e42f55a75.png">

次に、普通なら以下のように設定すれば上手くいくと思うのですが…　画像内に記載の通り、このままでは上手くいきません。

![key settings.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/3a88872a-e92f-86ea-4d5e-3ac28f5c804a.png)

（どうしてこうなった？！）設定がややこしいですね… デフォルトがApp Controlsの時に同時に使えるControl Stripを使ってのボリューム・光度変更が非常に便利なのですが、こんなに問題が起こるのであれば諦めてファンクションキーをデフォルト表示にして、以前と同じように使う方のが無難かもしれません… ということで、解決案です↓

![Screen Shot 2019-08-04 at 1.01.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/7698f8f2-fd81-d118-93a3-53c672a9b58f.png)

**※こちらmacOS Mojave（2019年）に確認した内容なので、macOS Catalina以降（2020年〜）で改善できているか確認された方は是非、コメントにて共有をお願いします！ありがとうございます。**

---

### ATOKでコマンド２回押し（英数２回押し・かな２回押し）の対応

便利なCommand2回押し変換が、ATOKでは効かない事がありますが簡単な設定で直すことができます。

わかりやすい記事がありましたので、こちらのブログを引用させていただきました！感謝。スクリーンショットを読むか、以下のURLから引用元を参照してください。
http://yhashii.blog.fc2.com/blog-entry-1481.html
<img width="700" alt="Screen Shot 2018-08-23 at 10.12.48 PM.png" src="https://qiita-image-store.s3.amazonaws.com/0/37334/cf9e1c73-7212-9b59-f693-2c38a1e49d40.png">

※これによって英語の入力ソースが複数になった場合は、最後に使った入力ソースが優先されますのでATOKの英語、ATOKの日本語の2つに揃えましょう。それで上手くいくはずです！

### 標準の入力切り替えの無効化方法（Command + Spaceの無効化）

もし、英語と日本語の2つの入力ソースだけで十分であれば、もう標準の入力切り替えのショートカットは不要です！ 特に （私のように） `Command + Space` や `Control + Space` が他のショートカットと衝突して困る方は、このショートカットを無効、または変更しましょう。

Appleのアイコンのメニュー（通常、左上）からシステム設定＞キーボードと進み、画像のようにCommand+スペースが割り当てられている設定のチェックを外します。

![setting.png](https://qiita-image-store.s3.amazonaws.com/0/37334/b12152d7-c218-a1cc-fe56-d91685f5e444.png)

#### 標準の入力切り替えのショートカットを変更する場合

もし、他にも入力ソース・IMEを使う場合は、このように変更することをおすすめします。

（オプション1）`Option + Backtick/Backquate` で入力切り替えして、WindowsでUSキーボードを使っている時に近い操作感にする。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/37334/c511780c-6a83-513b-6ce2-d422f3a55450.png)

（オプション2）私は少し不便ですがこちらの `Shift + Command + Backtick` で採用しました。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/2e07a2d3-0a00-f3cc-a8b1-ac6b525021ab.png)

※ 希なケースだと思いますが、 `Option + Backtick` は、中国語（簡体字）の発音表記法で第四声記号の入力に用いられます。(ABC Extendedという入力ソースになります）

他にオススメのショートカットがあれば教えて下さいね！😃

##### OS X Yosemiteの場合（設定の配置が異なる）

OS X Yosemiteの場合はここにありました。（英語で使っていますが、日本語でもおそらく同じような配置だと思います）

![osxyosemite.png](https://qiita-image-store.s3.amazonaws.com/0/37334/0dc3f0c3-8d8e-cc72-64da-8d419fc6e416.png)


## そもそもなぜUSキーボード？
興味本位でこの記事を見ている人のために、英字配列のメリットとデメリットも書いてみました。

### US配列(英字配列)キーボードを使うメリット
* 記号の配置が大きく異なる 
 * 括弧の入力キーが横並びになっている　例えば{ }や[ ]など直感的に入力できる
 * UNIX操作時の記号入力が楽ちん（あまりShiftを押さなくてOK）
 * そんなわけでプログラミングに最適
 * 開発ツールなどで使うショートカットキーがUS配列を前提に設定されていることがあり、カスタマイズなしでも操作性が高い
* `英数キー`、`かなキー`が無い分、`Commandキー`が`Spaceキー`に近い
 * Commandキーに楽々親指が届く　これに慣れたらもう抜け出せない…
 * ショートカットを駆使する人にとって、入力がとても楽になる
* Macbookの場合、ホームポジションに手を置いたときにトラックパッドが両手のちょうど間に位置する
 * JISの場合は右手が触れてしまう位置にトラックパッドが配置されているのに対し、USなら問題なし
* 日本国外でJIS配列の入手が難しいが、US配列は手に入りやすい（コメントありがとうございます！）

## US配列(英字配列)キーボードを使うデメリット
* 日本ではほとんど販売されていないため入手しづらい(Apple Storeなら買えるが、Mac向けである)
* MacbookではUSキーボードを選択できるが、日本では他のほとんどのノートパソコンにおいてJISキーボードが採用されているため選択肢が限定的
* 日本ではやっぱりマイナーなので、他の人が使った際に記号の入力などで困る場合がある
* 最初に日本語入力切り替えのための設定が必要（というより、推奨）　※ちなみに英字配列の場合、デフォルトでは`Alt+~`で入力切替を行う
* vimユーザーは `:` がshiftなしで打てる日本語キーボードの方が楽（コメントありがとうございます！）
* 特に、国内ではMac以外でUS配列のキーボードの入手が難しい（実際US配列のWindowsノートPCは売られていない）
* JIS配列で慣れている場合、Controlの位置が変わるなどの違いに慣れるのに時間がかかる（コメントありがとうございます！）


以上です。お気に入りの開発環境を作っていきましょう。

## おまけ

### おまけ設定例1： Caps lockキーの割り当て変更

画像のように、例えばCaps LockキーにMission Control(ミッションコントロール)を割り当てる事も可能です。

<img width="999" alt="caps_lock_mission_control.png" src="https://qiita-image-store.s3.amazonaws.com/0/37334/c447e4c6-bbeb-8332-f7ca-be878dcd2a9e.png">

その他にも、是非お好みのカスタマイズを見つけて下さいね！

### おまけ設定例2： ATOKの設定例

できるだけ無料のIMEを使いたいところですが、私の経験上、おそらくATOKほどビジネス文書の作成に長けたIMEはありません。私はこんな感じでチェックを外して使っています。

![ATOK.png](https://qiita-image-store.s3.amazonaws.com/0/37334/616cdafe-dd04-1aee-441d-31276f3753f6.png)

### おまけ設定例3： カナダ英語のキーボード等とATOKを使うケース

画像のように設定することで、 `Canadian English` と `ATOK` を切り替えて使う事が可能です。

ただし！前述のコマンド2回押し変換で「日本語→英語（例：あいう→aiu）」が効かなくなるというデメリットがあります。2018〜2019年はこの設定で過ごしました＾＾

<img width="669" alt="atok-input-source-my-case.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37334/2caf4ff2-cc2a-e989-77b5-8e5d68c3afa5.png">

このように日本語の入力ソースが複数ある場合（画像では `ATOK` と `Japanese` ）、最後に使った入力ソースが優先されます。