Skip to content

fix(ffb): a 64-button virtual wheel, and the debug trace in the log - #115

Merged
mescon merged 1 commit into
masterfrom
ffb/debug-to-log
Sep 21, 2026
Merged

mescon merged 1 commit into
masterfrom
ffb/debug-to-log

Conversation

@mescon

@mescon mescon commented Sep 21, 2026

Copy link
Copy Markdown
Owner

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.

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
mescon enabled auto-merge September 21, 2026 22:20
@sonarqubecloud

Copy link
Copy Markdown

@mescon
mescon merged commit d89437f into master Sep 21, 2026
23 checks passed
@mescon
mescon deleted the ffb/debug-to-log branch September 22, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant