3 Copyright (c) 2004, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 Simple Text In protocol from the EFI 1.0 specification.
20 Abstraction of a very simple input device like a keyboard or serial
25 #ifndef _SIMPLE_TEXT_IN_H_
26 #define _SIMPLE_TEXT_IN_H_
28 #define EFI_SIMPLE_TEXT_IN_PROTOCOL_GUID \
30 0x387477c1, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b \
33 EFI_FORWARD_DECLARATION (EFI_SIMPLE_TEXT_IN_PROTOCOL
);
44 // Required unicode control chars
46 #define CHAR_NULL 0x0000
47 #define CHAR_BACKSPACE 0x0008
48 #define CHAR_TAB 0x0009
49 #define CHAR_LINEFEED 0x000A
50 #define CHAR_CARRIAGE_RETURN 0x000D
55 #define SCAN_NULL 0x0000
56 #define SCAN_UP 0x0001
57 #define SCAN_DOWN 0x0002
58 #define SCAN_RIGHT 0x0003
59 #define SCAN_LEFT 0x0004
60 #define SCAN_HOME 0x0005
61 #define SCAN_END 0x0006
62 #define SCAN_INSERT 0x0007
63 #define SCAN_DELETE 0x0008
64 #define SCAN_PAGE_UP 0x0009
65 #define SCAN_PAGE_DOWN 0x000A
66 #define SCAN_F1 0x000B
67 #define SCAN_F2 0x000C
68 #define SCAN_F3 0x000D
69 #define SCAN_F4 0x000E
70 #define SCAN_F5 0x000F
71 #define SCAN_F6 0x0010
72 #define SCAN_F7 0x0011
73 #define SCAN_F8 0x0012
74 #define SCAN_F9 0x0013
75 #define SCAN_F10 0x0014
76 #define SCAN_F11 0x0015
77 #define SCAN_F12 0x0016
78 #define SCAN_ESC 0x0017
82 (EFIAPI
*EFI_INPUT_RESET
) (
83 IN EFI_SIMPLE_TEXT_IN_PROTOCOL
* This
,
84 IN BOOLEAN ExtendedVerification
89 Reset the input device and optionaly run diagnostics
92 This - Protocol instance pointer.
93 ExtendedVerification - Driver may perform diagnostics on reset.
96 EFI_SUCCESS - The device was reset.
97 EFI_DEVICE_ERROR - The device is not functioning properly and could
105 (EFIAPI
*EFI_INPUT_READ_KEY
) (
106 IN EFI_SIMPLE_TEXT_IN_PROTOCOL
* This
,
107 OUT EFI_INPUT_KEY
* Key
112 Reads the next keystroke from the input device. The WaitForKey Event can
113 be used to test for existance of a keystroke via WaitForEvent () call.
116 This - Protocol instance pointer.
117 Key - Driver may perform diagnostics on reset.
120 EFI_SUCCESS - The keystroke information was returned.
121 EFI_NOT_READY - There was no keystroke data availiable.
122 EFI_DEVICE_ERROR - The keydtroke information was not returned due to
128 typedef struct _EFI_SIMPLE_TEXT_IN_PROTOCOL
{
129 EFI_INPUT_RESET Reset
;
130 EFI_INPUT_READ_KEY ReadKeyStroke
;
131 EFI_EVENT WaitForKey
;
132 } EFI_SIMPLE_TEXT_IN_PROTOCOL
;
134 extern EFI_GUID gEfiSimpleTextInProtocolGuid
;