ほとんどの人には要らない情報ですが、コンソールゲームの開発に関わっているエンジニアには有用な情報かもしれません。
RDP でリモートデスクトップ接続している場合に Xbox コントローラー互換のゲームパッドは設定変更 (グループポリシー設定) だけで使えるんです!!
ここでは接続元 PC も Windows で標準の RDP クライアントを使っているものと仮定します
(mac の Windows App とかだと全然前提が違うかもしれねぇ。自分は Mac からの時でさえ Parallels で ARM 版 Windows から接続してるからよくわからん)
尚、接続元 PC と接続先 PC の両方で設定が必要です。
登場人物
- 接続元 PC (ゲームパッドを接続するほう)
- 接続先 PC (職場などにあり、Unreal Editor とかが動いているほう)
全体の流れ
- 接続元 PC のグループポリシーを編集する
- 接続先 PC のグループポリシーを編集する
- RDP 接続の設定を編集する
- 接続してゲームパッドを使う
接続元 PC のグループポリシーを編集する
ここでは接続元 PC の設定を行います。
検索メニューあるいはコマンドプロンプト, PowerShell などから gpedit を実行します。(この段階では管理者権限は必要ない模様)
左側のツリー内の上位から以下の順に子供へ向かいます。
- ローカルコンピューターポリシー
- コンピューターの構成
- 管理用テンプレート
- Windows コンポーネント
- リモートデスクトップサービス
- リモートデスクトップ接続のクライアント?
- RemoteFX USBデバイスリダイレクト
右の項目の
- このコンピューターからサポートされている他のRemoteFX USBデバイスのRDPリダイレクトを許可する
で
- 有効
- 管理者とユーザー
に設定します。(終わったら gpedit のウィンドウは閉じていいです)
次に管理者として実行しているコマンドプロンプトまたは PowerShell で次のコマンドを実行します。
gpupdate /force
ここで接続元 PC を再起動して、このステップを完了します
(再起動しないと後でリモートデスクトップ接続のオプションに対象が表示されない可能性があります)。
接続先 PC のグループポリシーを編集する
再起動が終わったら 接続先 PC での作業に入ります (RDP 接続して作業して大丈夫です)。
先ほどの接続元での作業と同様に、検索メニューあるいはコマンドプロンプト, PowerShell などから gpedit を実行します。
ここでは複数の項目を設定するので、一つの設定が終わっても gpedit を閉じないほうが楽です。
- ローカルコンピューターポリシー
- コンピューターの構成
- 管理用テンプレート
- Windows コンポーネント
- リモートデスクトップサービス
- リモートデスクトップセッションホスト
- リモート セッション環境
- Windows Server 2008 R2 の RemoteFX
右側の "RemoteFXの構成" を 有効 に設定します。
次にちょっと親まで戻ったところですが
- ローカルコンピューターポリシー
- コンピューターの構成
- 管理用テンプレート
- Windows コンポーネント
- リモートデスクトップサービス
- リモートデスクトップセッションホスト
- 接続
で右側の "ユーザーがリモートデスクトップ サービスを使ってリモート接続することを許可する" を 有効 に設定します。
次にまた同じところまで戻ったところですが
- ローカルコンピューターポリシー
- コンピューターの構成
- 管理用テンプレート
- Windows コンポーネント
- リモートデスクトップサービス
- リモートデスクトップセッションホスト
- デバイスとリソースのリダイレクト
で右側の "サポートされているプラグ アンド プレイ デバイスのリダイレクトを許可しない" を 無効 に設定します。
(紛らわしいですが、許可しないのが無効なので許可するようにするという事でしょう)
この三点で接続先 PC の gpedit での操作も終わりなのでウィンドウは閉じていいです。
次に、こちらでも管理者として実行しているコマンドプロンプトまたは PowerShell で次のコマンドを実行します。
gpupdate /force
自分が試した限りだと、接続先 PC の再起動は必要ありませんでしたが、最後までやっても上手く行かない場合は再起動してみて下さい。
RDP 接続の設定を編集する
アプリ、リモートデスクトップ接続 を起動して左下の "オプションの表示" を押下してオプションを表示します。
タブ、ローカル リソース の ローカル デバイスとリソース のペインにある "詳細" ボタンを押下します。
開いた詳細ウィンドウの中に
- その他のサポートされている RemoteFX USB デバイス
という項目が表示されているはずです。
されていなければ、ここまでの設定の何かが間違っていますので見直したり再起動してみて下さい。
この中に接続したいゲームパッドがあるはずなのでチェックを入れます。
このチェックが入った状態で RDP 接続を .rdp ファイルに保存すると、以下のような感じの行になります。
細かい部分が違うはずなのでコピペじゃだめです。
usbdevicestoredirect:s:-USB\VID_FFFF&PID_FFFF\01.00.00;-USB\VID_FFFF&PID_FFFF\20201231150900000;USB\VID_FFFF&PID_FFFF\FFFFFFFF;-USB\VID_FFFF&PID_FFFF\0000000000000000;-USB\VID_FFFF&PID_FFFF\FFFFFFFF
接続してゲームパッドを使う
上記の接続設定で RDP 接続すると「ぽこ↑ぺん↓♪」とデバイスが外れた時の音がして、接続元 PC に繋いでいるゲームパッドの入力を接続先 PC が受け取れる状態になっているはずです。
えんじょーい (ゆあ わーく)!!

