Environment
- Wheel: Logitech G923 (PlayStation 4/PC variant), native mode, PID
0x046D:0xC266
- Game: Forza Horizon 6
- Plugin: TrueForce For All v0.1.18
- SimHub: 9.11.13 (Free), running as Administrator (needed for USBPcap)
- USBPcap: 1.5.4.0
- OS: Windows 11
Summary
While driving, everything works great. The moment I open the pause menu, the wheel turns hard to full lock (left or right) and holds there until I unpause. In the pause menu the plugin shows "Waiting for telemetry" ('FH6' is detected but no telemetry is arriving. You may be in a menu or paused), so the UDP telemetry has clearly stopped, but the wheel is still being driven to lock.
Steps to reproduce
- G923 in native mode, plugin bound, FFB pass-through active (log shows
UsbPcapFfbTap started).
- Drive in free roam or a race. FFB feels correct.
- Open the pause menu.
- Wheel snaps to full lock on one side and stays there.
- Unpause. Back to normal immediately.
Relevant log lines
[Trueforce] Found Logitech G923 (PS/PC) (VID 0x046D, PID 0xC266).
[Trueforce] UsbPcapFfbTap started: \\.\USBPcap2 dev 39
[Trueforce] Forza UDP source listening on 0.0.0.0:5300.
(on pause) UI: "'FH6' is detected but no telemetry is arriving. You may be in a menu or paused."
Root cause (from reading the code)
- The FFB pass-through (
UsbPcapFfbTap) mirrors raw HID++ FFB to the wheel and is not gated by the telemetry/pause state. TryGetFreshFfbTarget(maxAgeMs) only checks sample age, and as the code notes the tap cannot distinguish a game that is still sending a steady force from a game that stopped sending. In the FH6 pause menu Forza keeps sending an FFB packet (behaves like an auto-center), so the tap keeps treating it as fresh and the wheel is driven to lock.
- There is no watchdog that zeros or centers FFB when telemetry pauses. The telemetry source already knows data stopped (that is what flips the UI to "Waiting for telemetry"), but that state does not reach the pass-through path (
FfbTargetProvider keeps reading _ffbTap.TryGetFreshFfbTarget regardless).
Suggested fix
- When the active telemetry source reports paused / no-data (the same condition behind the "Waiting for telemetry" banner), force
cur to 0x8000 (silence center) in the pass-through, or fade it out, until telemetry resumes. In short, gate FfbTargetProvider on the paused state. That releases the wheel in menus without touching in-game FFB.
- Nice to have: expose
SkipFfbPassthrough (or a dedicated "release FFB on pause" toggle) in the UI for non-native-TrueForce games too, so users can opt in without hand-editing TrueforcePlugin.GeneralSettings.json.
Notes
Happy to test a build. Repro setup is G923 PS/PC + Forza Horizon 6 + SimHub running as admin. Great plugin otherwise, the telemetry effects feel excellent.
Environment
0x046D:0xC266Summary
While driving, everything works great. The moment I open the pause menu, the wheel turns hard to full lock (left or right) and holds there until I unpause. In the pause menu the plugin shows "Waiting for telemetry" (
'FH6' is detected but no telemetry is arriving. You may be in a menu or paused), so the UDP telemetry has clearly stopped, but the wheel is still being driven to lock.Steps to reproduce
UsbPcapFfbTap started).Relevant log lines
Root cause (from reading the code)
UsbPcapFfbTap) mirrors raw HID++ FFB to the wheel and is not gated by the telemetry/pause state.TryGetFreshFfbTarget(maxAgeMs)only checks sample age, and as the code notes the tap cannot distinguish a game that is still sending a steady force from a game that stopped sending. In the FH6 pause menu Forza keeps sending an FFB packet (behaves like an auto-center), so the tap keeps treating it as fresh and the wheel is driven to lock.FfbTargetProviderkeeps reading_ffbTap.TryGetFreshFfbTargetregardless).Suggested fix
curto0x8000(silence center) in the pass-through, or fade it out, until telemetry resumes. In short, gateFfbTargetProvideron the paused state. That releases the wheel in menus without touching in-game FFB.SkipFfbPassthrough(or a dedicated "release FFB on pause" toggle) in the UI for non-native-TrueForce games too, so users can opt in without hand-editingTrueforcePlugin.GeneralSettings.json.Notes
Happy to test a build. Repro setup is G923 PS/PC + Forza Horizon 6 + SimHub running as admin. Great plugin otherwise, the telemetry effects feel excellent.