Cosmic Controller (internally cb_rgb) is a cross-platform desktop application designed to control the RGB lighting effects of compatible keyboards (specifically targeted at Cosmic Byte devices). Built with the performance of Rust and the flexibility of Tauri, it features a lightweight Preact frontend.
- Connect to supported keyboard
- Disconnect from keyboard safely
- Interactive visual keyboard layout
- Real-time key highlighting
- Static effect
- Breathe effect
- Fade effect
- Neon effect
- Wave effect
- Ripple effect
- RainDrop effect
- Additional preset effects (10+ total)
- Color picker for lighting effects
- Brightness control
- Animation speed control
- Per-key RGB UI
- Paint mode (click & drag on visual keyboard)
- Core: Tauri (v2)
- Backend: Rust (using
hidapifor device communication) - Frontend: Preact + TypeScript
- Build Tool: Vite
- Styling: CSS Variables for neon/dark themes
Before running the project, ensure you have the following installed:
- Rust: Install via rustup
- Node.js: LTS Version
- Package Manager:
pnpm(recommended),npm, oryarn. - System Dependencies:
- Linux: You need webkit2gtk and other build tools. See Tauri Linux Guide.
-
Clone the repository
git clone https://github.com/sipusumit/cosmiccontroller.git cd cosmiccontroller -
Install Frontend Dependencies
pnpm install
-
Run in Development Mode This will start the Vite server and the Tauri window.
pnpm tauri dev
To communicate with the HID device on Linux without root privileges, you need to configure udev rules.
- Copy the provided rule file to your system:
sudo cp src-tauri/rules/99-cosmicbyte.rules /etc/udev/rules.d/
- Reload the rules:
sudo udevadm control --reload && sudo udevadm trigger
Note: The packaged .deb file handles this automatically during installation.
To create an optimized executable installer:
pnpm tauri buildThe output bundles (Debian package, AppImage, or Windows Installer) will be located in src-tauri/target/release/bundle/