「キーボード配列を自動で切り替える」といっても、何が配列を決めるかによって意味が変わります。入力しているウインドウ、前面にあるアプリやWebサイト、あるいは手元の物理キーボードのいずれかです。macOSが対応しているのは最初のひとつだけで、残りはアプリで実現します。何で配列を決めたいかに合わせて選びましょう。
すべての方法をひと目で比較
| 配列を決めるもの | macOS標準 | 向いている用途 | |
|---|---|---|---|
| ショートカットまたは入力メニュー | 毎回自分で | はい | たまに切り替える場合 |
| 書類ごと | 前面のウインドウ | はい | 書類ごとに言語がひとつの場合 |
| Input Source Pro | アプリ、またはブラウザで開いているWebサイト | いいえ(無料アプリ) | キーボードは1台で、アプリごとに言語を使い分ける場合 |
| Keyameleon | 入力しているキーボード | いいえ(無料アプリ) | 印字された配列が異なる複数のキーボード |
| Karabiner-Elements | 自分で書いたルール | いいえ(無料アプリ) | すでにキーボードをカスタマイズしている人 |
標準機能:ショートカットと入力メニュー
まずシステム設定 › キーボード › テキスト入力 › 編集…で配列を追加します。そのうえで、Control Spaceで前の入力ソース、Control Option Spaceで次の入力ソースを選択できます。また、「キーボード」設定で🌐キーを入力ソースの変更に割り当てることもできます。どれも自動ではありませんが、ほかのすべての方法の土台になります。
標準機能:書類ごとの配列
同じ入力ソース設定で書類の入力ソースを自動的に切り替えるをオンにします。すると各ウインドウが最後に使った入力ソースを記憶し、そのウインドウに戻ったときにmacOSが復元します。macOSに備わっている自動切り替えはこれだけで、書類ごとにひとつの言語で書く人に向いています。
アプリ・Webサイトごと:Input Source Pro
Input Source Proは、アプリごと、そしてほとんどのブラウザではWebサイトごとに、デフォルトの入力ソースを設定できる無料・オープンソースのアプリです。ターミナルでは英語、WeChatでは中国語、特定のサイトでは日本語、といった使い方ができます。使用中の入力ソースを画面上にインジケータで表示する機能もあります。Keyameleonとの比較はこちら。
KeyboardHolderも同じ考え方のアプリで、中国語を入力する人によく使われています。アプリごとのルール、ブラウザでのドメインごとのルールに加え、Spotlight、Alfred、Raycastにも対応しています。Keyameleonとの比較はこちら。
キーボードごと:Keyameleon
US配列のMacBookとドイツ語配列の外付けキーボードのように、印字された配列が異なるキーボードを使う場合、書類もアプリも判断材料として適切ではありません。決め手はキーボードです。KeyameleonはmacOS 26以降に対応した無料・オープンソースのメニューバーアプリです。キーボードごとに入力ソースを一度割り当てておけば、どのアプリでも、そのキーボードで入力を始めたときに切り替わります。設定の手順は外付けキーボードのガイドで詳しく説明しています。
キーボードごとに切り替えるツールにはほかに、macOS 14以降で動作するKeychangeや、コマンドラインツールのautokbiswがあります。
ルール:Karabiner-Elements
Karabiner-ElementsはJSONで書いたルールでキーをリマップするツールで、ルールで入力ソースを選択することもできます。例えば、特定のキーボードからキー入力があったときなどです。もっとも柔軟な方法ですが、設定の手間ももっともかかります。詳しくはKeyameleon vs Karabiner-Elementsをご覧ください。
ルールはひとつに絞る
これらはすべて同じシステム設定を変更するため、2つを同時に使うと互いに上書きし合います。何で配列を決めるか(ウインドウ、アプリ、キーボード)を決めて、そのルールに従うツールをひとつだけ使いましょう。