pub trait InputMethodEditorProxyInterface: Send + Sync {
type DispatchKey3ResponseFut: Future<Output = Result<bool, Error>> + Send;
// Required methods
fn set_keyboard_type(
&self,
keyboard_type: KeyboardType
) -> Result<(), Error>;
fn set_state(&self, state: &mut TextInputState) -> Result<(), Error>;
fn inject_input(&self, event: &mut InputEvent) -> Result<(), Error>;
fn show(&self) -> Result<(), Error>;
fn hide(&self) -> Result<(), Error>;
// Provided method
fn dispatch_key3(&self, event: KeyEvent) -> Self::DispatchKey3ResponseFut { ... }
}