EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke()
Summary:
Reads the next keystroke from the input device.
Prototype:
typedef
EFI_STATUS
(EFIAPI *EFI_INPUT_READ_KEY) (
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
OUT EFI_INPUT_KEY *Key
);
Parameters:
This A pointer to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL instance.
Key A pointer to a buffer that is filled in with the keystroke information
for the key that was pressed.
Description:
The ReadKeyStroke() function reads the next keystroke from the input device.
Status Codes Returned:
EFI_SUCCESS The keystroke information was returned.
EFI_NOT_READY There was no keystroke data available.
EFI_DEVICE_ERROR The keystroke information was not returned due to hardware errors.
간단한 애플리케이션을 만들어 본다. 아래 코드는 ReadKeyStroke를 사용해 사용자의 키 입력을 받는 간단한 프로그램이다. 애플리케이션은 무한 반복으로 사용자가 k 를 입력하면 Correct! 라는 문자열을 출력하고 종료되고 다른 키를 입력할 경우 Wrong! 을 출력하며 프로그램 종료는 q 를 입력하여 종료할 수 있다.
애플리케이션을 만드는 방법은 설명하지 않고 아래 코드에서는 UefiMain을 사용하기 때문에 HelloWorld 애플리케이션의 *.inf 파일을 수정하여 사용한다.