web-dev-qa-db-ja.com

Windows10でNykoAirflo EXコントローラーの正しいアナログスティックの動作を修正するにはどうすればよいですか?

私は古いNykoAir FloEXを持っています。右のアナログスティックが正しく動作しないことを除いて。いくつか掘った後、これは私が見つけたものです:

  • HID準拠のゲームコントローラーを使用しています
  • ハードウェアID:

    HID\VID_124B&PID_4D01&REV_0101 HID\VID_124B&PID_4D01 HID\VID_124B&UP:0001_U:0004 HID_DEVICE_SYSTEM_GAME HID_DEVICE_UP:0001_U:0004 HID_DEVICE

  • Joy.Cplテストがアイドル の場合

  • アナログスティックボタンを押す (btn 13)もY軸に+1を返します
  • X軸でアナログスティック-1を移動 Y軸でも+1を返します
  • 実際には、あらゆる種類の軸値を起動する小さな遊びがあるようです。通常、X軸移動またはスティックボタンで移動する場合は、下を押します。ボタン13。

関連するかどうかわからない:

  • 右スティックは2と3ではなく軸2と5を使用しているようです

私が試したこと:

  • Joy.Cplキャリブレーションを試みました[機能しませんでした]
  • NykoのWebサイトでドライバー/サポートを探してみました[何もありません]
  • Nykoサポートに電子メールを送信[役に立たない応答]基本的に製品が製造中止になったと述べた
  • Axes\2属性= 00 00 00 01 00 3500およびAxes\5属性= 00 00 00 01 00 32 00 [あまり変更されていないようです]のregkeyを追加するという指示に従いました。
  • Microsoftサイトのdirectinputおよびレジストリ軸オーバーライドに関するドキュメントをさらに読み始めました ここ および sb.org ドキュメント。正しく理解できなかったのかもしれませんが、動作が変わっていないようです。デバイスがXinputによってピックアップされている場合、効果が少ないかどうかはわかりません。

私が探していないもの:

  • キーボードキーへのマッピング
  • この問題を回避するためのミドルウェアアプリケーションのインストール

よろしくお願いします。

1
Santiago

しばらく使っていなかった同じコントローラーがもう1つありました。同時に別のポートに接続することにしました。 html5gamepad でキャリブレーションをテストし、正しい動作をしました。

両方のコントローラー間のレジストリの違いを比較し始めました。それから私は出くわしました

[HKEY_USERS\S-1-5-21-2677610290-3994198311-1182961626-1001\System\CurrentControlSet\Control\MediaResources\Joystick\DINPUT.DLL\JoystickSettings\VID_124B&PID_4D01]
"Joystick1Configuration"=hex:03,00,08,10,0d,00,00,00,0f,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,ff,\
  00,00,00,ff,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,80,00,00,00,80,00,\
  00,00,80,00,00,00,80,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,0d,00,00,00,00,00,00,00
"Joystick2Configuration"=hex:03,00,08,10,0d,00,00,00,0f,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,00,00,00,ff,\
  00,00,00,ff,00,00,00,ff,00,00,00,00,00,00,00,00,00,00,00,80,00,00,00,80,00,\
  00,00,80,00,00,00,80,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,0e,00,00,00,00,00,00,00

Joistic1Configurationが問題です。 16進値を比較したとき、Joystick2Con​​figurationで0eに気づきました。 Joystick1Configでは、その場所の値は0dであり、5番目の16進値で共有されます。

コントローラのプラグを抜いて、Joystick1の最後の0dの16進値を0eに設定しました。そして、..\DINPUT.DLL\CurrentJoystickSettingsにも同じ変更を加えました

ジョイスティックを再び差し込んだとき、何の改善も見られませんでした。そこで、両方のジョイスティックのプラグを抜き、ポートの場所を交換しました。ジョイスティック1が接続されていた前のジョイスティック2を接続する、またはその逆。これで、両方のコントローラーが機能します。

以前にジョイスティックを1つだけ使ってポートを切り替えてみたことがありますか?それで問題が解決したのではないでしょうか。私の代わりに私の人生の時間を頑固にこのことのトラブルシューティングをしました。

0
Santiago