extern crate rmk;
#[macro_export]
macro_rules! key_sequence_test {
(keyboard: $keyboard:expr, sequence: [$([$row:expr, $col:expr, $pressed:expr, $delay:expr]),* $(,)?], expected_reports: [$([$modifier:expr, $keys:expr]),* $(,)?]) => {
::embassy_futures::block_on(async {
let mut keyboard = $keyboard;
let sequence = vec![
$(
$crate::common::TestKeyPress {
row: $row,
col: $col,
pressed: $pressed,
delay: $delay,
},
)*
];
let expected_reports = vec![
$(
rmk::descriptor::KeyboardReport {
modifier: $modifier,
keycodes: $keys,
leds: 0,
reserved: 0,
},
)*
];
$crate::common::run_key_sequence_test(&mut keyboard, &sequence, &expected_reports).await;
});
};
}
#[macro_export]
macro_rules! kc_to_u8 {
($key: ident) => {
rmk::types::keycode::KeyCode::$key as u8
};
}