Skip to content

Boomer42/linux-citizen-plugin

Repository files navigation

Linux Citizen - Star Citizen OpenDeck Plugin (v1.1)

A high-fidelity tactical interface for Star Citizen on Linux (CachyOS, Arch, Ubuntu, Fedora). This plugin allows you to sync in-game keybinds, create complex macros with interactive push animations, and monitor live game telemetry directly on your OpenDeck.

Features

  • 🚀 Citizen Key Bind: Automatically syncs with your actionmaps.xml to keep your deck up to date with in-game changes. Missing custom binds automatically fall back to the editable Star_Citizen_Default_Keybinds.md list.
  • ⌨️ Custom Key Bind: Record custom key sequences with a high-fidelity 16-column virtual keyboard.
  • ≡ Macro Group Bind: Build sequences of actions with precision delays and interactive drag-and-drop sorting.
  • 💀 Force Kill Utility: Universal Linux emergency terminator for frozen game processes.
  • 📊 Mission Telemetry: Live HUD displaying dynamic System/Game CPU load, RAM usage, Network bandwidth, Session Uptime, and active Server Ping.
  • 🔊 App Volume Control: Map individual application volumes (like Discord or Star Citizen) to physical Stream Deck dials.
  • 🖱️ Scroll Wheel Dial: Replicate mouse scroll wheel input with adjustable sensitivity for physical dials.

Installation & Setup

This plugin requires special permissions to simulate key presses on Linux via the uinput module.

1. Granting Access to /dev/uinput

OpenDeck usually runs in a secure sandbox (Flatpak). You must grant it access to the input device:

Using Flatseal (Recommended):

  1. Install Flatseal from your app store or Flathub.
  2. Select OpenDeck (me.amankhanna.opendeck) in the list.
  3. Scroll to Filesystem -> Other files.
  4. Add /dev/uinput and ensure the toggle is ON.

2. Linux User Groups

Ensure your user has permission to use input devices:

sudo usermod -aG input $USER

(You may need to log out and back in for this to take effect.)

3. Global Configuration ("Smart Path" Setup)

Once installed, click the Gear Icon in any action to open the Settings Overlay, then navigate to the Global tab.

  1. Click BROWSE next to "Install Root".
  2. Select your main Star Citizen installation folder (e.g., /mnt/mydrive/star-citizen/).
  3. The plugin will automatically use "Smart Path" discovery to dive into the folders, locate your RSI Launcher.exe, and auto-link your actionmaps.xml. A green ✅ will appear when successfully configured.

4. Customizing Default Keybinds

If Star Citizen adds new keybinds in the future, you do not need to wait for a plugin update! Simply open Star_Citizen_Default_Keybinds.md in any text editor and add a new row to the table with the Internal ID and the corresponding Key. The plugin parses this file dynamically on every startup.


Technical Details

  • Backend: Written in Rust using openaction and mouse-keyboard-input. Native Linux kernel polling for zero-dependency telemetry.
  • Frontend: HTML5/JS HUD with Star Citizen Navy/Cyan aesthetics.
  • Rendering: Live telemetry buttons are rendered via dynamic SVG-to-Base64 conversion for maximum clarity.

Developed by Boomer42 & Gemini AI Fly safe, Citizen.

About

A Star Citizen OpenDeck plugin for Linux. Features include in game keybind syncing, macro execution, system/game telemetry display and system volume control.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors