macOSでUS配列のMagic Keyboardのバッククォートが§になる問題を直した
症状
macOSでUS配列の外付けApple Magic Keyboardを使っていたところ、バッククォート(`)のキーを押すと § が入力されるようになりました。
私の環境では、Karabiner-Elementsの 「Swap ISO layout-specific keys」をON にすると、バッククォートを入力できるようになりました。
設定場所は Devices → 対象のMagic Keyboard → Swap ISO layout-specific keys です。
Karabiner-Elementsで変更した設定
- Karabiner-Elementsの設定画面を開きます。
Devicesを開きます。- 対象の外付けMagic Keyboardの設定を開きます。
Swap ISO layout-specific keysをONにします。- 文字を入力できる画面でバッククォートのキーを押し、
§ではなくバッククォートが入力されるかを確認します。
設定変更後、私の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 を有効にする案内があります。