Is there any reason why a Steam Controller would think it has two hats?
The pad on the left is HAT 0, as expected. Note that the pad on the right is not a HAT/DPAD, it is two axes (Axis2 and Axis3) also, as expected.
03000000de2800000211000011010000 "Steam Controller" axes:4 buttons:21 hats:2 balls:0
Still, SDL_JoystickNumHats() returns 2. And bottom hat values on change if a trigger is pressed?
Tested with latest SDL 2.0.14 version.
I think ultimately, this info comes from the kernel via ioctl JSIOCGAXMAP that identifies the triggers as HAT, not as triggers?