pub type HidStateCallback = Option<unsafe extern "C" fn(state: bool, context: *mut c_void)>;