個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Turn your HOTAS into a smart cockpit: virtual radios, modes and switches, macros, vJoy output, Discord/Soundpad control and a click-through in-game overlay. Early access.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗[!WARNING] ⚠️ Unstable early access, under active development. Expect bugs and breaking changes between versions. Keep backups of your configuration: Trimcraft writes them automatically (Settings → Backup & transfer), and you can export it at any time.
[!TIP] Found a bug or have an idea? Please open a GitHub Issue. There are templates for bug reports and feature requests. Ideas and wishes from real cockpits are explicitly welcome.
Turn your HOTAS into a smart cockpit: virtual radios, modes and switches, macros, vJoy output, Discord/Soundpad control and a click-through in-game overlay.
Website: trimcraft.github.io · Download: latest release
The user guide explains every part in detail.
| Virtual controls | Overlay |
|---|---|
| Connections | Settings |
The screenshots show the browser demo with made-up devices. More: Hardware Test, Credits.
Trimcraft_<version>_x64-setup.exe from the
latest release.Trimcraft is early access: back up your configuration (Settings → Backup & transfer) before updating.
Trimcraft looks for a new release when it starts and every 6 hours while it runs (Settings → Updates; can be turned off) and shows an update badge next to its version when one is available. Download & install there installs it for your user and restarts Trimcraft; it asks first when macros are running or vJoy is in use. Update packages are signed with the project's update key, and Trimcraft installs only packages with a valid signature (this is separate from Windows code signing, see the code signing policy).
Windows does not let a normal program send keys and mouse input to a program that runs as administrator. If a game (or its launcher) runs as administrator, Trimcraft must too, or its macros will not reach the game. Trimcraft warns when that happens. Settings → General → Always run as administrator makes it restart elevated (UAC prompt); with Start with Windows it then starts through the Task Scheduler without a prompt.
SendInput), and vJoy creates virtual
controllers. Some games and multiplayer servers forbid automated input or macros. Using
them is your own responsibility: check the rules of the game and server you play on.%APPDATA%\cloud.breu.trimcraft, logs in
%LOCALAPPDATA%\cloud.breu.trimcraft\logs.Free code signing provided by SignPath.io, certificate by SignPath Foundation.
[!NOTE] Trimcraft has applied to the SignPath Foundation's open source program. Releases published before the approval, including v0.1.0, are not Windows code-signed.
What is signed: only the Windows installer Trimcraft_<version>_x64-setup.exe and the
program trimcraft.exe inside it. Both are built from a tagged commit of this repository by the
release workflow on GitHub-hosted runners and submitted to
SignPath from that run; nothing built elsewhere or by hand is signed. The installer contains no
third-party programs: vJoy, Voicemeeter, Soundpad and Discord are installed separately.
Team roles:
Contributions from anyone else arrive as pull requests and are reviewed by a committer before they are merged, including changes to the build scripts and workflows. Every signing request is approved manually.
Privacy: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it, with one exception that is on by default: the update check. In detail:
latest.json from this repository's GitHub releases (github.com);
Download & install downloads the update from there. Turn the check
off under Settings → Updates.
GitHub's privacy statement
applies.There is no telemetry, analytics or crash reporting.
Set up under Connections; each one can be tested there. Details in the user guide.
Requirements: Rust (stable, MSVC toolchain), Node 24, CMake (SDL3 is built from source and linked statically), Windows 10/11.
npm ci
npx tauri dev # app with real devices
TRIMCRAFT_INPUT=mock npx tauri dev # app with synthetic devices (no hardware needed)
npm run dev # UI only, in a browser, with an in-page demo
./scripts/check.sh # full gate, same as CI; run before every push
The SDL3 build fails on Windows' 260-character path limit in deep folders: set
CARGO_TARGET_DIR to a short path (e.g. C:\t\trimcraft) if the checkout is nested deeply.
| Path | What |
|---|---|
crates/trimcraft-core | Platform-independent logic, unit-tested: devices, encoders, virtual controls, triggers, actions, profiles, overlay, migrations. |
crates/trimcraft-input | Input backends: SDL3 and a mock with synthetic devices. |
src-tauri | Desktop app (Tauri 2): engine thread, windows, connectors, persistence. |
ui | Svelte 5 + TypeScript: main window and overlay. |
CLAUDE.md is the working guide for the code base (for people and coding agents).
Bug reports, ideas and pull requests are welcome; see CONTRIBUTING.md. Security problems: SECURITY.md. This project follows the Contributor Covenant.
Maintained by Samuel Breu (@bresam). Contributors, supporters and the open source projects Trimcraft is built on are listed in CREDITS.md, also in the app under Settings → About → Credits.
Trimcraft is free and stays free, without ads, nags or locked features. The most valuable support is feedback: open an issue with bugs, ideas or wishes from your cockpit.
Trimcraft is free software under the GNU General Public License v3.0 or later. The licences of the third-party software it contains are in THIRD_PARTY_LICENSES (also under Settings → About).
Trimcraft is an independent project and is not affiliated with, endorsed or sponsored by Discord, Leppsoft (Soundpad), VB-Audio (Voicemeeter), the vJoy project, Turtle Beach, VKB, Thrustmaster, Logitech, Virpil, WinWing, Microsoft or any game publisher. All product names, logos and trademarks belong to their owners and are used only to describe compatibility.