Skip to content

sipusumit/cosmiccontroller

Repository files navigation

Cosmic Controller

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.

🚀 Features (TODO)

Device Management

  • Connect to supported keyboard
  • Disconnect from keyboard safely

Visual Interface

  • Interactive visual keyboard layout
  • Real-time key highlighting

Lighting Effects

  • Static effect
  • Breathe effect
  • Fade effect
  • Neon effect
  • Wave effect
  • Ripple effect
  • RainDrop effect
  • Additional preset effects (10+ total)

Customization

  • Color picker for lighting effects
  • Brightness control
  • Animation speed control
  • Per-key RGB UI
  • Paint mode (click & drag on visual keyboard)

🛠️ Tech Stack

  • Core: Tauri (v2)
  • Backend: Rust (using hidapi for device communication)
  • Frontend: Preact + TypeScript
  • Build Tool: Vite
  • Styling: CSS Variables for neon/dark themes

📦 Prerequisites

Before running the project, ensure you have the following installed:

  1. Rust: Install via rustup
  2. Node.js: LTS Version
  3. Package Manager: pnpm (recommended), npm, or yarn.
  4. System Dependencies:

🏃‍♂️ Getting Started

  1. Clone the repository

    git clone https://github.com/sipusumit/cosmiccontroller.git
    cd cosmiccontroller
  2. Install Frontend Dependencies

    pnpm install
  3. Run in Development Mode This will start the Vite server and the Tauri window.

    pnpm tauri dev

🐧 Linux Setup (udev rules)

To communicate with the HID device on Linux without root privileges, you need to configure udev rules.

  1. Copy the provided rule file to your system:
    sudo cp src-tauri/rules/99-cosmicbyte.rules /etc/udev/rules.d/
  2. Reload the rules:
    sudo udevadm control --reload && sudo udevadm trigger

Note: The packaged .deb file handles this automatically during installation.

🏗️ Building for Production

To create an optimized executable installer:

pnpm tauri build

The output bundles (Debian package, AppImage, or Windows Installer) will be located in src-tauri/target/release/bundle/

About

GUI for Cosmic Byte Keyboard RGB Control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors