私は古い Nyko Air Flo EX を持っていますが、これは問題なく動作します。ただし、右のアナログ スティックの動作がおかしいのです。調べてみた結果、次のことがわかりました。
- 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
- アナログスティックボタンを押す(btn 13) はY軸に+1を返します。
- X軸でアナログスティックを-1移動Y軸にも+1を返します
- 実際には、あらゆる種類の軸値を発生させるちょっとした遊びがあるようです。通常、X 軸上で移動するときは、ボタンを押すか、スティックボタンを押します。ボタン 13。
関連があるかどうかは不明:
- 右スティックは軸2と3ではなく軸2と5を使用しているようです
私が試したこと:
- Joy.Cpl のキャリブレーションを試みましたが、うまくいきませんでした。
- Nyko の Web サイトでドライバー/サポートを検索しようとしましたが、何も見つかりません。
- Nykoのサポートにメールを送ったが、返答は役に立たなかった。要するに、製品は製造中止になったとだけ言われた。
- Axes\2 Attributes=00 00 00 01 00 35 00 および Axes\5 Attributes= 00 00 00 01 00 32 00 のレジストリキーを追加するという指示に従いました [あまり変化がなかったようです]
- 私はMicrosoftのサイトでdirectinputとレジストリAxes overrideに関するドキュメントをさらに読み進めました。ここそして翻訳元ドキュメント。正しく理解していなかったのかもしれませんが、動作は変更されていないようです。デバイスが Xinput によって検出されている場合、効果が少ないかどうかはわかりません。
探していないもの:
- キーボードのキーへのマッピング
- 問題を回避するためにミドルウェアアプリケーションをインストールする
ご協力いただければ幸いです。
答え1
しばらく使っていなかった同じコントローラーがもう1台あったので、同時に別のポートに差し込んでみることにしました。html5ゲームパッドそして、正しい動作をしました。
両方のコントローラーのレジストリの違いを比較し始めました。そして、私は
[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 進値を比較すると、Joystick2Configuration に 0e があることに気づきました。Joystick1Config では、その値は 0d で、5 番目の 16 進値と共有されています。
コントローラーを外し、Joystick1の最後の0d 16進値を0eに設定しました。そして、..\DINPUT.DLL\CurrentJoystickSettingsでも同じ変更を加えました。
ジョイスティックを再度差し込んでも、改善は見られませんでした。そこで、両方のジョイスティックを取り外し、ポートの位置を入れ替えました。ジョイスティック 1 が差し込まれていた場所に以前のジョイスティック 2 を差し込み、その逆も行いました。これで両方のコントローラーが動作するようになりました。
以前、ジョイスティック 1 つだけでポートを切り替えてみたことがあり、それが問題を解決できたかどうか疑問に思います。この問題のトラブルシューティングに何時間も費やす代わりに。