15#ifndef AIK_TRANSLATE_H
16#define AIK_TRANSLATE_H
21#define AIK_MAX_PS2KEY_NUM 128
22#define AIK_MAX_EFIKEY_NUM 128
23#define AIK_MAX_ASCII_NUM 128
24#define AIK_MAX_SCANCODE_NUM 24
26#define AIK_MAX_MODIFIERS_NUM (\
27 USB_HID_KB_KP_MODIFIER_RIGHT_SHIFT \
28 | USB_HID_KB_KP_MODIFIER_LEFT_SHIFT \
29 | USB_HID_KB_KP_MODIFIER_RIGHT_CONTROL \
30 | USB_HID_KB_KP_MODIFIER_LEFT_CONTROL \
31 | USB_HID_KB_KP_MODIFIER_RIGHT_ALT \
32 | USB_HID_KB_KP_MODIFIER_LEFT_ALT \
33 | USB_HID_KB_KP_MODIFIER_RIGHT_GUI \
34 | USB_HID_KB_KP_MODIFIER_LEFT_GUI \
37#define AIK_APPLEKEY_MIN AppleHidUsbKbUsageKeyA
38#define AIK_APPLEKEY_MAX AppleHidUsbKbUsageKeyUpArrow
39#define AIK_MAX_APPLEKEY_NUM ((AIK_APPLEKEY_MAX) - (AIK_APPLEKEY_MIN) + 1)
71#define AIK_PS2KEY_TO_NAME(k, m) \
72 (((k) < AIK_MAX_PS2KEY_NUM && gAikPs2KeyToUsbMap[k].KeyName) \
73 ? (((m) & (EFI_LEFT_SHIFT_PRESSED|EFI_RIGHT_SHIFT_PRESSED)) \
74 ? gAikPs2KeyToUsbMap[k].ShiftKeyName : gAikPs2KeyToUsbMap[k].KeyName) \
77#define AIK_EFIKEY_TO_NAME(k) \
78 (((k) < AIK_MAX_EFIKEY_NUM && gAikEfiKeyToUsbMap[k].KeyName) \
79 ? gAikEfiKeyToUsbMap[k].KeyName \
82#define AIK_ASCII_TO_NAME(k) \
83 (((k) >= 0 && (k) < AIK_MAX_ASCII_NUM && gAikAsciiToUsbMap[k].KeyName) \
84 ? gAikAsciiToUsbMap[k].KeyName \
87#define AIK_SCANCODE_TO_NAME(k) \
88 (((k) < AIK_MAX_SCANCODE_NUM && gAikScanCodeToUsbMap[k].KeyName) \
89 ? gAikScanCodeToUsbMap[k].KeyName \
92#define AIK_MODIFIERS_TO_NAME(k) \
93 (((k) < AIK_MAX_MODIFIERS_NUM && gAikModifiersToNameMap[k]) \
94 ? gAikModifiersToNameMap[k] \
97#define AIK_APPLEKEY_TO_NAME(k) \
98 (((k) >= AIK_APPLEKEY_MIN && (k) <= AIK_APPLEKEY_MAX && gAikAppleKeyToNameMap[(k) - AIK_APPLEKEY_MIN]) \
99 ? gAikAppleKeyToNameMap[(k) - AIK_APPLEKEY_MIN] \
CONST CHAR8 * gAikAppleKeyToNameMap[AIK_MAX_APPLEKEY_NUM]
CONST CHAR8 * gAikModifiersToNameMap[AIK_MAX_MODIFIERS_NUM]
#define AIK_MAX_APPLEKEY_NUM
AIK_SCANCODE_TO_USB gAikScanCodeToUsbMap[AIK_MAX_SCANCODE_NUM]
AIK_PS2KEY_TO_USB gAikPs2KeyToUsbMap[AIK_MAX_PS2KEY_NUM]
#define AIK_MAX_ASCII_NUM
AIK_EFIKEY_TO_USB gAikEfiKeyToUsbMap[AIK_MAX_EFIKEY_NUM]
#define AIK_MAX_MODIFIERS_NUM
VOID AIKTranslateConfigure(IN BOOLEAN KeySwap)
#define AIK_MAX_SCANCODE_NUM
#define AIK_MAX_PS2KEY_NUM
#define AIK_MAX_EFIKEY_NUM
VOID AIKTranslate(IN AMI_EFI_KEY_DATA *KeyData, OUT APPLE_MODIFIER_MAP *Modifiers, OUT APPLE_KEY_CODE *Key)
AIK_ASCII_TO_USB gAikAsciiToUsbMap[AIK_MAX_ASCII_NUM]
APPLE_HID_USAGE APPLE_KEY_CODE
UINT16 APPLE_MODIFIER_MAP
CONST CHAR8 * ShiftKeyName