Mac で JIS配列設定にした REALFORCE が別配列になった時に対処したこと

## はじめに
以下のミニPC などといっしょに使っている「REALFORCE R3 Keyboard / R3HC21」。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/fd9d6ec3-ad67-5796-8676-9e819466ec80.png)

キーの刻印/配列が Windows用/JIS にはなっているものの、Mac でも利用可能となっている、↓こちらのキーボードに関する話です。

https://x.com/youtoy/status/1643958669586083843

「REALFORCE R3 Keyboard / R3HC21」を Mac で使おうとした際に「キーボード設定アシスタントで JIS配列にしたにも関わらず、違う配列で認識されてしまった」という現象に対処した際のメモになります。

## 背景情報
### 東プレさんの公式の情報
利用しているキーボードの仕様や上記の問題に関連しそうな内容について、公式情報を見てみます。

製品の公式のページは以下です。

●製品 : REALFORCE / R3HC21 | REALFORCE
　https://www.realforce.co.jp/products/R3HC21/

キーの刻印は Windows用ですが、以下の赤線で示した部分に記載のとおり、Mac でも問題なく使えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/72584bf0-88ce-4027-af61-81b77337ea79.png)

それで Mac で使おうとしたのですが、「キーボード設定アシスタントで JIS配列にしたにも関わらず、違う配列で認識されてしまった」という現象が起こり、それは意図しない挙動をしていそうでした。

それでカスタマーセンターの Q&A を検索してみたところ、以下のキー配列に関する問題の Q&A が出てはきましたが、書いてある内容は、自分がやっている「キーボード設定アシスタントで JIS配列にする」というものでした。

●[Macで日本語配列のキーボードが正しく認識されません。キー配列が違うようです。 – REALFORCEカスタマーセンター](https://realforcesupport.zendesk.com/hc/ja/articles/4417477010835-Mac%E3%81%A7%E6%97%A5%E6%9C%AC%E8%AA%9E%E9%85%8D%E5%88%97%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E8%AA%8D%E8%AD%98%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93-%E3%82%AD%E3%83%BC%E9%85%8D%E5%88%97%E3%81%8C%E9%81%95%E3%81%86%E3%82%88%E3%81%86%E3%81%A7%E3%81%99)　

それがうまくいっていない、という状況...

### 機器構成
ここで、自分が使っていた環境について、補足しておきます。

REALFORCE を使っていた環境は、PC直つなぎではなく、モニタを通じた接続でした。
もう少し書くと、USB機器をつなぐことができるモニタを経由しての接続です（モニタと PC を Type-C で接続すると、その接続を使って PC からの映像出力・PC への給電・モニタ内蔵の USBハブの利用ができるもの）。

ざっくり書くと、以下となります。

```
REALFORCE - USBハブ - モニタ - Mac（MacBook Pro）
```

モニタ内蔵の USB端子には、そこから別の USBハブをつないでいて、そのハブを介して REALFORCE と別の機器など複数の機器をぶらさげていました（後ほど、それが問題を引き起こしたかもしれない原因の 1つだと分かったりも）。

## 対処方法
### Web で探した情報
公式情報では、自分の環境での問題に対する解決法がなさそうだったので、Web で検索してみました。

それで見ていった情報の中で、解決につながった情報は下記です。

●Mac用Realforceキーボードで、日本語入力が出来ないときの解決法。 | mamenaka（マメナカ）

https://mamenaka.jp/blog/cannot-input-japanese/

具体的には、以下 2つを参考に対処したところ、問題が解決しました。

1. USBハブ経由でつないでいたドングル関連の対処
1. 「com.apple.keyboardtype.plist」ファイルに関する対処

この後に、それぞれの詳細を書いていきます。

#### 1つ目：USBハブ経由でつないでいたドングル関連の対処
解決につながった内容の 1つ目の話です。

ヒントになったのは、上記のサイトの中で書かれた、以下の部分です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/cf9ffadb-2d42-228b-6a2b-450a6a39764e.png)

Karabiner を使っていたという話ではなく、「本来、認識されるべき REALFORCE が認識されず、別の何かが認識された状態になる」というのが、自分の環境でも起こっていました。

上で「モニタ内蔵の USB端子には、そこから別の USBハブをつないでいて、そのハブを介して REALFORCE と別の機器など複数の機器をぶらさげていました」という記載をしていました。

そこに、ロジクールのマウス・キーボードをつなぐ際に使えるドングルをつないでいました。これが悪さをしていた状況でした。

「本来、認識されるべき REALFORCE が認識されず、別の何かが認識された状態になる」というのが起こりうるのを知ってから、あらためて Mac の「キーボード設定アシスタント」を使っている際の表示を見なおしてみたところ、設定対象の製品ベンダーの表示が東プレでなくロジクールになっていました。

これの対処は、設定中にロジクールのドングルを外しておく、というやり方で解決できました。

#### 2つ目：「com.apple.keyboardtype.plist」ファイルに関する対処
上記の対処をして、無事、「キーボード設定アシスタント」で東プレのキーボードだと認識させた状態で、設定ができました。

しかし、それでも JIS配列で設定したものが、Mac の設定にうまく反映されませんでした。

それでさらにやってみたのが、以下の内容です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/38249ad5-5d41-2fcc-03cd-7f5946b5e8d3.png)

具体的には、上記の「キーボード設定アシスタント」を使う際にロジクールのドングルは外すというのはやりつつ、既に設定ファイルとして作成がされていた「com.apple.keyboardtype.plist」ファイルを削除しました。

その上で、Mac再起動後に「キーボード設定アシスタント」を使うというやり方をしました。

この手順をふむことで、最終的に「キーボード設定アシスタント」で JIS配列設定にしたものが、Mac で正常に反映される状態になりました。

## おわりに
Mac で JIS配列設定にした REALFORCE が、別配列になってしまった問題に関して、対処した内容をメモとして記事にしました。

とりあえず、無事に解決できたので良かったです。

## 余談
今回、あれこれ調査をしていく中で、今回の問題解決の話に関連はしないですが、自分が持っている REALFORCE を Windows だけでなく Mac でも使うという話に関連して、気になった情報があったのでメモとして残します。

●Macで使用するのに使いやすいキーマップを教えてください – REALFORCEカスタマーセンター
　https://realforcesupport.zendesk.com/hc/ja/articles/4410823471251-Mac%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E4%BD%BF%E3%81%84%E3%82%84%E3%81%99%E3%81%84%E3%82%AD%E3%83%BC%E3%83%9E%E3%83%83%E3%83%97%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/42eab384-e87d-87c4-4084-440c734caf41.png)