1

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

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

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

Вещи, которые я пробовал:

  • Попытка Радости.Калибровка капрала [не работает]
  • Попытка поиска драйвера / поддержки на сайте 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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .