Как исправить правильное поведение аналогового джойстика контроллера Nyko Airflo EX в Windows 10?
У меня есть старый Nyko Air Flo EX, который прекрасно работает. За исключением того, что правый аналоговый джойстик ведет себя некорректно. После некоторых копаний вот что я нашел:
- Он использует HID-совместимый игровой контроллер
Аппаратные идентификаторы:
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) также возвращает +1 на оси Y
- Перемещение аналогового джойстика -1 по оси X также возвращает +1 по оси Y
- На самом деле, кажется, есть небольшая игра, где он запускает все виды значений осей. Обычно, когда вы путешествуете по оси X, двигайтесь или нажимайте кнопку прилипания. Кнопка 13.
Не уверен, если связано:
- Правая палка, кажется, использует оси 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 ответ
У меня был еще один контроллер того же контроллера, которым я не пользовался некоторое время. Я решил подключить его к другому порту одновременно. Протестировал калибровку на http://html5gamepad.com/ и он показал правильное поведение.
Я начал сравнивать различия в реестре между обоими контроллерами. Затем я наткнулся
[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 был подключен, и наоборот. Оба контроллера теперь работают.
Интересно, пытался ли я когда-нибудь переключать порты одним джойстиком и исправил ли бы он это? Вместо меня тратить часы моей жизни упорно устранения этой вещи.