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.
Download the official setup installer from GitHub Releases:
- Download
RigSwitch-Setup-v1.0.0.exe. - Run the installer wizard. RigSwitch installs cleanly to
%LOCALAPPDATA%\Programs\RigSwitch(no administrator privileges required). - Shortcuts are created on your Desktop and Start Menu.
- RigSwitch launches automatically into your system tray and starts on Windows boot.
You can also install or update RigSwitch directly via PowerShell / Windows Terminal:
winget install spelech.RigSwitchTo update an existing installation to the latest release:
winget upgrade spelech.RigSwitch- 🖥️ 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.
| 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.
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) |
- Windows 10/11 x64 (Version 1903 or higher)
- .NET 10.0 SDK (Version
10.0.100or higher)
# 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# Execute all unit tests and simulation harness stress tests
dotnet test RigSwitch.slnx -c Release# Launch RigSwitch in the system tray
dotnet run --project src/RigSwitch.App -c ReleaseRigSwitch 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 fromdevelopand merged back intodevelopvia Pull Request.release/v<version>: Release preparation branches branched fromdevelop. When ready, merged intomain(with a version tagvX.Y.Z) and merged back intodevelop.hotfix/<name>: Urgent fixes branched directly frommainand merged into bothmainanddevelop.
Pushing any v* tag to main automatically triggers the GitHub Actions release workflow to compile the installer and publish the GitHub Release.
RigSwitch strictly adheres to Steven T. Pelech's AgenticEngineeringToolbelt:
- Anti-Bloat Discipline: Strictly zero
*Manager,*Helper, or*Utilcatch-alls. - Strict File Limit: All source and test files remain strictly
< 500lines of code. - Atomic Persistence: Settings persistence uses temporary file swap semantics to guarantee zero configuration corruption.
- Controls-Grade Observability: Comprehensive simulation test suite with
DiagnosticRingBufferand 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.
This project is licensed under the MIT License.