Windows10リモートデスクトップアプリにおける日本語キーボード使用時の記号入力の不具合の解決

Microsoft store版のWindows 10用リモートデスクトップ（以下、RD）アプリでは、以前から日本語キーボード使用時に一部記号が正常に入力されないなどの不具合がありました。
テレワークの人も最近は増え、同じ問題に直面している人も多そうなので、この問題の解決方法と、解決までに試した方法などをまとめておきます。
先に言っておきますが、***本記事では新たなプログラムの作成やプログラムの書き換えは行っておりません。ユーザーが最も行いやすい対処法を記述するものです。***そして、リモートデスクトップでプログラミングすることが投稿者の至上命題です。
なお、Microsoft Remote Desktop app. は、VPN 接続を使用できるアプリの中でも操作性に優れているため、これを使用する前提で解決方法を模索しました。

本文の流れは、
・本記事の対象となる具体的な不具合
・具体的な解決方法
・Microsoft Remote Desktopを使用しない解決方法
・解決方法発見までに試した情報
・投稿者の環境（動機を含む）
・Microsoft Remote Desktopを使うべき１０の理由
となります。

##具体的な不具合の情報
RDを用いてWindows PCからWindows PCをリモートコントロールすることを考えます。
このとき、日本語キーボード(106/109キー)を使用したときに、以下の表のような入力になります。

|クライアント側で押したキー|日本語入力で入力される文字|英字入力で入力される文字|
|---|---|---|
|＠|入力切替|入力切替|
|Shift+＠（‘）|なし|なし|
|「|＠|@|
|Shift+「（｛）|‘|`|
|；|＾|^|
|Shift+；（＋）|～|~|
|：|；|;|
|Shift+：（＊）|＋|+|
|」|「|[|
|Shift+」（｝）|｛|{|
|\|なし|なし|
|Shift+\（ _ ）|なし|なし|
|＾|：|:|
|Shift+＾（～）|＊|*|
|￥|」|]|
|Shift+￥（｜）|｝|}|

この現象について、本記事では解決方法などをまとめています。

これではプログラミングなんてできたものではありません。
アンダーバーが打てない環境に存在価値などありません。



##解決方法
####クライアント（操作）側のIMEを英語仕様にします。
これを　　　　　　　　　　　　　　こうして　　　　　　　　　　　　こう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/5cce8b0c-5aea-dc26-6110-68810441b3f4.png)　　<img width="185" alt="IME.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/9378cdf1-8267-1514-aa11-efb04800ae00.png">　　　　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/0eb4746c-0a96-71d5-69d7-7250cd5b02ca.png)
これで終了

IMEって何？って人は→http://e-words.jp/w/IME.html
コチラをチェック

嘘みたいですが、これだけですべて解決します。
とは言っても、いちいちマウスをもってクリックするのは面倒なので、
***ショートカットキー（Alt + Shift）を使う***のがおすすめです。

####IMEの英語仕様を選択肢に登場させる方法
このような操作ができないという方へ（普通に日本語で使っている人はまぁできないと思いますが、）
windowsの言語設定に英語を追加(インストール)します。
<img width="600" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/41f798be-5ed2-09bf-6ad9-03a23ec4bdff.png">
<img width="600" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/c97c785b-d028-7757-e9f9-736fb31ea724.png">
<img width="600" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/41d6c487-b971-98f4-d525-ffedfa4b90bf.png">
<img width="600" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/2d66301d-5f19-901a-03aa-7cfe49e3bec5.png">
これにてインストール完了

別の環境だとバーの表示はこんな感じでした。
![4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/e4b4c210-9a4c-23b5-07ce-4eb7265c9899.png)



####不具合の正体
下のアプリケーションでは正常にキー入力できることから、おそらく原因はクライアント側にあるとわかりました。
（つまり、Windows10pro　標準搭載の Remote Desktop Supportのホスト側の処理が原因ではない）
また、英語圏ではこの問題は再現されていません。
US配列のキーボードを用いても同様の不具合が発生します。
ここから、IMEに関する不具合である可能性が高いことが分かります。

IMEをオフにしてキー入力が正常に戻ったということは、
***日本語用のIMEで既にクライアント側で変換された情報を、ホスト側はIMEにもう一度通している***と考えられます。


##Microsoft Remote Desktop app を使用しない解決方法（非推奨）
Microsoft storeにはもう一つRDアプリが存在します。
<img width="800" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684757/7bba6886-492b-2949-b965-dafb63b03590.png">
SEOKYONG NCS　が提供しているアプリケーションです。
これですと、RD時のキーボード入力は正常に行えます。
ただし、Microsoft store版と比べて挙動が悪く、一応使えるが実用性には乏しい。といった状況です。

2020/08/16追記
windowsアクセサリ版RDは問題なく入力できます。
ただし、その他の利便性はMicrosoft store版には劣ります。




##解決方法発見までに試した方法
####レジストリエディタをいじる方法
様々な記事を参考に試してみましたが、うまくいったものは一つもなかったです。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411の
layout FileのKBDJPN.DLLをkbd106.dllに書き換える方法では、
US配列のキーボードが使えなくなる不具合が発生したため、元に戻しました。

効果がない方法はさっさとあきらめて、不具合が出ないうちに戻すのが良いですね。
####Chrome Remote Desktopを使う
結果はかわらず、何もかも同じでした。
####Remote Desktop プレビューを使う
ベータ版？みたいなやつです。結果は同じです。
####キーボードのドライバの更新
デバイスマネージャーからいじる方法です。
通常の探索では当然失敗
コンピュータに存在するドライバから選択する＞互換性のあるハードウェアを表示
のチェックを外して強引に設定しても、同じく失敗に終わります。

他の方法について、思い出したら追記していきます。


##投稿者の環境
様々なリモートデスクトップ用ソフトウェアがありますが、いかんせんP2P接続では不安です。
というか、セキュリティ担当のお許しが出ません。
やはり***セキュリティを万全にするならばVPN接続***することです。
現在の世界情勢を考慮した結果、研究室全体のVPN接続リモートデスクトップ環境を構築する命を負いました。
研究室での使用ですので、みんなに分かりやすい解決方法でないといけません。
そんなわけで、これを見つけました。

以下、投稿者の環境です、
OS : Windows 10 Pro　1903
プロセッサ : intel(R) Core(TM)i7-8650U CPU @ 1.90GHz 2.11GHz
実装RAM : 16.0 GB
システムの種類 : 64ビットオペレーションシステム　x64ベースプロセッサ
半分 Ubuntu にしています。

##Microsoft　store版 Remote Desktopを使うべき10の理由
・VPN接続で使える。
　→セキュリティ面も安心
・Windows 10 Pro 標準搭載の機能で完結する
　→初心者でも大丈夫
・コマンドラインを必要としない
　→初心者でも安心
・接続先ごとに好きな名前でショートカットが設定できる
　→複数台にアクセスする使用法では大変助かる
・接続先のログイン情報は保存できる
　→いちいち入力しなくてよい
・複数台に同時に接続できる
　→３台以上のパソコンを並べて操作する程度の快適性
・ブラウザ内ではなく、一つのソフトウェアとして動く
　→ブラウザのタブに埋もれることがない
・応答速度が速い
　→ストレスフリーな作業環境
・画面サイズが可変（全画面も対応）
　→画面サイズを変更するために再接続の必要がない
・ちゃんとシステム部分には操作できない部分が設定されている
　→初心者に扱わせても安心


##おわりに

研究室で使用予定ですので、順次様々なマシンで試していく予定です。
何かあったら追記していきます。

では、良いリモートワークライフを皆様が送られることを祈りまして

##参考サイト
https://windowsadmin.ebisuda.com/2019/02/01/【未解決】【決定版にしたいので助けてくださ/

##追記ログ
2020/08/16 ショートカットキーの記述とWindowsアクセサリ版の記述を追加