use crate::macro_writer::MacroWriter; use crate::x11_safe_wrapper::XDisplay; use crate::{Instructions, Keycode, Position}; use std::mem::size_of; use std::time::{SystemTime, UNIX_EPOCH}; use x11::xlib::Time; use x11::xrecord::{XRecordContext, XRecordInterceptData}; #[repr(C)] pub struct EvCallbackData { pub writer: MacroWriter, pub xdpy: XDisplay, pub recdpy: XDisplay, pub ctx: XRecordContext, pub working: bool, pub last_event: Time, pub pos: Position, pub stop_key: Keycode, pub ev_nr: u32, pub max_delay: Option