pub mod clipboard;
pub mod keymap;
pub mod uinput;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum Modifier {
Shift,
}
#[derive(Debug, Clone, Copy)]
pub struct KeyMapping {
pub keycode: u16,
pub shift: bool,
}
pub trait KeyInjector: Send + Sync {
fn type_text(&mut self, text: &str) -> anyhow::Result<()>;
fn backspace(&mut self, count: u32) -> anyhow::Result<()>;
fn paste_text(&mut self, text: &str) -> anyhow::Result<()>;
}
pub trait ClipboardHandler: Send + Sync {
fn get_text(&self) -> anyhow::Result<String>;
fn set_text(&self, text: &str) -> anyhow::Result<()>;
fn get_primary_selection(&self) -> anyhow::Result<String>;
}