4 releases

new 0.2.0 Dec 20, 2024
0.1.2 Dec 18, 2024
0.1.1 Dec 18, 2024
0.1.0 Dec 18, 2024

#375 in Hardware support

Download history 117/week @ 2024-12-13

117 downloads per month

MIT license

16KB
221 lines

razerctl

A Rust port of the original rzctl project, 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
  • ❌ No support for keyboard yet

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 coordinates (100, 100)
    mouse_move(100, 100, true)?;
    
    Ok(())
}

Examples

Run the included examples:

# Fast mouse movement demo
cargo run --example mouse_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
~523K SLoC