Star Citizen input binding VISUALIZER and MAPPER.
The intention of this app is to be an add-on utility for the game Star Citizen with the goal to provide usable and powerful management features for input devices like keyboard/mouse, joysticks and gamepads, which the game is currently lacking.
You always forget what input which action was? You always get lost in the game's huge and impractical bindings list? You have issues with the game breaking your device bindings? Then this app is for you!
| Windows | Linux |
|---|---|
| Installer · Standalone | AppImage · deb · rpm |
Answers the question: "What does each button do, and where does each action live?"
- Press any input, see the bound actions! The app displays configured game bindings for keys, buttons, axes etc. for any input device in realtime.
- Select an action, see the bound input! An "images and shapes"-based visualization of the input device shows you the keys, buttons, axes etc. which are bound to a specific action via realtime highlighting.
Extended version of the game's bindings interface:
-
Search, filter and sort functionality and support for re-binding inputs.
-
Import and export of binding profiles per device with a detailed compare interface for a clear insight into differences to configured bindings.
Due to the built-in visualization editor the app supports a near infinite amount of devices!
-
Build your own visualizations for your devices with images, shapes, text and colors. You can even share them via im- and export ;)
-
Currently included are following device visualizations:
-
Generic Keyboard/Mouse (US/DE + TKL)
-
Generic Xbox and PlayStation Controller
-
VKB Gladiator NXT EVO R (Premium)
-
VKB Gladiator NXT EVO Omni L (Premium)
-
The app supports Windows and Linux!
-
Currently tested with Windows 10 and Nobara Linux 44.
-
If you haven't already, try Linux now :)
- Star Citizen binds to joystick slots (
js1,js2, …), not to devices. When a joystick is unplugged or comes back, the slots behind it shift and their bindings land on the wrong stick or on none. - The app knows which slot the game will give each joystick, shows the clash before the game starts, and fixes it: either in the configuration (bindings moved, joystick assignment recorded) or with the console commands for a running game.
- By default, the app makes backups of every changed game file before any modification. You can always revert unintentional or faulty changes!
- And of course, you can manually back up at any time.
- Every fact about your devices plus a live event log, savable for troubleshooting.
- Choose the correct Star Citizen game folders (the ones with a
Data.p4kfile in them) for your existing environments like LIVE and PTU, e.g.:- Windows:
C:\Program Files\Roberts Space Industries\StarCitizen\LIVE - Linux/Wine:
<wine-prefix>/drive_c/Program Files/Roberts Space Industries/StarCitizen/LIVE
- Windows:
- You can then switch the used Star Citizen environment on-the-fly in the app.
-
The application has auto-updates enabled by default
-
standalone,debandrpmversions DO NOT support auto-updates!
- ESC key is never captured or recorded due to technical reasons (doesn't have a configurable binding either).
- Mouse inputs are only captured while recording inputs (you need the mouse to use the app anyway).
- Gamepad triggers are only buttons, no axis, as currently in the game.
- A running game keeps its configuration and device order. You have to restart the game for most changes to take effect.
- The app only shows connected devices which are also seen by the game (this specifically applies to Linux/Wine).
- POTENTIAL ISSUE: app is untested with multiple devices of same type (e.g. two times the same joystick) and duplicate device-IDs might cause problems.
-
Support for managing input inversion-, sensitivity- and deadzone settings.
-
Improved responsiveness so the GUI works better with smaller window sizes.
-
Install toolchain and dependencies:
- All platforms:
rustup,pnpm - Linux (Fedora/Nobara):
webkit2gtk4.1-devel openssl-devel libappindicator-gtk3-devel librsvg2-devel libxdo-devel SDL2-devel, groupc-development - Windows: Visual Studio Build Tools 2022+ with the workload Desktop development with C++, CMake on
PATH(SDL2 is built from source and linked statically)
- All platforms:
-
Build and run the app:
pnpm install pnpm tauri dev # development pnpm tauri build # release bundle on Windows pnpm build:linux # release bundle on Linux cd src-tauri && cargo test --lib # backend tests, no hardware needed
| Part | What |
|---|---|
| Shell | Tauri 2, Rust |
| Frontend | Vue 3, TypeScript, Vite, Konva (editor) |
| Input | SDL2 joystick + GameController APIs, hidapi (HID names, axis usages), webview (keyboard, mouse) |
| Joystick order | The game's own device list from its log, reconciled with the joystick assignment saved in its configuration; DirectInput 8 / Wine's registry order as diagnostics |
| Game data | StarBreaker code to extract defaultProfile.xml, global.ini, token labels from Data.p4k |
| XML | quick-xml parsing; textual rewrites keep the game's file layout; atomic writes, re-parsed before applied |
-
StarBreaker source by diogotr7, used for extracting Star Citizen game data
-
Star Citizen and its data belong to Cloud Imperium Games. This app does not include game assets or resources.




