Как исправить поведение правого аналогового стика контроллера Nyko Airflo EX в Windows 10?

Как исправить поведение правого аналогового стика контроллера Nyko Airflo EX в Windows 10?

У меня есть старый Nyko Air Flo EX, который работает отлично. За исключением того, что правый аналоговый стик ведет себя неправильно. После некоторых поисков вот что я нашел:

Не уверен, связано ли это с:

  • Правый стик, похоже, использует оси 2 и 5 вместо 2 и 3.

Что я пробовал:

  • Попытка калибровки Joy.Cpl [не сработало]
  • Попытка поискать драйвер/поддержку на сайте Nyko [Там ничего нет]
  • Написал в службу поддержки Nyko [Бесполезный ответ], в основном просто сказали, что продукт снят с производства
  • Я следовал некоторым инструкциям, в которых говорилось, что нужно добавить regkeys для Axes\2 Attributes=00 00 00 01 00 35 00 и Axes\5 Attributes= 00 00 00 01 00 32 00 [Кажется, особых изменений не произошло]
  • Я продолжил читать дополнительную документацию по directinput и переопределению осей реестра на сайте Microsoft.здесьИusb.orgdocs. Может быть, я не правильно понял, но, похоже, это не изменило поведение. Я не уверен, что это имеет меньший эффект, если устройство подхватывается 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. Когда я сравнил шестнадцатеричные значения, я заметил 0e на Joystick2Configuration. На Joystick1Config значение на его месте — 0d, которое разделяет 5-е шестнадцатеричное значение.

Я отключился от контроллера, установил последнее шестнадцатеричное значение 0d на 0e на Joystick1. И сделал то же самое изменение в ..\DINPUT.DLL\CurrentJoystickSettings

Когда я снова подключил джойстик, я не увидел никаких улучшений. Тогда я отключил оба джойстика и поменял местами их порты. Подключил предыдущий джойстик 2 туда, где был подключен джойстик 1, и наоборот. Теперь оба контроллера работают.

Интересно, пробовал ли я когда-нибудь переключать порты с помощью одного джойстика, и могло ли это исправить ситуацию. Вместо того, чтобы тратить часы своей жизни, упрямо устраняя неполадки этой штуки.

Связанный контент