diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Include/KeyboardCommonDefinitions.h | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Include/KeyboardCommonDefinitions.h')
-rw-r--r-- | Include/KeyboardCommonDefinitions.h | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/Include/KeyboardCommonDefinitions.h b/Include/KeyboardCommonDefinitions.h new file mode 100644 index 0000000..e2c91b6 --- /dev/null +++ b/Include/KeyboardCommonDefinitions.h @@ -0,0 +1,175 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/BIN/Core/Include/KeyboardCommonDefinitions.h 2 9/23/11 12:37a Rameshr $ +// +// $Revision: 2 $ +// +// $Date: 9/23/11 12:37a $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Core/Include/KeyboardCommonDefinitions.h $ +// +// 2 9/23/11 12:37a Rameshr +// [TAG] EIP63054 +// [Category] New Feature +// [Description] 0000790: Add warning to ReadKeyStrokeEx for partial key +// press +// [Files] KeyboardCommonDefinitions.h, In.c, Kbc.h, Ps2Kbd.c, +// Efiusbkb.c, efiusbkb.h, efiusbhid.c +// +// 1 7/21/11 4:02p Artems +// EIP 64356: Combine common keyboard definitions in one file +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: KeyboardCommonDefinitions.h +// +// Description: This file contains definitions common for HiiKeyboard, +// SimpleTextIn protocol and Ami keyboard PPI +// +//<AMI_FHDR_END> +//********************************************************************** +#ifndef __KEYBOARD_COMMON_DEFINITIONS__H__ +#define __KEYBOARD_COMMON_DEFINITIONS__H__ +#ifdef __cplusplus +extern "C" { +#endif +#include <EFI.h> + +// +// EFI Scan codes +// +#define EFI_SCAN_NULL 0x00 +#define EFI_SCAN_UP 0x01 +#define EFI_SCAN_DN 0x02 +#define EFI_SCAN_RIGHT 0x03 +#define EFI_SCAN_LEFT 0x04 +#define EFI_SCAN_HOME 0x05 +#define EFI_SCAN_END 0x06 +#define EFI_SCAN_INS 0x07 +#define EFI_SCAN_DEL 0x08 +#define EFI_SCAN_PGUP 0x09 +#define EFI_SCAN_PGDN 0x0A +#define EFI_SCAN_F1 0x0B +#define EFI_SCAN_F2 0x0C +#define EFI_SCAN_F3 0x0D +#define EFI_SCAN_F4 0x0E +#define EFI_SCAN_F5 0x0F +#define EFI_SCAN_F6 0x10 +#define EFI_SCAN_F7 0x11 +#define EFI_SCAN_F8 0x12 +#define EFI_SCAN_F9 0x13 +#define EFI_SCAN_F10 0x14 +#define EFI_SCAN_F11 0x15 +#define EFI_SCAN_F12 0x16 +#define EFI_SCAN_ESC 0x17 + +#define SHIFT_STATE_VALID 0x80000000 +#define RIGHT_SHIFT_PRESSED 0x00000001 +#define LEFT_SHIFT_PRESSED 0x00000002 +#define RIGHT_CONTROL_PRESSED 0x00000004 +#define LEFT_CONTROL_PRESSED 0x00000008 +#define RIGHT_ALT_PRESSED 0x00000010 +#define LEFT_ALT_PRESSED 0x00000020 +#define RIGHT_LOGO_PRESSED 0x00000040 +#define LEFT_LOGO_PRESSED 0x00000080 +#define MENU_KEY_PRESSED 0x00000100 +#define SYS_REQ_PRESSED 0x00000200 + +#define TOGGLE_STATE_VALID 0x80 +#define SCROLL_LOCK_ACTIVE 0x01 +#define NUM_LOCK_ACTIVE 0x02 +#define CAPS_LOCK_ACTIVE 0x04 +#define KEY_STATE_EXPOSED 0x40 + +//******************************************************* +// EFI_INPUT_KEY +//******************************************************* +typedef struct { + UINT16 ScanCode; + CHAR16 UnicodeChar; +} EFI_INPUT_KEY; + +//******************************************************* +// EFI_KEY_TOGGLE_STATE +//******************************************************* +typedef UINT8 EFI_KEY_TOGGLE_STATE; + +//******************************************************* +// EFI_KEY_STATE +//******************************************************* +// +// Any Shift or Toggle State that is valid should have +// high order bit set. +// +typedef struct EFI_KEY_STATE { + UINT32 KeyShiftState; + EFI_KEY_TOGGLE_STATE KeyToggleState; +} EFI_KEY_STATE; + +//*************************************************** +// EFI_KEY +//*************************************************** +typedef enum { + EfiKeyLCtrl, EfiKeyA0, EfiKeyLAlt, EfiKeySpaceBar, + EfiKeyA2, EfiKeyA3, EfiKeyA4, EfiKeyRCtrl, + EfiKeyLeftArrow, EfiKeyDownArrow, EfiKeyRightArrow, EfiKeyZero, + EfiKeyPeriod, EfiKeyEnter, EfiKeyLShift, EfiKeyB0, + EfiKeyB1, EfiKeyB2, EfiKeyB3, EfiKeyB4, + EfiKeyB5, EfiKeyB6, EfiKeyB7, EfiKeyB8, + EfiKeyB9, EfiKeyB10, EfiKeyRShift, EfiKeyUpArrow, + EfiKeyOne, EfiKeyTwo, EfiKeyThree, EfiKeyCapsLock, + EfiKeyC1, EfiKeyC2, EfiKeyC3, EfiKeyC4, + EfiKeyC5, EfiKeyC6, EfiKeyC7, EfiKeyC8, + EfiKeyC9, EfiKeyC10, EfiKeyC11, EfiKeyC12, + EfiKeyFour, EfiKeyFive, EfiKeySix, EfiKeyPlus, + EfiKeyTab, EfiKeyD1, EfiKeyD2, EfiKeyD3, + EfiKeyD4, EfiKeyD5, EfiKeyD6, EfiKeyD7, + EfiKeyD8, EfiKeyD9, EfiKeyD10, EfiKeyD11, + EfiKeyD12, EfiKeyD13, EfiKeyDel, EfiKeyEnd, + EfiKeyPgDn, EfiKeySeven, EfiKeyEight, EfiKeyNine, + EfiKeyE0, EfiKeyE1, EfiKeyE2, EfiKeyE3, + EfiKeyE4, EfiKeyE5, EfiKeyE6, EfiKeyE7, + EfiKeyE8, EfiKeyE9, EfiKeyE10, EfiKeyE11, + EfiKeyE12, EfiKeyBackSpace, EfiKeyIns, EfiKeyHome, + EfiKeyPgUp, EfiKeyNLck, EfiKeySlash, EfiKeyAsterisk, + EfiKeyMinus, EfiKeyEsc, EfiKeyF1, EfiKeyF2, + EfiKeyF3, EfiKeyF4, EfiKeyF5, EfiKeyF6, + EfiKeyF7, EfiKeyF8, EfiKeyF9, EfiKeyF10, + EfiKeyF11, EfiKeyF12, EfiKeyPrint, EfiKeySLck, + EfiKeyPause +} EFI_KEY; + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** |