fix(ffb): a 64-button virtual wheel, and the debug trace in the log - #115
Merged
Merged
Conversation
The virtual wheel exposed 32 buttons and dropped the kernel's codes for buttons 17 to 21 (BTN_TRIGGER_HAPPY to +4) as unused, because the RS50 never emits them. A G PRO with a shifter does, and its higher gears could not be bound in DiRT Rally 2.0 (#105). The input report now carries 64 buttons. The layout keeps every bit the RS50's DirectInput users have already bound: the joystick range on bits 0-15, the RS50's extended block on 16-31 as before, the five recovered buttons on 32-36, and anything past the RS50 block's sixteen codes from 37 on; a code past 64 is dropped, not wrapped. The proxy's report-level trace (LOGI_FFB_DEBUG) went to stderr only, which under Steam is a console nobody reads; it now goes through the same log mirror as the proxy's other messages, so one opted-in run shows whether the game sends any force at all.
mescon
enabled auto-merge
September 21, 2026 22:20
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



For #105. The virtual wheel dropped kernel button codes 17 to 21 (the RS50 never emits them; a G PRO with a shifter does), so higher gears could not be bound. Now 64 buttons with a layout that keeps every existing RS50 binding in place. The LOGI_FFB_DEBUG trace now reaches the launcher log too. logi-ffb tests (72) pass, clippy clean.