Skip to content

fix(launch,doctor): say when the module lags the apps, no unearned teardown, no false module failure - #116

Merged
mescon merged 2 commits into
masterfrom
release-prep/0.42.3
Sep 21, 2026
Merged

mescon merged 2 commits into
masterfrom
release-prep/0.42.3

Conversation

@mescon

@mescon mescon commented Sep 21, 2026

Copy link
Copy Markdown
Owner

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.

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

Copy link
Copy Markdown

@mescon
mescon merged commit 9fa9c58 into master Sep 21, 2026
23 checks passed
@mescon
mescon deleted the release-prep/0.42.3 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