Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017N92BmQvFrnpfRwepiUcVH
Profiles may now declare named states (each a full per-trigger effect set) plus switching rules that map controller button presses to state changes, with a menu guard and manual selection as the drift correction path. The evdev reader learns create/options/ps and the d-pad hat axes so rules can bind to them. EngineStatus carries the active state name and a new bridge:selectTriggerProfileState IPC selects states from the renderer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017N92BmQvFrnpfRwepiUcVH
The editor gains a states strip (add/rename/duplicate/remove, per-state effect editing with live preview), a State Switching group for rules, menu guard, and default state, and the page heading shows clickable state chips for the active profile as the manual re-sync path. The README's 'one feel per game' limitation is rewritten to describe inferred state switching honestly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017N92BmQvFrnpfRwepiUcVH
The session's GitHub access cannot push to the wiki repo (403), so the page lives here ready to publish to the wiki. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017N92BmQvFrnpfRwepiUcVH
- Make the automatic updater notification-only on NixOS (new 'notify' phase) - Skip AppImage replacement and controller-driver rebuilds on NixOS - Allow NixOS package installs without an APPIMAGE path - Add declarative flake-based NixOS module (opends5 package, vds group socket access, disableBluetoothInputPlugin) - Document the flake-based NixOS installation and update workflow - Extend Nix CI to build vds, vds-module, and opends5; optional Cachix publishing - Add opt-in local release endpoint override for updater UI testing
Multi-state trigger profiles: analog stick wheel, sentence rules, position/sector sync
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.
What's new
Everything since v1.8.0. #23 and #24 reached main earlier (via the #24 dev→main merge); this PR delivers #25 and #26 — listed together here as the full release changelog.
Game Profile tab: per-game hub (#23)
GameSettingsCoordinatorauto-switches settings with game detection (single watcher), persists a crash-safe restore point, and restores global selections on exit.Trigger modifiers, installer, and kernel coverage (#24)
trigger-held-overmodifiers on one trigger now escalate — each runs its own timer and the longest satisfied hold wins; non-hold conditions keep first-match priority.disable-input(vds needs raw HID ownership); NixOS getsservices.opends5.disableBluetoothInputPlugin.LLVM=1path removed.NixOS notification-only updates (#25)
vds,vds-module,opends5; optional Cachix publishing; opt-in local release endpoint for updater UI testing.Multi-state trigger profiles (#26)
sync-validator --checkin CI); the library already serves multi-state profiles — MOUSE: P.I. For Hire ships as the first verified 12-state wheel profile (OpenDS5-Profiles Make companion window freely resizable with persisted bounds #7/Trigger profiles UI polish + engine startup recognition fixes #8).Docs
Testing
682 companion tests green, typecheck clean, AppImage/flake/validator-sync CI passing; hold escalation, wheel, and capture rules hardware-validated on a DualSense.
Version bumped to 1.8.1; tagging
v1.8.1after merge publishes the release.