blob: a12c41c9c43221eaba34fb45c84d951eb0689b17 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/*
* Copyright (c) 2021, Konstantin Aladyshev <aladyshev22@gmail.com>
*
* SPDX-License-Identifier: MIT
*/
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
EFI_STATUS
EFIAPI
UefiMain (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
UINTN Index;
EFI_INPUT_KEY Key;
Print(L"Try to guess the secret symbol!\n");
Print(L"To quit press 'q'\n");
while(TRUE) {
gBS->WaitForEvent(1, &(gST->ConIn->WaitForKey), &Index);
gST->ConIn->ReadKeyStroke(gST->ConIn, &Key);
Print(L"ScanCode = %04x, UnicodeChar = %04x (%c)\n", Key.ScanCode, Key.UnicodeChar, Key.UnicodeChar);
if (Key.UnicodeChar == 'k') {
Print(L"Correct!\n");
break;
} else if (Key.UnicodeChar == 'q') {
Print(L"Bye!\n");
break;
} else {
Print(L"Wrong!\n");
}
}
gST->ConIn->Reset(gST->ConIn, FALSE);
return EFI_SUCCESS;
}
|