19#include <Library/DebugLib.h>
21#include <Library/UefiBootServicesTableLib.h>
39 DEBUG ((DEBUG_INFO,
"AIK: ProtocolArriveHandler got null handler or called when done\n"));
44 if (!EFI_ERROR (Status)) {
50 DEBUG ((DEBUG_INFO,
"AIK: ProtocolArriveHandler AIKInstall failed - %r\n", Status));
67 if (EFI_ERROR (Status)) {
68 DEBUG ((DEBUG_INFO,
"KeyMapDbArriveEvent creation failed - %r\n", Status));
72 if (EFI_ERROR (Status)) {
73 DEBUG ((DEBUG_INFO,
"KeyMapDbArriveEvent registration failed - %r\n", Status));
109 DEBUG ((DEBUG_INFO,
"AIK: PollKeyboardHandler got null handler or called when done\n"));
141 if (!EFI_ERROR (Status)) {
144 "AIK: Key scan 0x%X uni 0x%X Shift 0x%X toggle 0x%X at %Lu\n",
145 KeyData.
Key.ScanCode,
146 KeyData.
Key.UnicodeChar,
153 }
else if (Status == EFI_UNSUPPORTED) {
157 Status = EFI_SUCCESS;
180 if (EFI_ERROR (Status)) {
189 if (EFI_ERROR (Status)) {
199 Status =
gBS->CreateEvent (
200 EVT_TIMER | EVT_NOTIFY_SIGNAL,
207 if (!EFI_ERROR (Status)) {
209 if (EFI_ERROR (Status)) {
210 DEBUG ((DEBUG_INFO,
"AIK: PollKeyboardHandler timer setting failed - %r\n", Status));
215 DEBUG ((DEBUG_INFO,
"AIK: PollKeyboardHandler event creation failed - %r\n", Status));
218 if (EFI_ERROR (Status)) {
248 IN UINT8 KeyForgotThreshold,
250 IN BOOLEAN KeyFiltering
262 if (EFI_ERROR (Status)) {
267 if (EFI_ERROR (Status)) {
271 DEBUG ((DEBUG_INFO,
"AIK: NOT waiting for protocols - %r\n", Status));
275 if (!EFI_ERROR (Status)) {
276 DEBUG ((DEBUG_INFO,
"AIK: Using %d (%d0ms)\n", KeyForgotThreshold, KeyForgotThreshold));
VOID AIKProtocolArriveUninstall(AIK_SELF *Keycode)
EFI_STATUS AIKProtocolArriveInstall(AIK_SELF *Keycode)
EFI_STATUS OcAppleGenericInputKeycodeInit(IN OC_INPUT_KEY_MODE Mode, IN UINT8 KeyForgotThreshold, IN BOOLEAN KeySwap, IN BOOLEAN KeyFiltering)
VOID EFIAPI AIKPollKeyboardHandler(IN EFI_EVENT Event, IN VOID *Context)
VOID AIKUninstall(AIK_SELF *Keycode)
EFI_STATUS AIKInstall(AIK_SELF *Keycode)
STATIC VOID EFIAPI AIKProtocolArriveHandler(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS OcAppleGenericInputKeycodeExit(VOID)
#define AIK_KEY_POLL_LIMIT
#define AIK_KEY_POLL_INTERVAL
VOID AIKDataReset(IN OUT AIK_DATA *Data)
VOID AIKDataWriteEntry(IN OUT AIK_DATA *Data, IN AMI_EFI_KEY_DATA *KeyData)
EFI_STATUS AIKSourceInstall(AIK_SOURCE *Source, OC_INPUT_KEY_MODE Mode)
EFI_STATUS AIKSourceGrabEfiKey(AIK_SOURCE *Source, AMI_EFI_KEY_DATA *KeyData, BOOLEAN KeyFiltering)
VOID AIKSourceUninstall(AIK_SOURCE *Source)
VOID AIKTargetSubmit(IN OUT AIK_TARGET *Target)
VOID AIKTargetWriteEntry(IN OUT AIK_TARGET *Target, IN AMI_EFI_KEY_DATA *KeyData)
UINT64 AIKTargetRefresh(IN OUT AIK_TARGET *Target)
EFI_STATUS AIKTargetInstall(IN OUT AIK_TARGET *Target, IN UINT8 KeyForgotThreshold)
VOID AIKTargetUninstall(IN OUT AIK_TARGET *Target)
VOID AIKTranslateConfigure(IN BOOLEAN KeySwap)
EFI_GUID gAppleKeyMapDatabaseProtocolGuid
EFI_EVENT PollKeyboardEvent
EFI_EVENT KeyMapDbArriveEvent
BOOLEAN InPollKeyboardEvent