summaryrefslogtreecommitdiff
path: root/Include/Protocol/AmiKeycode.h
diff options
context:
space:
mode:
Diffstat (limited to 'Include/Protocol/AmiKeycode.h')
-rw-r--r--Include/Protocol/AmiKeycode.h152
1 files changed, 152 insertions, 0 deletions
diff --git a/Include/Protocol/AmiKeycode.h b/Include/Protocol/AmiKeycode.h
new file mode 100644
index 0000000..3d53d03
--- /dev/null
+++ b/Include/Protocol/AmiKeycode.h
@@ -0,0 +1,152 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2011, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/Projects/Intel/Haswell/LynxPoint_SharkBay-DT_Crb_1AQQW/Include/Protocol/AmiKeycode.h 1 6/04/13 1:51a Thomaschen $
+//
+// $Revision: 1 $
+//
+// $Date: 6/04/13 1:51a $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/Projects/Intel/Haswell/LynxPoint_SharkBay-DT_Crb_1AQQW/Include/Protocol/AmiKeycode.h $
+//
+// 1 6/04/13 1:51a Thomaschen
+// Fixed for EIP118202.
+//
+// 10 10/25/12 2:36a Deepthins
+// [TAG] EIP99475
+// [Category] Improvement
+// [Description] Multi language module Support in the console splitter
+// [Files] ConSplit.c, ConSplit.h , In.c and AmiKeycode.h
+//
+// 9 7/21/11 3:57p Artems
+// EIP 64356: Combine common keyboard definitions in one file
+//
+// 8 10/13/09 6:06p Felixp
+// Hii.h renamed to UefiHii.h
+//
+// 7 10/09/09 3:53p Felixp
+// UEFI 2.1 related changes (new protocols added; existing protocols
+// updated; one protocol deleted).
+//
+// 6 8/21/09 10:19a Felixp
+// define GUID_VARIABLE_DECLARATION macro only if it has not been already
+// defined.
+//
+// 5 10/23/07 4:37p Olegi
+// Added PS2ScanCode field to the protocol.
+//
+// 4 9/18/07 11:52a Olegi
+//
+// 3 9/18/07 11:43a Olegi
+//
+// 2 9/17/07 3:53p Olegi
+// Removed EFI.H inclusion so that this header file can be also used in
+// EDK drivers.
+//
+// 1 9/07/07 4:35p Olegi
+//
+// 2 8/24/07 3:03p Olegi
+//
+// 1 8/23/07 2:44p Olegi
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: AmiKeycode.h
+//
+// Description: AMI_EFIKEYCODE_PROTOCOL definition
+//
+// Note: Currently this file is used both in Aptio and EDK files (MiniSetup.h)
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+#ifndef __AMI_KEYCODE_PROTOCOL_H__
+#define __AMI_KEYCODE_PROTOCOL_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <EFI.h>
+#include <KeyboardCommonDefinitions.h>
+
+#ifndef GUID_VARIABLE_DECLARATION
+#define GUID_VARIABLE_DECLARATION(Variable, Guid) extern EFI_GUID Variable
+#endif
+
+#define AMI_EFIKEYCODE_PROTOCOL_GUID \
+ {0x0adfb62d, 0xff74, 0x484c, 0x89, 0x44, 0xf8, 0x5c, 0x4b, 0xea, 0x87, 0xa8}
+
+#define AMI_MULTI_LANG_SUPPORT_PROTOCOL_GUID \
+ {0xb295bd1c, 0x63e3, 0x48e3, 0xb2, 0x65, 0xf7, 0xdf, 0xa2, 0x7, 0x1, 0x23}
+GUID_VARIABLE_DECLARATION(gAmiEfiKeycodeProtocolGuid,AMI_EFIKEYCODE_PROTOCOL_GUID);
+
+#ifndef GUID_VARIABLE_DEFINITION
+
+#include <Protocol/SimpleTextInEx.h>
+
+typedef struct _AMI_EFIKEYCODE_PROTOCOL AMI_EFIKEYCODE_PROTOCOL;
+typedef struct _AMI_MULTI_LANG_SUPPORT_PROTOCOL AMI_MULTI_LANG_SUPPORT_PROTOCOL;
+
+typedef struct {
+ EFI_INPUT_KEY Key;
+ EFI_KEY_STATE KeyState;
+ EFI_KEY EfiKey;
+ UINT8 EfiKeyIsValid;
+ UINT8 PS2ScanCode;
+ UINT8 PS2ScanCodeIsValid;
+} AMI_EFI_KEY_DATA;
+
+typedef EFI_STATUS (EFIAPI *AMI_READ_EFI_KEY) (
+ IN AMI_EFIKEYCODE_PROTOCOL *This,
+ OUT AMI_EFI_KEY_DATA *KeyData
+);
+
+typedef struct _AMI_EFIKEYCODE_PROTOCOL {
+ EFI_INPUT_RESET_EX Reset;
+ AMI_READ_EFI_KEY ReadEfikey;
+ EFI_EVENT WaitForKeyEx;
+ EFI_SET_STATE SetState;
+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
+} AMI_EFIKEYCODE_PROTOCOL;
+
+typedef EFI_STATUS (EFIAPI *EFI_KEYBOARD_LAYOUT_MAP)(
+ IN AMI_MULTI_LANG_SUPPORT_PROTOCOL *This,
+ IN OUT AMI_EFI_KEY_DATA *Keydata );
+
+typedef struct _AMI_MULTI_LANG_SUPPORT_PROTOCOL {
+ EFI_KEYBOARD_LAYOUT_MAP KeyboardLayoutMap;
+} AMI_MULTI_LANG_SUPPORT_PROTOCOL;
+/****** DO NOT WRITE BELOW THIS LINE *******/
+#endif // #ifndef GUID_VARIABLE_DEFINITION
+#ifdef __cplusplus
+}
+#endif
+#endif
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2011, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//********************************************************************** \ No newline at end of file