diff --git a/src/efi/gummiboot.c b/src/efi/gummiboot.c index f883087..483d7e0 100644 --- a/src/efi/gummiboot.c +++ b/src/efi/gummiboot.c @@ -360,7 +360,9 @@ static EFI_STATUS key_read(UINT64 *key, BOOLEAN wait) { EFI_STATUS err; if (!checked) { + Print(L"checking for TextInputEx\n"); err = LibLocateProtocol(&EfiSimpleTextInputExProtocolGuid, (VOID **)&TextInputEx); + Print(L"LibLocateProtocol return: %r\n", err); if (EFI_ERROR(err)) TextInputEx = NULL; @@ -385,6 +387,7 @@ fallback: if (wait) { /* wait for key press */ err = uefi_call_wrapper(BS->WaitForEvent, 3, 1, &TextInputEx->WaitForKeyEx, &index); + Print(L"WaitForEvent return: %r\n", err); if (EFI_ERROR(err)) { /* some firmware exposes SimpleTextInputExProtocol, but it doesn't work */ TextInputEx = NULL; @@ -393,6 +396,7 @@ fallback: } err = uefi_call_wrapper(TextInputEx->ReadKeyStrokeEx, 2, TextInputEx, &keydata); + Print(L"ReadKeyStrokeEx return: %r\n", err); if (EFI_ERROR(err)) { if (err != EFI_NOT_READY) { /* some firmware exposes SimpleTextInputExProtocol, but it doesn't work */ @@ -413,6 +417,7 @@ fallback: /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */ keypress = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar); + Print("Lreturn key=%x-%x-%x\n", keypress >> 32, (keypress >> 16) & 0xffff, keypress & 0xffff); if (keypress == 0) { /* some firmware exposes SimpleTextInputExProtocol, but it doesn't work */ TextInputEx = NULL;