rdevin

Crates.iordevin
lib.rsrdevin
version0.1.0
created_at2025-05-10 02:57:31.437697+00
updated_at2025-05-10 02:57:31.437697+00
descriptionCross-platform simulation and global listening for keyboard and mouse input.
homepagehttps://github.com/justdeeevin/rdevin
repositoryhttps://github.com/justdeeevin/rdevin
max_upload_size
id1668023
size227,815
Devin Droddy (justDeeevin)

documentation

https://docs.rs/rdevin/

README

rdevin

Crate API

Cross-platform simulation and global listening for keyboard and mouse input.

[!WARNING] This crate is subject to extreme change. There is still great room for improvement. It is only presently published for use by NuhxBoard.

Listening for input

The listen and grab 1 functions can be used to run a callback for all input events.

rdevin::listen(|e| dbg!(e))?;

Simulating input

The simulate function can be used to send input events.

use rdevin::{simulate, EventType, Key};

simulate(&EventType::KeyPress(Key::KeyS))?;

Serialization

Serde support is gated behind the serde feature.

Acknowledgements

  • This crate is a fork of a fork of a fork of Narsil's rdev crate, created to ensure continued maintenance and to make Rustdesk's many useful additions available on crates.io.
  • Enigo, an input simulation library, served as inspiration and reference for Narsil's original crate.

Footnotes

  1. Not available on Linux

Commit count: 428

cargo fmt