Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 21 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,39 +22,41 @@ without a picture, RigShift reverts it on its own.

## Already using DisplayMagician, DisplayFusion or a batch file?

Keep it if it works for you. RigShift is for you if you want
RigShift is for you if you want

- the switch to happen when the wheelbase powers on, and back when it is off,
- a layout that reverts by itself when a screen stays black,
- audio and microphone, SimHub and Crew Chief, your desktop icons and the place of every open window in the same
profile – and with a game entry, the tools' window positions too.
profile, and with a game entry the tools' window positions too.

DisplayMagician is the better pick for AMD Eyefinity and many game launchers, DisplayFusion for full window
management. [Detailed comparison](docs/compare.md) · [FAQ](docs/faq.md)

## Features

- **Profiles** – which monitors are on, layout, main display, mirrored displays, resolution, refresh rate, HDR, NVIDIA Surround, audio and volume.
- **Triggers** – wheelbase on/off, hotkey, sign-in, desktop shortcut, Stream Deck, `rigshift://` link, command line.
- **Games** – one click: switch, start SimHub and Crew Chief, place their windows, launch the sim from Steam, Epic, EA, Xbox or iRacing, clean up after.
- **Safety net** – the whole layout is applied in one step; no picture means it reverts after a countdown, even after a crash. Ctrl+Alt+Shift+D turns every display on.
- **Real hardware** – wakes sleeping monitors, waits for a slow G9, skips optional screens like a spacedesk tablet.
- **Windows and desktop icons** – a profile remembers where your open windows and your icons sit and puts them back when you return.
- **Field of view** – the right FOV value for 18 sims, from your monitor's real size.
- **Backup** – profiles, games and settings as one ZIP. English and German.
| | |
|---|---|
| Profiles | Which monitors are on, layout, main display, mirrored displays, resolution, refresh rate, HDR, NVIDIA Surround, audio and volume. |
| Triggers | Wheelbase on/off, hotkey, sign-in, desktop shortcut, Stream Deck, `rigshift://` link, command line. |
| Games | Switch, start SimHub and Crew Chief, place their windows, launch the sim from Steam, Epic, EA, Xbox or iRacing, clean up after. |
| Safety net | The whole layout is applied in one step. Without a picture it reverts after a countdown, even after a crash. Ctrl+Alt+Shift+D turns every display on. |
| Real hardware | Wakes sleeping monitors, waits for a slow G9, skips optional screens such as a spacedesk tablet. |
| Windows and icons | A profile remembers where your open windows and desktop icons sit and puts them back. |
| Field of view | The FOV value for 18 sims, from your monitor's real size. |
| Backup | Profiles, games and settings as one ZIP. The app is in English and German. |

| | |
|---|---|
| <img alt="Displays of a profile" src="docs/screenshots/profiles-dark.png" width="400"> | <img alt="Triggers of a profile" src="docs/screenshots/triggers-dark.png" width="400"> |
| **Profiles** – displays, audio, apps and behavior per profile. | **Triggers** – to the rig when wheelbase and pedals are on, back when they are off. |
| Displays, audio, apps and behavior per profile. | To the rig when wheelbase and pedals are on, back when they are off. |
| <img alt="Games page" src="docs/screenshots/games-dark.png" width="400"> | <img alt="The tools of a game session" src="docs/screenshots/game-editor-dark.png" width="400"> |
| **Games** – one click for the sim, its profile, its tools and the way back. | **Tools** – start order, waiting for the wheelbase, before or after the game. |
| One click for the sim, its profile, its tools and the way back. | Start order, waiting for the wheelbase, before or after the game. |
| <img alt="Tray popup" src="docs/screenshots/tray-popup-dark.png" width="400"> | <img alt="Confirmation dialog" src="docs/screenshots/confirmation-dark.png" width="400"> |
| **Tray** – switch or start a sim from the notification area. | **Safety net** – keep the new layout with any wheel button, or it reverts. |
| Switch or start a sim from the notification area. | Keep the new layout with any wheel button, or it reverts. |

<p align="center">
<img alt="Field of view page for a triple screen rig" src="docs/screenshots/fov-dark.png" width="820"><br>
<b>Field of view</b> – the rig from above and the right number for every sim.
The rig from above and the FOV for every sim.
</p>

## Getting started
Expand All @@ -74,35 +76,25 @@ Updates install on the next start (Settings). Data lives in `%AppData%\RigShift`
| Windows 11 · RTX 4080 SUPER · desk: XG32UCWG + 2× CM27X3 · rig: Odyssey G9 (G93SC) + CM27X3 as SimHub dash | my own PC, daily use since September 2026 |
| Windows 10 code base (Server 2022, build 20348) | every change in CI: tests and a live read of the display configuration |
| NVIDIA Surround on/off | two user reports, fixed in 4.0.1–4.0.3; a confirmed full on/off cycle is still open |
| AMD / Intel graphics | not tested yet – [report your setup](https://github.com/ManuelStaggl/RigShift/issues/new?template=hardware_report.yml) |

Every hardware report ends up in this table.
| AMD / Intel graphics | not tested yet, [report your setup](https://github.com/ManuelStaggl/RigShift/issues/new?template=hardware_report.yml) |

## Is it safe?

RigShift is a free hobby project and not code-signed, so Windows shows **"Windows protected your PC"** the first
time. Click **More info → Run anyway**.

You don't have to take my word for it:
To check it yourself:

- **Source:** everything is in this repository, MIT licensed. No telemetry, see [privacy](PRIVACY.md).
- **VirusTotal:** each release links its scan.
- **Built from this source:** every release carries a GitHub build attestation –
- **Built from this source:** every release carries a GitHub build attestation:
`gh attestation verify RigShift-win-Setup.exe -R ManuelStaggl/RigShift`
- **Checksums and SBOM:** `SHA256SUMS` and a CycloneDX SBOM in every release.

**Smart App Control** (Windows 11) blocks unsigned apps without a "run anyway" option; RigShift can't run while it is
on. Why 80 MB? RigShift brings its own .NET runtime, so there is nothing to install first. Updates after that are
usually a few MB. More in the [FAQ](docs/faq.md) and [SECURITY.md](SECURITY.md).

## How RigShift is built

I write RigShift with Claude Code (Anthropic) as a pair programmer, and I use it on my own rig every day. What keeps it
honest is not the tool but the checks: 1,200+ automated tests, analyzers with warnings as errors and CodeQL run on
every change; each release is installed over the previous version, started and checked in CI before it is published,
and carries checksums, an SBOM and a build attestation. Hardware I don't own is listed as untested above, not
claimed.

## Stream Deck and button boxes

- **Hotkey action:** give the profile or the game a keyboard shortcut under **Triggers**. **Settings → Switch back**
Expand Down Expand Up @@ -150,7 +142,8 @@ dotnet test --solution RigShift.slnx

.NET 10 SDK. `RigShift.Core` holds profiles, planner and orchestration without Win32; `RigShift.Windows` the CCD,
Core Audio and USB layer (CsWin32); `RigShift.App` the WPF tray app and CLI. See [ARCHITECTURE.md](docs/ARCHITECTURE.md)
and the [display topology rules](docs/display-topology.md).
and the [display topology rules](docs/display-topology.md). Parts of the code are written with Claude Code; every change
passes the same tests, analyzers and CodeQL in CI.

## License

Expand Down
4 changes: 2 additions & 2 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ <h3 data-i18n="i.c.h">Source and releases</h3>
<li>Source code on GitHub, MIT licence.</li>
<li>The only network access is the update check on GitHub. No account, no telemetry. <a href="https://github.com/ManuelStaggl/RigShift/blob/main/PRIVACY.md">Privacy</a></li>
<li>Every release lists a VirusTotal scan, SHA-256 checksums, an SBOM and a build attestation.</li>
<li>Developed with Claude Code as a coding assistant; every change runs more than 1,200 automated tests, analyzers and CodeQL.</li>
<li>Every change runs more than 1,300 automated tests, analyzers and CodeQL.</li>
</ul>
</div></article>
<article class="card plain"><div class="txt">
Expand Down Expand Up @@ -431,7 +431,7 @@ <h2 data-i18n="u.h">Free and open source</h2>
'i.b.h': 'Windows-Warnung',
'i.b.p': 'RigShift ist nicht code-signiert. Beim ersten Start zeigt SmartScreen eine Warnung; <b>Weitere Informationen → Trotzdem ausführen</b> startet es. Mit eingeschalteter Smart App Control blockiert Windows 11 unsignierte Apps.',
'i.c.h': 'Quellcode und Releases',
'i.c.l': '<li>Quellcode auf GitHub, MIT-Lizenz.</li><li>Einziger Netzwerkzugriff ist die Update-Prüfung bei GitHub. Kein Konto, keine Telemetrie. <a href="https://github.com/ManuelStaggl/RigShift/blob/main/PRIVACY.md">Datenschutz</a></li><li>Jedes Release führt einen VirusTotal-Scan, SHA-256-Prüfsummen, eine SBOM und eine Build-Attestation auf.</li><li>Entwickelt mit Claude Code als Programmier-Assistent; jede Änderung durchläuft über 1.200 automatische Tests, Analyzer und CodeQL.</li>',
'i.c.l': '<li>Quellcode auf GitHub, MIT-Lizenz.</li><li>Einziger Netzwerkzugriff ist die Update-Prüfung bei GitHub. Kein Konto, keine Telemetrie. <a href="https://github.com/ManuelStaggl/RigShift/blob/main/PRIVACY.md">Datenschutz</a></li><li>Jedes Release führt einen VirusTotal-Scan, SHA-256-Prüfsummen, eine SBOM und eine Build-Attestation auf.</li><li>Jede Änderung durchläuft über 1.300 automatische Tests, Analyzer und CodeQL.</li>',
'i.d.h': 'Getestete Hardware',
'i.d.l': '<li><span><b>RTX 4080 SUPER, Windows 11</b></span><span class="s ok">Täglich im Einsatz</span></li><li><span>Windows 10, in der CI bei jeder Änderung</span><span class="s ok">Getestet</span></li><li><span>NVIDIA Surround an und aus</span><span class="s open">Nach Nutzermeldungen korrigiert, unbestätigt</span></li><li><span>AMD- und Intel-Grafik. <a href="https://github.com/ManuelStaggl/RigShift/issues/new?template=hardware_report.yml">Deine melden</a></span><span class="s open">Nicht getestet</span></li>',
'k.h': 'Vergleich mit anderen Tools',
Expand Down
Loading