pub trait MasterHooks {
// Provided methods
async fn on_master_init(
&mut self,
_key_scanner: &mut impl KeyscanDriver,
_mouse: Option<&mut impl MouseDriver>,
) { ... }
async fn on_keyboard_event(&mut self, _event: &mut KeyChangeEvent) -> bool { ... }
async fn on_mouse_event(&mut self, _mouse_move: &mut (i8, i8)) -> bool { ... }
async fn on_encoder_event(
&mut self,
_id: &mut u8,
_dir: &mut EncoderDirection,
) -> bool { ... }
fn on_keymanager_event(&mut self, _event: OutputEvent) { ... }
async fn on_state_update(
&mut self,
_state_report: &mut Report,
_usb_reporter: &Option<impl ReporterDriver>,
_ble_reporter: &Option<impl ReporterDriver>,
) -> bool { ... }
}
Expand description
Hooks called for master side
Provided Methods§
Sourceasync fn on_master_init(
&mut self,
_key_scanner: &mut impl KeyscanDriver,
_mouse: Option<&mut impl MouseDriver>,
)
async fn on_master_init( &mut self, _key_scanner: &mut impl KeyscanDriver, _mouse: Option<&mut impl MouseDriver>, )
Called after master side initialization.
Sourceasync fn on_keyboard_event(&mut self, _event: &mut KeyChangeEvent) -> bool
async fn on_keyboard_event(&mut self, _event: &mut KeyChangeEvent) -> bool
Sourceasync fn on_mouse_event(&mut self, _mouse_move: &mut (i8, i8)) -> bool
async fn on_mouse_event(&mut self, _mouse_move: &mut (i8, i8)) -> bool
Sourceasync fn on_encoder_event(
&mut self,
_id: &mut u8,
_dir: &mut EncoderDirection,
) -> bool
async fn on_encoder_event( &mut self, _id: &mut u8, _dir: &mut EncoderDirection, ) -> bool
Sourcefn on_keymanager_event(&mut self, _event: OutputEvent)
fn on_keymanager_event(&mut self, _event: OutputEvent)
Called after keymanager event occur.
This hook can be used to handle custom keycode.
Sourceasync fn on_state_update(
&mut self,
_state_report: &mut Report,
_usb_reporter: &Option<impl ReporterDriver>,
_ble_reporter: &Option<impl ReporterDriver>,
) -> bool
async fn on_state_update( &mut self, _state_report: &mut Report, _usb_reporter: &Option<impl ReporterDriver>, _ble_reporter: &Option<impl ReporterDriver>, ) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.