flycast icon indicating copy to clipboard operation
flycast copied to clipboard

Thrustmaster FFB only one direction (needs alternative FFB like FFBPlugin)

Open Endprodukt opened this issue 7 months ago • 8 comments

Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.

Platform / OS / Hardware: Windows 11

Flycast version: 2.5

Hardware: Thrustmaster T500rs Wheel

Description of the Issue

Thrustmaster requires a different type of FFB integration (see FFBArcade Plugin) or FFB will only work in one direction. I would use the plugin but can't turn off FFB in Flycast.

Debugging Steps Tested

Go into Initial D FFB test menu. You can only go left, not right.

Endprodukt avatar May 27 '25 17:05 Endprodukt

In Settings > Controls > Your wheel > Settings, try setting Rumble power to 0%.

flyinghead avatar May 27 '25 20:05 flyinghead

That results in no output to the wheel in my case.

Endprodukt avatar May 28 '25 05:05 Endprodukt

I can also reproduce this with a T300 wheel so it affects Thrustmaster in general. Tried a workaround with FFB Arcade plug-in that has the "alternative FFB"-option but it will not talk to Flycast (anymore?).

Endprodukt avatar Jun 03 '25 04:06 Endprodukt

Hi there,

I'm writing to propose a feature that would improve force feedback (FFB) support for Thrustmaster wheels in Flycast, particularly for users playing arcade racing titles.


🧠 Background

Some racing arcade games (especially Sega Ring and Naomi-based) output directional force feedback using legacy JVS-style values or raw directional vectors.

While Logitech wheels (like G29) interpret these signals correctly, Thrustmaster wheels often do not – resulting in:

Weak or completely missing force feedback

FFB that only works in one direction

Loss of self-centering or resistance effects


✅ Proposed Solution

Implement a toggleable setting (e.g., AlternativeFFB) that replaces directional force feedback vectors with a simple normalized linear force output, compatible with how Thrustmaster interprets FFB.

This concept is successfully used in Boomslang's FFB Plugin, where it's implemented like this:

AlternativeFFB = 1 AlternativeFFBMinForce = -5000 AlternativeFFBMaxForce = 5000

When enabled, the plugin simply maps the game’s internal FFB values into a safe, hardware-friendly linear range.


🔧 What would need to be done?

  1. Add config/GUI toggle Example: EnableAlternativeFFB = true

  2. Modify FFB force output routine If the mode is enabled:

Replace raw effect structures or directional vectors

Send a single linear force value within a set range (minForce to maxForce)

  1. Optional: Make force values configurable via flycast.cfg or the GUI

I hope this could be considered.

Endprodukt avatar Jun 12 '25 11:06 Endprodukt

I pushed a tentative fix for this issue on the dev branch. According to SDL, one should use SDL_HAPTIC_STEERING_AXIS instead of SDL_HAPTIC_CARTESIAN. It was introduced specifically for Thrustmaster wheels. See https://github.com/libsdl-org/SDL/issues/7941

I did a quick Linux test with my G27 and it seems to work fine. Please get the latest dev build and let me know if it improves things.

flyinghead avatar Jun 13 '25 10:06 flyinghead

I just tested the latest DEV and I'm happy to tell you that it's reactiong exactly as it should. THANK YOU SO MUCH!!!

Endprodukt avatar Jun 13 '25 14:06 Endprodukt

This is great news! Thank you for your feedback.

flyinghead avatar Jun 13 '25 14:06 flyinghead

THANK YOU!

Endprodukt avatar Jun 13 '25 16:06 Endprodukt