[![github]](https://github.com/fuderis/rs-pc-remote) 
[![crates-io]](https://crates.io/crates/pc-remote) 
[![docs-rs]](https://docs.rs/pc-remote)
[github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
[crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
[docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.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.<br>
The library is designed for seamless integration into Rust projects,
providing ergonomic APIs for all supported functionalities.
## Examples:
### Keyboard Emulation:
```rust
use pc_remote::{Key, Keyboard, Result};
fn main() -> Result<()> {
let hotkey = [Key::PlayPause];
Keyboard::press(&hotkey)?;
Keyboard::release(&hotkey)?;
Ok(())
}
```
### Mouse Emulation:
```rust
use pc_remote::{Mouse, Result};
fn main() -> Result<()> {
Mouse::move_to_center()?;
Ok(())
}
```
### Audio Control:
```rust
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](https://github.com/fuderis/rs-pc-remote/blob/main/LICENSE.md) license.
You can contact me via GitHub or send a message to my telegram [@fuderis](https://t.me/fuderis).
This library is actively evolving, and your suggestions and feedback are always welcome!