pub mod clipboard;
pub mod keymap;
pub mod uinput;
#[derive(Debug, Clone, Copy)]
pub struct KeyTap {
pub keycode: u16,
pub shift: bool,
pub altgr: bool,
}
#[derive(Debug, Clone, Copy)]
pub struct KeyMapping {
pub main: KeyTap,
pub follow: Option<KeyTap>,
}
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>;
}