18#include <Library/BaseMemoryLib.h>
19#include <Library/DebugLib.h>
20#include <Library/UefiBootServicesTableLib.h>
31 "AIKAmiKeycodeReadEfikey %p %p ours %p event %d",
39 return EFI_INVALID_PARAMETER;
55 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
56 OUT EFI_INPUT_KEY *Key
64 "AIKTextInputReadKeyStroke %p %p ours %p event %d",
72 return EFI_INVALID_PARAMETER;
80 if (!EFI_ERROR (Status)) {
84 if ( (AmiKeyData.
Key.ScanCode == 0) && (AmiKeyData.
Key.UnicodeChar == 0)
87 Status = EFI_NOT_READY;
102 IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
103 OUT EFI_KEY_DATA *KeyData
111 "AIKTextInputReadKeyStrokeEx %p %p ours %p event %d",
119 return EFI_INVALID_PARAMETER;
127 if (!EFI_ERROR (Status)) {
128 CopyMem (&KeyData->Key, &AmiKeyData.
Key, sizeof (AmiKeyData.
Key));
146 DEBUG ((DEBUG_INFO,
"AIKShimWaitForKeyHandler got null handler or called when done\n"));
151 DEBUG ((DEBUG_VERBOSE,
"Caught KeyBufferSize non-zero\n"));
152 gBS->SignalEvent (Event);
EFI_STATUS AIKDataReadEntry(IN OUT AIK_DATA *Data, OUT AMI_EFI_KEY_DATA *KeyData)
BOOLEAN AIKDataEmpty(IN AIK_DATA *Data)
VOID EFIAPI AIKShimWaitForKeyHandler(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS EFIAPI AIKShimTextInputReadKeyStroke(IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This, OUT EFI_INPUT_KEY *Key)
EFI_STATUS EFIAPI AIKShimAmiKeycodeReadEfikey(IN AMI_EFIKEYCODE_PROTOCOL *This, OUT AMI_EFI_KEY_DATA *KeyData)
EFI_STATUS EFIAPI AIKShimTextInputReadKeyStrokeEx(IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, OUT EFI_KEY_DATA *KeyData)
#define KEY_STATE_EXPOSED
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
BOOLEAN InPollKeyboardEvent
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL * TextInputEx
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * TextInput
EFI_INPUT_READ_KEY TextReadKeyStroke
EFI_INPUT_READ_KEY_EX TextReadKeyStrokeEx
AMI_EFIKEYCODE_PROTOCOL * AmiKeycode
AMI_READ_EFI_KEY AmiReadEfikey