如何在 Windows 10 上修正 Nyko Airflo EX 控制器右側模擬搖桿行為?

如何在 Windows 10 上修正 Nyko Airflo EX 控制器右側模擬搖桿行為?

我有一台舊的 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:0004 HID_DEVICE_SYSTEM_GAME HID_DEVICE_UP:00041ICE_DEV

  • 什麼時候Joy.Cpl 測試空閒

  • 按下類比搖桿按鈕(btn 13) 也在 Y 軸上回傳 +1
  • 在 X 軸上移動模擬搖桿 -1還在 Y 軸上返回 +1
  • 實際上似乎有一個小遊戲,它會觸發各種軸值。通常在 X 軸上移動時按下移動或操縱桿按鈕。按鈕 13。

不確定是否相關:

  • 右搖桿似乎使用軸 2 和 5,而不是軸 2 和 3

我嘗試過的事情:

  • 嘗試 Joy.Cpl 校準 [無效]
  • 嘗試在 Nyko 網站上尋找驅動程式/支援 [那裡沒有]
  • 發送電子郵件給 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 的更多文檔這裡usb.org文件.也許我沒有正確理解它,但它似乎並沒有改變行為。我不確定如果設備被 Xinput 拾取,它是否會產生較小的影響。

我不尋找的東西:

  • 映射到鍵盤按鍵
  • 安裝中間件應用程式來解決該問題

預先感謝您的任何幫助。

答案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 是問題所在。當我比較十六進位值時,我注意到 Joystick2Con​​figuration 上有 0e。在 Joystick1Config 上,它所在位置的值為 0d,與第 5 個十六進位值共用。

我拔掉控制器的插頭,將 Joystick1 上的最後一個 0d 十六進位值設為 0e。並在 ..\DINPUT.DLL\CurrentJoystickSettings 中進行相同的更改

當我重新插入操縱桿時,我沒有看到任何改善。然後我拔掉了兩個操縱桿並交換了它們的連接埠位置。在插入操縱桿 1 的位置插入前一個操縱桿 2,反之亦然。兩個控制器現在都可以工作。

我想知道我以前是否嘗試過僅用一根操縱桿切換端口,以及這是否可以解決問題。而不是我浪費生命中的幾個小時頑固地解決這個問題。

相關內容