MacOSでMacBookにREALFORCEのキーボード(REALFORCE TKL / R2TL-JP4-BK)を接続して使おうとすると、エディタ「vi」で”:”が入力できず、「vi」を終了できなくて困りました。”@”なども入力できません。
JISキーボードがUSキーボードとして認識されてしまっている場合にこのようなことが起こります。
本稿ではKarabiner-Elementsを使用している場合を含めて、対処方法を紹介します。

JISキーボードを認識させる一般的な方法とは
この現象の解決策として一般的なものは、以下の手順です。
アップルメニューから[システム設定]を選択し、左ペインの[キーボード]をクリックします。画面下の[キーボードの種類を変更]をクリックします。

「キーボード設定アシスタント」画面が起動されるので[続ける]をクリック。

左[Shift]キーの右隣の[Z]を押します。

右[Shift]キーの左隣の[_](アンダースコア)キーを押します。

「キーボードの種類を選択」画面で[JIS(日本語)]を選択し、[完了]をクリックします。

Karabiner-Elementsを使用している場合には
Karabiner-Elementsを使用していると、上記で紹介した方法だけではJISキーボードに切り替えることができません。Karabiner-Elementsとは、macOSのためのキーボード入力をカスタマイズするアプリです。具体的には、JISキーボードの[変換]キーをMacの[かな]キーにマッピングできたりします。
Karabiner-Elementsではキーボードの入力をアプリが横取りして、別のキーに変更する仕組みと思われ、予めアプリがキーボードの種類を知っておく必要があるようです。
Karabiner-Elementsを起動し、左ペインの[Virtual Keyboard]を選択します。
続いて、キーボードごとに「Country code」が設定できるので、下図のように、[JIS(Japanese)]を選択します。

続いて「キーボード設定アシスタント」でも[JIS(日本語)]の設定を行い、macOSを再起動します。
これでJISキーボードから”@”マークなど、キートップ通りの入力できるようになります。