Skip to content

Repository files navigation

🚀 RigSwitch

Release Build Tests .NET Platform Toolbelt License

RigSwitch is an ultra-fast, native Windows system tray control plane and workstation orchestrator. It switches instantly between a Desk Setup (primary workstation display + desk audio) and a Sim Rig Setup (racing simulator / secondary display + rig audio) via global hotkeys or the system tray.

Unlike basic primary display toggles, RigSwitch disables the inactive display at the Win32 CCD driver level, preventing unwanted secondary screen clutter, phantom mouse cursors, and games launching off-screen.


💾 Installation & Download

Option 1: Direct Installer (Recommended)

Download the official setup installer from GitHub Releases:

Download RigSwitch

  1. Download RigSwitch-Setup-v1.0.0.exe.
  2. Run the installer wizard. RigSwitch installs cleanly to %LOCALAPPDATA%\Programs\RigSwitch (no administrator privileges required).
  3. Shortcuts are created on your Desktop and Start Menu.
  4. RigSwitch launches automatically into your system tray and starts on Windows boot.

Option 2: Windows Package Manager (WinGet)

You can also install or update RigSwitch directly via PowerShell / Windows Terminal:

winget install spelech.RigSwitch

To update an existing installation to the latest release:

winget upgrade spelech.RigSwitch

⚡ Key Features

  • 🖥️ Instant Multi-Monitor Topology Switching: Leverages low-level Win32 Connecting and Configuring Displays (CCD) APIs (SetDisplayConfig) to enable single, dual, or 3-screen triple-monitor setups for sim rigs or workstations while disabling inactive screens atomically.
  • 🔍 Windows-Style Monitor Identification & Drag-and-Drop: Identify monitors instantly with full-screen OS numbers (1, 2, 3...) and drag/assign numbered monitor tiles into Desk or Sim Rig piles.
  • 🛡️ Fail-Safe Safety Gates: Verifies that all configured target displays are physically connected and recognized by the GPU before altering topology, eliminating black-screen lockout risk.
  • 🎛️ Multi-Preset Workstation Engine: Configure up to 3 custom presets per environment (e.g. GT3 / Circuit, Rally / Drift, Flight / Space on the Sim Rig; Work vs Gaming on the Desk), each with dedicated display, audio routing, direct hotkeys, and app hooks.
  • 🚀 Application Lifecycle Hooks: Automatically launch specialized applications (e.g. Moza Pit House, SimHub, CrewChief) when entering a preset, and gracefully close them when switching away.
  • ⌨️ Interactive Hotkey Recorder: Press 2- or 3-key combinations directly to record and bind global shortcuts (Ctrl+Alt+S, Alt+F1, etc.) without manual typing.
  • 🔊 Multi-Tier Audio Fallback: Routes Windows default playback endpoints via CoreAudio COM (IPolicyConfig). Automatically falls back to secondary audio when primary speakers are unplugged or set to AUX mode.
  • 🧹 Audio Endpoint Visibility Filter: Easily hide cluttering virtual endpoints created by third-party audio drivers, VR headsets, or streaming devices directly within Windows.
  • 📌 Native System Tray Integration: Lightweight WPF desktop app resident in the taskbar with dynamic GDI icons, nested preset submenus with checkmarks, and dynamic tooltips.
  • ⚙️ Modern Dark-Mode Settings GUI: Intuitive MVVM interface with automatic hardware detection dropdowns to easily configure displays, audio, hotkeys, and app hooks.

⌨️ Default Hotkeys

Hotkey Action Description
Ctrl + Alt + S Toggle Profile Flips between Desk Setup and Sim Rig Setup
Ctrl + Alt + D Desk Setup Activates Desk display & routes audio to primary desk endpoint (with fallback)
Ctrl + Alt + R Sim Rig Setup Activates Sim Rig display & routes audio to rig playback endpoint

Hotkeys can be customized at any time via the Settings window.


🎛️ Hardware Profile Configuration

Profiles are configured per PC directly from the Settings GUI. Detected monitors and audio devices appear in dropdown menus:

Profile Active Displays Inactive Displays Primary Audio Fallback Audio
Desk Setup Workstation Displays (1–N) Simulator Displays Primary Desk Speakers / DAC Secondary Audio / Monitor Line-Out
Sim Rig Setup Simulator Displays (Single / Triple Rig) Workstation Displays Sim Rig Audio / DAC (Optional)

🛠️ Building & Running Locally

Prerequisites

  • Windows 10/11 x64 (Version 1903 or higher)
  • .NET 10.0 SDK (Version 10.0.100 or higher)

Build Solution

# Clone the repository
git clone https://github.com/spelech/RigSwitch.git
cd RigSwitch

# Build the solution in Release configuration (0 warnings, 0 errors)
dotnet build RigSwitch.slnx -c Release

Run All Tests

# Execute all unit tests and simulation harness stress tests
dotnet test RigSwitch.slnx -c Release

Run the Application

# Launch RigSwitch in the system tray
dotnet run --project src/RigSwitch.App -c Release

🔀 Branching Strategy (Git Flow)

RigSwitch follows the Git Flow release model:

  • main: Holds the latest stable, production-ready releases.
  • develop: The primary integration branch where new features and enhancements land.
  • feat/<name>: Feature branches branched from develop and merged back into develop via Pull Request.
  • release/v<version>: Release preparation branches branched from develop. When ready, merged into main (with a version tag vX.Y.Z) and merged back into develop.
  • hotfix/<name>: Urgent fixes branched directly from main and merged into both main and develop.

Pushing any v* tag to main automatically triggers the GitHub Actions release workflow to compile the installer and publish the GitHub Release.


📐 Architecture & Standards

RigSwitch strictly adheres to Steven T. Pelech's AgenticEngineeringToolbelt:

  • Anti-Bloat Discipline: Strictly zero *Manager, *Helper, or *Util catch-alls.
  • Strict File Limit: All source and test files remain strictly < 500 lines of code.
  • Atomic Persistence: Settings persistence uses temporary file swap semantics to guarantee zero configuration corruption.
  • Controls-Grade Observability: Comprehensive simulation test suite with DiagnosticRingBuffer and 6-part agent feedback envelopes for automated post-mortem root-cause analysis.

For complete architectural details, topology diagrams, and sequence flows, refer to ARCHITECTURE.md.


📜 License

This project is licensed under the MIT License.

About

Native Windows system tray control plane and workstation orchestrator for instant profile switching between desk and sim-rig.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages