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

399
Santiago

У меня есть старый 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.org . Возможно, я не правильно понял, но, похоже, это не изменило поведение. Я не уверен, имеет ли это меньшее влияние, если устройство захватывает Xinput.

Вещи, которые я не ищу:

  • Отображение на клавиши клавиатуры
  • Установка приложений промежуточного программного обеспечения для решения этой проблемы

Спасибо заранее за любую помощь.

1

1 ответ на вопрос

0
Santiago

У меня был еще один контроллер того же контроллера, которым я не пользовался некоторое время. Я решил подключить его к другому порту одновременно. Протестировал калибровку на 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 

Joistic1 Конфигурация, являющаяся проблемой. Когда я сравнил шестнадцатеричные значения, я заметил 0e на Joystick2Configuration. На Joystick1Config значение на его месте равно 0d, которое используется 5-м шестнадцатеричным значением.

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

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

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

Похожие вопросы