米国で買ったMacBookにイタリア語配列のキーボードをつなぐと、記号の半分ほどが違う文字で入力されます。Macをイタリア語に切り替えると、今度は内蔵キーボードのほうがおかしくなります。これは、macOSがひとつの入力ソース(キーボードレイアウトや入力方式を指すAppleの用語)をすべてのキーボードに同時に適用するためです。このガイドでは、両方の配列を設定し、キーボードごとに直せるキーを直したうえで、入力しているキーボードに配列が追従するようにします。

ひとつの配列がすべてのキーボードに適用される理由

使用中の入力ソースは、システム全体でひとつだけの設定です。入力メニューで選んだものが、内蔵キーボードにもUSBやBluetoothのキーボードにも同じように適用されます。macOSはショートカットで切り替えたり、書類ごとに記憶したりはできますが、入力ソースをキーボードに結びつけるオプションはありません。

ただし、キーボードごとに記憶されるものも2つあります。キーボードの種類(ANSI、ISO、JIS。ShiftキーやReturnキー付近のいくつかのキーで入力される文字が決まります)と、修飾キーです。これらはステップ2と3で扱います。

ステップ1:キーボードごとに配列を追加する

  1. システム設定 › キーボードを開きます。
  2. テキスト入力で、「入力ソース」の横にある編集…をクリックします。
  3. +をクリックし、言語を選んでから、キーボードに印字されたキーに合う配列(イタリア語、ドイツ語、英国、フランス語など)を選んで追加をクリックします。
  4. メニューバーに入力メニューを表示をオンにして、使用中の配列を確認・変更できるようにします。

キートップに合うのがどのバリエーションかわからない場合は、入力メニューからキーボードビューアを表示を選び、手元のキーボードと見比べてください。

ステップ2:キーボードの種類を設定する

macOSが認識できないキーボードを接続すると「キーボード設定アシスタント」が開き、種類を判別するためにいくつかのキーを押すよう求められます。これを閉じてしまったり、判別が間違っていたりすると、1の左のキーとZの左のキーが入れ替わったり、違う記号(§と`、<と>)が入力されたりします。

もう一度実行するには、キーボードを接続してシステム設定 › キーボードを開き、キーボードの種類を変更…をクリックします。キーボードの種類が間違っていると配列が間違っているように見えますが、どの入力ソースに変えても直りません。

ステップ3:Windows用キーボードでCommandとOptionを入れ替える

Windows向けのキーボードでは、スペースバーの隣にあるのはAltキーで、Macのキーボードなら⌘がある位置です。そのキーボードだけで入れ替えるには、システム設定 › キーボードを開いてキーボードショートカット…をクリックし、修飾キーを選びます。上部のメニューで外付けキーボードを選択し、OptionキーをCommandに、CommandキーをOptionに設定します。

ステップ4:キーボードを替えたら配列も切り替える

これで両方の配列が使えるようになりました。残るは、キーボードを行き来するたびに正しい配列を選ぶことです。

手動で切り替える

Control Spaceを押して前の入力ソースに戻すか、「キーボード」設定で入力ソースの変更に割り当てていれば🌐キーを押すか、入力メニューから選びます。これでも使えますが、毎回忘れずに操作する必要があり、別のキーボードで打った最初の単語はたいてい間違った配列で入力されます。

書類ごとに切り替える

ステップ1の入力ソース設定で書類の入力ソースを自動的に切り替えるをオンにすると、各ウインドウが最後に使った入力ソースを記憶します。書類ごとに言語が決まっている場合には便利ですが、同じ書類のなかでキーボードを持ち替える場合には役に立ちません。

キーボードごとに自動で切り替える

ここでKeyameleonの出番です。macOS 26以降に対応した、無料・オープンソースのメニューバーアプリです。

  1. Homebrewでbrew install --cask mastro993/tap/keyameleonを実行してインストールするか、最新リリースからDMGをダウンロードし、Keyameleonを「アプリケーション」フォルダにドラッグします。
  2. アプリを開きます。ガイド付きセットアップで入力監視の許可を求められます。この許可は、キー入力がどのキーボードから来たかを判別するためだけに使われます。
  3. キーボードごとに入力ソースを選びます。例えば、内蔵キーボードにはU.S.、外付けキーボードにはイタリア語を割り当てます。

以降は、あるキーボードで入力を始めると、どのアプリでもKeyameleonがそのキーボードの入力ソースに切り替えます。キーボードは接続を外したり再起動したりしても記憶されます。ひとつ注意点があります。Keyameleonはキー入力を検知してから切り替え、入力内容には一切手を加えないため、新しく使い始めたキーボードの最初のキーは前の配列のまま入力されることがあります。

macOS 14または15を使っている場合は、Keychangeを検討してください。詳しくはKeyameleon vs Keychangeをご覧ください。コマンドラインで使うツールについてはKeyameleon vs autokbiswをご覧ください。

トラブルシューティング

  • 一部のキーだけがおかしい(Shiftキーの周辺、1の左、Returnキーの近く):キーボードの種類が間違っています。ステップ2をやり直してください。
  • ほとんどの記号がおかしい:使用中の入力ソースが、キーボードに印字された配列と合っていません。入力メニューを確認してください。
  • ⌘とOptionが逆になっている気がする:ステップ3のように、そのキーボードの修飾キーを設定してください。
  • Keyameleonが切り替わらない:メニューバーにあるKeyameleonのメニューを開いてください。入力監視がオフになっている、切り替えが一時停止している、割り当てた配列がインストールされていない、といった問題の内容が表示され、解決方法が示されます。
  • パスワード入力中に切り替わらない:パスワードフィールドなどでセキュア入力(Secure Input)がオンになっている間、macOSはキーボードの操作をほかのアプリから隠します。オフになると切り替えが再開します。