User Guide: https://robdk97.github.io/SCStreamDeck/
Download latest Release: Here
Report bugs / feature requests: https://github.com/ROBdk97/SCStreamDeck/issues
Warning
This site is not endorsed by or affiliated with the Cloud Imperium or Roberts Space Industries group of companies. All game content and materials are copyright Cloud Imperium Rights LLC and Cloud Imperium Rights Ltd.. Star Citizen®, Squadron 42®, Roberts Space Industries®, and Cloud Imperium® are registered trademarks of Cloud Imperium Rights LLC. All rights reserved.
| Method | Package | Runtime requirement |
|---|---|---|
| Simple | com.robdk97.scstreamdeck.runtime-included.streamDeckPlugin |
None |
| Advanced | com.robdk97.scstreamdeck.runtime-required.streamDeckPlugin |
Install .NET 10 Desktop Runtime x64 |
- Adaptive Key: A key that executes keybindings based on the activation mode for a given binding.
- Example: Two in-game bindings (Tap vs Hold) on
Num-executes only the Tap function when this is the assigned function.
- Example: Two in-game bindings (Tap vs Hold) on
- Adaptive Dial (Stream Deck+): A dial that maps separate Star Citizen functions to rotate left, rotate right, and dial push. Rotation fires the assigned function once per tick; push respects the action's activation mode.
- Toggle Key: A key that toggles between two states (e.g., landing gear up/down). Can be reset to match the current in-game state on de-sync.
- Control Panel Key: A dedicated key for managing global plugin settings such as themes, preferred channel selection, per-channel installation overrides, and plugin language.
- Auto-Detection of Star Citizen Installation Path: Automatically detects the installation path of Star Citizen.
- Multiple Channels Support: Supports LIVE, HOTFIX, PTU, EPTU, and TECH-PREVIEW installations.
- Plugin UI Localization: Built-in plugin and Property Inspector localization for English, German, French, and Spanish, with auto-detect and a Control Panel override.
- Mouse Wheel Support: Supports mouse wheel actions for bindings that use mouse wheel input (Mouse Wheel Up/Down).
- Custom Language Support: Supports custom language files for localization when using custom global.ini from the community, e.g. StarCitizen-Deutsch-INI by rjcncpt.
- Theme Support: Themes for customizing the appearance of the plugin. Includes a template for creating your own themes!
- Click Sound: Provides audio feedback on key presses with configurable sound files (.wav and .mp3).
See the full installation guide: https://robdk97.github.io/SCStreamDeck/install/
Mouse buttons (mouse1 - mouse5) don't work while moving the mouse in Star Citizen
Star Citizen can ignore synthetic mouse button events sent by Windows user-mode injection (the plugin uses SendInput) while the game is actively reading mouse movement for aiming/flying (relative mouse input).
This can make Stream Deck-triggered mouse clicks (mouse1–mouse5, including MMB/mouse3) unreliable unless the mouse is perfectly still.
Workarounds:
- Prefer binding Stream Deck actions to keyboard keys in Star Citizen.
Why not “fix” it in the plugin?
- The "reliable" approach is HID-level injection (virtual mouse / driver). This plugin intentionally avoids driver-based input injection due to potential anti-cheat / ToS risk.
Star Citizen Stream Deck Plugin uses the following open-source projects and libraries:
- streamdeck-tools by BarRaider - for the excellent C# library.
- sdpi-components by GeekyEggo - for the excellent Stream Deck Property Inspector components.
- InputSimulatorPlus by TChatzigiannakis - (although i think this might be a modified fork of BarRaider, will verify later)
- NAudio by Mark Heath - for audio playback support.
This project was inspired by the following repositories (code rewritten from scratch and optimized):
- unp4k by dolkensp - for letting me browse through the P4K file and understand its structure.
- SCJMapper-V2 by SCToolsfactory - for the great work on Star Citizen keybindings extraction.
- streamdeck-starcitizen by mhwlng - for the initial idea of a Stream Deck plugin for Star Citizen. :)
- SCStreamDeck by Jarex985 - Forked/Optimized/Modernized because the owner was inactive
