Windows 環境を触る機会があったのですが、Mac でリモート接続したほうが楽なので Windows 環境のリモート接続を許可して接続してみた。
するとなんでか知らないけど Mac のキーボードが JIS キーボードなのにUS判定されてしまっている・・・。
大体この場合はレジストリを弄るパターンなので下記の手順でなんとかした。
Windows レジストリによるキーボード設定の詳細
Windows では、キーボードレイアウトの情報がレジストリに保存されている。リモートデスクトップ接続時に誤ったキーボードレイアウト(英字キーボードなど)で認識される場合、レジストリキーの設定が問題である可能性がある。
レジストリキーの場所
キーボードレイアウトに関係するレジストリキーは以下になる。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
チェックすべきレジストリ値
上記パスにある以下の項目を確認する。
レジストリ名 | データ型 | 正しい値 | 説明 |
---|---|---|---|
LayerDriver JPN | 文字列 (REG_SZ) | kbd106.dll | 日本語キーボードドライバー |
OverrideKeyboardIdentifier | 文字列 (REG_SZ) | PCAT_106KEY | 日本語キーボード識別情報 |
OverrideKeyboardSubtype | DWORD | 2 | キーボードサブタイプ |
OverrideKeyboardType | DWORD | 7 | 日本語キーボード (106/109) を表す識別子 |
設定方法
(1) レジストリエディターでの修正
- [Windows] + [R] キーを押し、「
regedit
」と入力してレジストリエディターを開きます。 - 上記のパスへ移動します。
LayerDriver JPN
やOverrideKeyboardIdentifier
などの値を確認し、正しい値に修正します。- 修正が完了したらPCを再起動します。
(2) レジストリファイルを作成して修正
以下の内容を .reg
ファイルとして保存して修正する方法です
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver JPN"="kbd106.dll"
"OverrideKeyboardIdentifier"="PCAT_106KEY"
"OverrideKeyboardSubtype"=dword:00000002
"OverrideKeyboardType"=dword:00000007
*注意事項
- バックアップを必ず取る: レジストリ編集はシステムに重大な影響を与えるため、変更前にバックアップを取ってください。
- ドライバーの再インストール: 上記の修正後に問題が解決しない場合、キーボードドライバーを削除して再インストールする方法も検討してください。
- デバイスマネージャーから「キーボード」を展開し、該当するデバイスを右クリックして「デバイスのアンインストール」を選択します。
- 再起動すると Windows が自動でドライバーを再インストールします。
とりあえず、リモートデスクトップ接続あるあるネタなのでメモとして書いておく。
コメント