Hi, I would like to suggest an improvement to WiiStation's HID controller handling.
Some USB controllers, such as the Microsoft SideWinder Game Pad USB (VID 045E / PID 0007), expose the D-pad as two absolute axes (X/Y) rather than as a conventional HAT.
For this controller:
X: 00 = Left, 3F = Center, 7F = Right
Y: 00 = Up, 3F = Center, 7F = Down
WiiStation currently has difficulty handling this because the HID code assumes a conventional analog-stick center around 0x80, while the SideWinder's actual center is 0x3F. Using the DPAD fields also causes conflicts between horizontal and vertical directions.
Would it be possible to improve the HID system to support multiple/independent axes with configurable center/min/max values, and allow an axis to be used for both analog and digital direction input?
This would not only fix the SideWinder, but also improve compatibility with other older USB gamepads, joysticks and arcade controllers that expose directional controls as X/Y axes.
The original SideWinder protocol and the Necroware GamePort Adapter confirm that this controller is fundamentally a 2-axis, 10-button, 0-HAT device.