Skip to main content

usehid_core/
lib.rs

1//! useHID - Cross-platform virtual HID device library
2//!
3//! This library provides a unified API for creating virtual HID devices
4//! (mouse, keyboard, gamepad) across macOS, Linux, and Windows.
5
6pub mod error;
7pub mod hid;
8pub mod keyboard;
9pub mod mouse;
10pub mod gamepad;
11pub mod platform;
12pub mod agent;
13
14pub use error::{Error, Result};
15pub use keyboard::{Keyboard, Key, Modifiers};
16pub use mouse::{Mouse, MouseButton};
17pub use gamepad::{Gamepad, GamepadButton};
18pub use agent::AgentHID;
19
20/// Device trait for all virtual HID devices
21pub trait Device {
22    /// Create and register the virtual device
23    fn create(&mut self) -> Result<()>;
24    
25    /// Destroy and unregister the virtual device
26    fn destroy(&mut self) -> Result<()>;
27    
28    /// Check if device is created
29    fn is_created(&self) -> bool;
30}