gotzl / hid-fanatecff

Driver to support FANATEC input devices, in particular ForceFeedback of various wheel-bases
GNU General Public License v2.0
151 stars 19 forks source link

Left stick not detected on Formula wheel and Button Module Endurance #77

Open Cykyrios opened 2 months ago

Cykyrios commented 2 months ago

Some wheels, such as all variations of the Formula wheel, the Button Module Endurance, and I assume the same is true for the Clubsport Steering Wheel RS and BMW GT2, feature both a funky switch and an analog stick. The analog stick is not detected at all, except for its button trigger when pressing it. I have already checked the stick is working properly on the Fanatec app on Windows, so definitely not a hardware issue.

gotzl commented 2 months ago

Hi, I can reproduce this with the Clubsport F1. It seems that the min/max values for these axis is not correct. A workaround would be to issue evdev-joystick --evdev /dev/input/by-id/usb-Fanatec_*-event-joystick --axis 3 --min -128 --max 128 --axis 4 --min -128 --max 128

If this works for you as well I will think about a more permanent solution.

Cykyrios commented 2 months ago

Yes, with this LFS now sees one of the 2 axes, but evtest does show values going from -128 to 128 on both RX and RY, so I'll have to assume there is an issue with LFS not being able to detect both (or wine), too bad it only detects RY when I would want to use RX... The remaining issue is probably not related to this, so I think we can consider evdev-joystick fixes it. It seems SDL has been an issue on wine for some games, I'll see if I can find something there.

gotzl commented 2 months ago

You can check what wine sees with wine control joy.cpl. Also, maybe check that sdl2-jstest also sees both RX and RY.

Cykyrios commented 2 months ago

Okay, I might have missed something, I checked wine control earlier and only had RY, but now I do have both RX and RY.

Cykyrios commented 2 months ago

Just a quick note as I tried again this morning: if I try to set both axes at the same time, only one works, I have to set them separately for both axes to be detected by wine.