症状

macOSでUS配列の外付けApple Magic Keyboardを使っていたところ、バッククォート(`)のキーを押すと § が入力されるようになりました。

私の環境では、Karabiner-Elementsの 「Swap ISO layout-specific keys」をON にすると、バッククォートを入力できるようになりました。 設定場所は Devices → 対象のMagic Keyboard → Swap ISO layout-specific keys です。

Karabiner-Elementsで変更した設定

  1. Karabiner-Elementsの設定画面を開きます。
  2. Devices を開きます。
  3. 対象の外付けMagic Keyboardの設定を開きます。
  4. Swap ISO layout-specific keys をONにします。
  5. 文字を入力できる画面でバッククォートのキーを押し、§ ではなくバッククォートが入力されるかを確認します。

設定変更後、私のMagic Keyboardではバッククォートが入力できました。

macOSのキーボード設定で試したこと

解決する前に、macOS側でキーボードの種類を選び直せないかと考えて設定画面を探しました。 しかし、私の環境では「キーボードの種類を変更」という項目が見つかりませんでした。

「キーボードを設定…」も試しましたが、設定画面を行き来するだけで、キーボードの種類を変更する画面には進めませんでした。

keyboardtype.plistの削除もできなかった

キーボードの種類に関する設定をリセットしようとして、次のコマンドも試しました。

sudo rm /Library/Preferences/com.apple.keyboardtype.plist

実行結果には、ファイルが存在しないことを示すメッセージが出ました。

No such file or directory

指定した場所にファイルがなかったため、削除による設定のリセットはできませんでした。

Karabiner-EventViewerでキー名が確認できた

Karabiner-EventViewerでバッククォートのキーを押して確認すると、key_code は grave_accent_and_tilde と表示されていました。

key_code: grave_accent_and_tilde

EventViewerにはバッククォートに対応するキー名が表示されていましたが、入力された文字は § でした。

原因として考えられるANSIとISOの認識の違い

原因として、キーボードの種類であるANSIとISOの認識が、macOSとKarabiner-Elementsの間で一致していなかった可能性があります。

Karabiner-Elementsの公式ドキュメント「Set keyboard type」には、ISO配列で § などの入力文字がキーの印字と一致しない場合があると説明されています。 macOSによる特定キーの入れ替えと、Karabiner-Elementsの仮想キーボードでの扱いが一致しない場合があり、対策としてDevicesの Swap ISO layout-specific keys を有効にする案内があります。