1

I have an old Nyko Air Flo EX which works great. With the exception that the right analog stick behaves incorrectly. After some digging this is what I've found:

  • It's using HID-compliant Game Controller
  • Hardware IDs:

    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

  • When Joy.Cpl Test is Idle

  • Pressing Analog Stick Button (btn 13) also returns +1 on the Y-Axis
  • Moving Analog stick -1 on X-Axis also returns +1 on the Y-Axis
  • There actually seems to be a little play where it fires all sorts of axis values. Usually when traveling on a X-Axis move or stick button press down. Button 13.

Not sure if related:

  • Right stick seems to be using axis 2 and 5 instead of 2 and 3

Things I've tried:

  • Attempted Joy.Cpl Calibration [Did not work]
  • Attempted looking for driver/support on Nyko website [Nothing there]
  • E-mailed Nyko support [Unhelpful response] basically just said product is discontinued
  • I followed some instructions which said to add regkeys for Axes\2 Attributes=00 00 00 01 00 35 00 and Axes\5 Attributes= 00 00 00 01 00 32 00 [Didn't seem to change much]
  • I proceeded to read some more documentation on directinput and registry Axes override on Microsoft site here And usb.org docs. Maybe I didn't understand it correctly but, it didn't seem to modify behavior. I'm not sure if it has less effect if the device is being picked up by Xinput.

Things I'm not looking for:

  • Mapping to keyboard keys
  • Installing middleware applications to work around the issue

Thank you in advance for any help.

0

I had another another of the same controller I hadn't used in a while. I decided to plug it in on a different port at the same time. Tested the calibration on html5gamepad and it had the correct behavior.

I started comparing registry differences between both controllers. Then I came accross

[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 being the problem. When I compared the hex values I notcied 0e on the Joystick2Configuration. On Joystick1Config the value in it's place is 0d which is shared by the 5th hex value.

I unplugged to controller, set the last 0d hex value to 0e on Joystick1. And made the same change in ..\DINPUT.DLL\CurrentJoystickSettings

When I plugged the joystick back in, I did not see any improvement. So then I unplugged both joysticks and swapped their port locations. Plugging previous joystick 2 where joystick 1 was plugged in and vice versa. Both controllers now work.

I wonder if I ever tried switching ports with just the one Joystick before, and if that might have fixed it. Instead of me wasting hours of my life stubbornly troubleshooting this thing.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.