【未解決】【決定版…にしたいので助けてください】キーボードレイアウトを日本語にする

皆さんこんにちは。胡田です。

キーボードは日本語キーボード派ですか?それともUSキーボード派ですか?私は大学時代にはずっとUS配列で過ごしていたのですが、社会人になってから会社支給のノートPCが日本語配列だったのでもうすっかりUS配列を忘れてしまいました。

でも、たまに、なぜかよくわからないけれどもUS配列になってしまっていることってありますよね。記号がスムーズに打てなくて本当に困りますよね。そして、直し方も色々あるのですが、環境によってうまく行ったり行かなかったり…なんだか無駄に苦労しますよね。

これまでの人生で日本語配列に直せなくて苦労したことが何十回もあり、直し方もまちまちで本当に何度も苦労してしまっているので「これらを一通りやれば絶対に日本語配列になる!」という決定版を作りたく、このエントリを書いております。

どれかの設定変更をすることで直ることもあれば、それでは直らないというケースもあると思います。このページにかかれていることを頭から全部やればどれかでは直る…という感じにできるといいなぁと思っております。

「まだ治らない」「他にもこういう事象と修正方法があるよ」という情報は大歓迎なので是非コメント等で教えてください。

 

Windows 10のキーボードレイアウト設定

まずはOSの設定を確認し、正しく設定します。

※Windows 10はメニューの場所が頻繁に変わりますので、お使いのものとは異なるかもしれません。コンセプトレベルでは変化しないと思いますので適宜読み替えてください。

image

image

image

image

image

image

 

image

 

キーボードドライバを設定する

image

image

キーボードデバイスとして日本語配列のキーボードではないものが認識されていたらドライバを更新して日本語配列のものにします。

 

image

image

image

image

※本来は正しくキーボードを選択することが最適なのですが、とりあえず日本語配列にしたければ標準キーボードの「日本語 PS/2 キーボード(106/109 キー Ctrl + 英数)」を選択してしまうのが簡単です。

image

image

再起動します。

 

レジストリを設定する

ここまでの対応で直ってしまうケースは大半ではありますが、それでもまだうまく行かないケースも多々あります。レジストリで設定します。

 

 

上記の文字列をコピーし、notepad等のテキストエディタに貼り付け、「106keyboard.reg」などと名前をつけて保存します。

 

作成したファイルを管理者権限があるユーザーで実行すると警告が出ますが、そのまま「はい」をクリックします。

image

実行後は再起動してください。

 

(参考)仮想環境で展開するWindows VMのキーボードレイアウトは応答ファイルで日本語レイアウトにしておくことができます。下記エントリを参考にしてください。

 

RDP経由で接続しているHyper-V上の仮想マシン

私の経験だと、物理PCであればここまでの対応で日本語レイアウトになってくれます。

RDP経由で接続している仮想マシンに関してこれでもうまくいかないケースがありました。非常に困りました。というか現在進行系で困っています。実はこれを直したくてこのブログエントリを書き始めたのでした…。急にここから作業記録風になります。

環境は以下です。

  • アクセス元PC: Windows 10 日本語キーボード(問題無し)
  • RDP先PC:Windows Server 2016(Hyper-V Guest)
  • 利用クライアント:リモートデスクトップクライアント(ストアアプリ)
    image

image

キーボードデバイスとしては「Microsoft Hyper-V 仮想キーボード」と「リモートデスクトップキーボードデバイス」の2つが認識されています。

 

キーボードレイアウトに関するレジストリエントリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

を確認すると、USレイアウトの指定になってしまっています。

 

image

これが原因かもしれません。

もちろんレジストリに関してはレジストリファイルを実行済み、変更済みだったのですが、何かのタイミングで戻ってしまうのかもしれません。

image

さらに上で赤枠で囲った「LayerDriver KOR」に関しては、ローカルに関しても、リモートに関してもどちらにも「あると日本語配列にできない」という情報がネット上にあったので削除しておきます。

この状態で一度再起動してみます。

 

結果は現象変わらずでした。残念。

 

image

上記の設定を何度も交互に変更し、レジストリの変化を確認したところ、この設定変更とレジストリ設定が連動していることは確認できました。が、うまくいきません。

 

そして、わかっていることとして、「リモートデスクトップクライアント(昔からあるmstsc.exe)」で接続したときと、Windowsストアアプリのリモートデスクトップクライアントでアクセスしたときとでは、キーボードレイアウトが異なっています。RDPクライアント側の問題である可能性も高そうに思います。

 

この線で検索したところ、下記の記事がヒットしました。

確認したところ、記事の通り、KBDJPN.DLLになっていました。

image

 

image

kbd106.dllに変更して、再起動しました。

 

結果、確かにキーボードレイアウトは変化しましたが、またUS配列とも日本語配列とも異なるレイアウトになってしまいました…。(UWP版のリモートデスクトップ)

しかし、mstsc.exeでは正常に日本語レイアウトでキーボードを打てるようになりました!

 

…というわけで、現段階ではここまでにしたいと思います。どうやら「UWPアプリ」が別枠で問題を抱えており、そこへのケアが必要な状況のようです。

そのうちWindowsが更新されて自然に直ることを期待しますが、「こうすればUWPアプリも含めて大丈夫だよ!」という情報あればいただけると嬉しいです!

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

コメントを残す

メールアドレスが公開されることはありません。

x
2019/12/17にAzure Stack HCIのセミナーにて登壇します!懇親会もあります!ぜひご参加ください!紹介記事はこちらをクリックしてください