keyflow 0.1.1

Cross-platform input simulation library for keyboard, mouse and hotkeys.
Documentation
use keyflow::prelude::*;
use std::thread;
use std::time::Duration;

pub fn type_text(text: &str) {
    for ch in text.chars() {
        match ch {
            ' ' => Keyflow::click_key(Key::Space),
            'A'..='Z' => {
                Keyflow::press_key(Key::ShiftLeft);
                Keyflow::click_key(char_to_key(ch.to_ascii_lowercase()));
                Keyflow::release_key(Key::ShiftLeft);
            }
            'a'..='z' => Keyflow::click_key(char_to_key(ch)),
            _ => {} // Ignore other characters for simplicity
        }
        thread::sleep(Duration::from_millis(50));
    }
}

fn char_to_key(ch: char) -> Key {
    match ch {
        'a' => Key::A,
        'b' => Key::B,
        'c' => Key::C,
        'd' => Key::D,
        'e' => Key::E,
        'f' => Key::F,
        'g' => Key::G,
        'h' => Key::H,
        'i' => Key::I,
        'j' => Key::J,
        'k' => Key::K,
        'l' => Key::L,
        'm' => Key::M,
        'n' => Key::N,
        'o' => Key::O,
        'p' => Key::P,
        'q' => Key::Q,
        'r' => Key::R,
        's' => Key::S,
        't' => Key::T,
        'u' => Key::U,
        'v' => Key::V,
        'w' => Key::W,
        'x' => Key::X,
        'y' => Key::Y,
        'z' => Key::Z,
        _ => Key::Space,
    }
}

fn main() {}