use super::EventId;
use crate::sys;
use crate::utils::{FsParamArg, FsParamError};
macro_rules! key_event_ids {
($($(#[$m:meta])* $name:ident = $sys_const:ident;)*) => {
$(
$(#[$m])*
pub const $name: EventId = EventId::raw(sys::$sys_const as sys::FsEventId);
)*
};
}
key_event_ids! {
HEADING_BUG_SET = KEY_HEADING_BUG_SET;
TACAN1_SET = KEY_TACAN1_SET;
TACAN2_SET = KEY_TACAN2_SET;
TACAN1_ACTIVE_CHANNEL_SET = KEY_TACAN1_ACTIVE_CHANNEL_SET;
TACAN1_ACTIVE_MODE_SET = KEY_TACAN1_ACTIVE_MODE_SET;
TACAN2_ACTIVE_CHANNEL_SET = KEY_TACAN2_ACTIVE_CHANNEL_SET;
TACAN2_ACTIVE_MODE_SET = KEY_TACAN2_ACTIVE_MODE_SET;
VOR1_SET = KEY_VOR1_SET;
VOR2_SET = KEY_VOR2_SET;
VOR3_SET = KEY_VOR3_SET;
NAV1_STBY_SET_HZ = KEY_NAV1_STBY_SET_HZ;
NAV2_STBY_SET_HZ = KEY_NAV2_STBY_SET_HZ;
XPNDR_SET = KEY_XPNDR_SET;
NAV1_RADIO_SWAP = KEY_NAV1_RADIO_SWAP;
NAV2_RADIO_SWAP = KEY_NAV2_RADIO_SWAP;
NAV1_RADIO_SET = KEY_NAV1_RADIO_SET;
NAV2_RADIO_SET = KEY_NAV2_RADIO_SET;
KOHLSMAN_SET = KEY_KOHLSMAN_SET;
KOHLSMAN_INC = KEY_KOHLSMAN_INC;
KOHLSMAN_DEC = KEY_KOHLSMAN_DEC;
XPNDR_IDENT_ON = KEY_XPNDR_IDENT_ON;
}
#[inline]
pub fn trigger_key(event: EventId, value: u32) -> Result<(), FsParamError> {
super::trigger1(event, FsParamArg::Index(value))
}
#[inline]
pub fn trigger_key0(event: EventId) -> Result<(), FsParamError> {
super::trigger0(event)
}