use usehid_core::{Device, Keyboard, Key, Modifiers};
use std::thread::sleep;
use std::time::Duration;
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("Creating virtual keyboard...");
println!("You have 3 seconds to focus a text input...");
sleep(Duration::from_secs(3));
let mut keyboard = Keyboard::new();
keyboard.create()?;
println!("Typing...");
keyboard.type_text("Hello from useHID! ")?;
sleep(Duration::from_millis(500));
keyboard.type_text("Testing 123... @#$%")?;
sleep(Duration::from_millis(500));
keyboard.tap(Key::Enter)?;
sleep(Duration::from_millis(200));
keyboard.type_text("New line!")?;
sleep(Duration::from_millis(500));
println!("Pressing Ctrl+A...");
keyboard.press_combo(Modifiers::CTRL, Key::A)?;
sleep(Duration::from_millis(500));
println!("Pressing Ctrl+C...");
keyboard.press_combo(Modifiers::CTRL, Key::C)?;
println!("Done!");
keyboard.destroy()?;
Ok(())
}