StickUp
๐ Update: v0.2.0 is here!
StickUp now supports full per-frame state snapshots, binding resolution ("joy0.axis1"), and cleaner device management via the newDeviceManager.
Built to scale with sim rigs, overlays, game engines, and beyond.
Already passed 500 downloads in 24 hours โ thank you to everyone testing and sharing it
๐ Security Note
The name stickup was previously used in 2023 for a malicious crate which has since been removed from crates.io. (I wasn't aware of this at the time of publishing.)
This version โ authored by Belegrade Studio โ is a clean and fully rewritten project, unrelated to the original.
โ
No build.rs
โ
No network activity
โ
100% open and auditable
Transparency and trust matter. You're welcome to inspect the source or reach out directly
StickUp is a modular, high-performance input framework for Rust.
It supports both HID and virtual devices with precision, persistence, and clarity.
Created by Belegrade Studio as part of the CelerisTech stack.
โจ Features
- ๐ Plug-and-play device management via
DeviceManager - ๐ฎ Unified
Devicetrait for axis + button input - ๐ง Persistent device identity (hardware fingerprint)
- ๐งฐ Binding resolution like
"joy0.axis1"โOption<f32> - ๐ Per-frame polling and snapshot state tracking
- ๐ง Hotplug-friendly and fully extendable
- ๐ Supports
hidandvirtualbackends via features - ๐ก Zero magic โ minimal, intentional design
๐ฆ Installation
= { = "0.2.0", = ["hid", "virtual"] }
๐ Quick Start
use DeviceManager;
๐ Full Snapshot Example
let mut input = new;
let state = input.snapshot;
for in state.iter
๐งฌ Device Identity
StickUp assigns a stable, persistent ID to each device:
vendor_id:product_id:serial_number
# Example: 044f:0402:ABCD1234
๐ Examples
Run any with:
pollโ Print a full snapshot of all input statevirtual_demoโ Feed input into a simulated virtual device
๐ ๏ธ Optional Features
| Feature | Description |
|---|---|
hid (default) |
Enables HID device support via hidapi |
virtual |
Enables manually fed virtual devices |
๐งญ Philosophy
StickUp is about presence, clarity, and persistence.
It doesn't guess. It doesn't simulate. It reflects exactly what your device is doing โ no more, no less.
๐ License
This project is licensed under the Pact of the Amaranth Rite.
See LICENSE for details.
Third-Party Dependencies
StickUp uses the following libraries, each under permissive open source licenses:
hidapiโ MIT/Apache-2.0 (HID support)serdeโ MIT/Apache-2.0 (serialization)serde_jsonโ MIT/Apache-2.0 (layout/config IO)tomlโ MIT/Apache-2.0 (if config parsing used)
๐ฌ Connect
- โ๏ธ Email: belegrade@belegrades.gg
- ๐ฌ Discord: Join the Chat
- ๐ฎ Sim pilots & devs: Iโd love to hear how youโre using StickUp.