#audio #keyboard #mouse #pc-control

pc-remote

This library provides cross-platform control over computer input devices

2 releases

Uses new Rust 2024

0.1.1 Jan 26, 2026
0.1.0 Sep 20, 2025

#1287 in Development tools

MIT and GPL-3.0 licenses

620KB
369 lines

Contains (DOS exe, 200KB) bin/nirsoft/svv/SoundVolumeView.exe, (DOS exe, 165KB) bin/nirsoft/svcl/svcl.exe, (DOS exe, 120KB) bin/nirsoft/nircmd/nircmd.exe, (DOS exe, 120KB) bin/nirsoft/nircmd/nircmdc.exe

githubcrates-iodocs-rs

PC Remote Control

This library provides cross-platform control over computer input devices. It allows emulating keyboard and mouse inputs programmatically and managing audio devices.

The library is designed for seamless integration into Rust projects, providing ergonomic APIs for all supported functionalities.

Examples:

Keyboard Emulation:

use pc_remote::{Key, Keyboard, Result};

fn main() -> Result<()> {
    let hotkey = [Key::PlayPause];

    Keyboard::press(&hotkey)?;
    Keyboard::release(&hotkey)?;

    Ok(())
}

Mouse Emulation:

use pc_remote::{Mouse, Result};

fn main() -> Result<()> {
    Mouse::move_to_center()?;

    Ok(())
}

Audio Control:

use pc_remote::{Audio, Result};

fn main() -> Result<()> {
    let list = Audio::devices()?;
    println!("Audio devices: {list:?}%");

    Audio::set_volume(50)?;
    println!("Audio volume: {}%", Audio::get_volume());

    Ok(())
}

Feedback:

This library distributed under the MIT license.

You can contact me via GitHub or send a message to my telegram @fuderis. This library is actively evolving, and your suggestions and feedback are always welcome!

Dependencies

~0.8–26MB
~459K SLoC