fix(launch,doctor): say when the module lags the apps, no unearned teardown, no false module failure - #116
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.
…ardown, no false module failure Four small things found while working #105, none needing a reporter: The launcher's first log line showed "module v0.41.0, logi-tf-sim 0.42.0" through a day of tests before anyone read it as what it was: a package update had installed the new module but the kernel kept running the old one, because a plugged-in wheel keeps it busy. The launcher now says that in words, with the reload command. A session that ran as a child of the launcher only because it had to start the daemon itself (no user service manager) also got the TrueForce teardown pair at exit. That pair is for sessions that could have left the wheel's engine started: raw HID, the texture merge, the bridge, an in-prefix helper. It is now sent only for those. The doctor failed the kernel-module check whenever no wheel was attached, although the module binds on plug-in and a bare desk is the machine doing what it should. It now warns in that case and fails only when a wheel is on the bus and the module still is not loaded. logi-wheel --launch-plan printed "wheel=none" and stopped when no wheel was attached, even with a class named by --wheel. It now prints the plan for the named class, with a note, so the recipe can be read and tested without a wheel; a raw-HID scope still needs the attached wheel. Also the one shellcheck finding the launcher carried (SC1087).
mescon
enabled auto-merge
September 21, 2026 22:26
|
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.



Four small fixes found while working #105, none needing a reporter: the launcher warns in words when the running module is older than the apps (with the reload command); the teardown pair is sent only for sessions that had an SDK-side reason; the doctor no longer fails the module check with no wheel attached;
--launch-plan --wheel <class>works without a wheel. Plus the launcher's one shellcheck finding. Based on #115 so the changelog headings do not collide; the diff shrinks to this commit once #115 merges. Core tests pass; shellcheck count down by one.