6 releases
new 0.3.1 | Jan 2, 2025 |
---|---|
0.3.0 | Jan 2, 2025 |
0.2.0 | Dec 20, 2024 |
0.1.2 | Dec 18, 2024 |
#329 in Hardware support
491 downloads per month
20KB
320 lines
razerctl
A rust library which allows you to control your mouse with Razer Synapse
Requirements
- Windows operating system
- Rust 1.56 or higher
Safety
This crate uses unsafe
code for Windows API interactions but provides safe abstractions for users. All unsafe operations are thoroughly documented and contained within the implementation.
Features
- ✅ Currently supports mouse movement/clicking
- ✅ Supports sending keyboard inputs
- ❌ No support for keyboard dictionary yet, you'll have to experiment yourself for now
Installation
In your root project folder, run the following to add razerctl to your dependencies.
cargo add razerctl
Quick Start
use std::io::Error;
use razerctl::{init, mouse_move};
fn main() -> Result<(), Error> {
// Initialize with default settings
init()?;
// Move mouse to relative coordinates (100, 100)
mouse_move(100, 100)?;
Ok(())
}
Examples
Run the included examples:
# Mouse clicking demo
cargo run --example left_click
# Basic mouse movement demo
cargo run --example mouse_move1
# Fast mouse movement demo
cargo run --example mouse_move2
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License.
Dependencies
~0–35MB
~522K SLoC