I have bought a Flashfire Cobra V6 and it turns out the hat does not work properly under linux. The hat reports as if it's a single axis that remains at a given value depending on the direction I press, with Hat0Y being missing. I've investigated the I/O of the joystick with Wireshark and worked out the output from the joystick for each hat direction:
up: 0x8
up-right: 0xC
right: 0x4
down-right: 0x5
down: 0x1
down-left: 0x3
left: 0x2
up-left: 0xA
idle: 0x0
Which seems completely different from every other USB joystick I've tried that seems to go from 0x0 to 0x7 with 0xF being idle.
Can someone point me where do I look at the source to try to fix?