pub trait ReporterDriver {
type Error: Error;
// Required methods
fn try_send_keyboard_report(
&self,
_report: KeyboardReport,
) -> Result<(), Self::Error>;
fn try_send_media_keyboard_report(
&self,
_report: MediaKeyboardReport,
) -> Result<(), Self::Error>;
fn try_send_mouse_report(
&self,
_report: MouseReport,
) -> Result<(), Self::Error>;
async fn send_rrp_data(&self, _data: &[u8]) -> Result<(), Self::Error>;
fn wakeup(&self) -> Result<bool, Self::Error>;
// Provided methods
async fn wait_ready(&self) { ... }
async fn recv_keyboard_report(&self) -> Result<u8, Self::Error> { ... }
async fn recv_rrp_data(&self, _buf: &mut [u8]) -> Result<usize, Self::Error> { ... }
async fn send_raw_hid_data(&self, _data: &[u8]) -> Result<(), Self::Error> { ... }
async fn recv_raw_hid_data(
&self,
_buf: &mut [u8],
) -> Result<usize, Self::Error> { ... }
}
Required Associated Types§
Required Methods§
fn try_send_keyboard_report( &self, _report: KeyboardReport, ) -> Result<(), Self::Error>
fn try_send_media_keyboard_report( &self, _report: MediaKeyboardReport, ) -> Result<(), Self::Error>
fn try_send_mouse_report(&self, _report: MouseReport) -> Result<(), Self::Error>
async fn send_rrp_data(&self, _data: &[u8]) -> Result<(), Self::Error>
Provided Methods§
async fn wait_ready(&self)
Sourceasync fn recv_keyboard_report(&self) -> Result<u8, Self::Error>
async fn recv_keyboard_report(&self) -> Result<u8, Self::Error>
Read a keyboard report from the device and return leds data.
async fn recv_rrp_data(&self, _buf: &mut [u8]) -> Result<usize, Self::Error>
async fn send_raw_hid_data(&self, _data: &[u8]) -> Result<(), Self::Error>
async fn recv_raw_hid_data(&self, _buf: &mut [u8]) -> Result<usize, Self::Error>
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.