diff --git a/src/efi/gummiboot.c b/src/efi/gummiboot.c index 3ea06c6..6115791 100644 --- a/src/efi/gummiboot.c +++ b/src/efi/gummiboot.c @@ -370,10 +370,14 @@ static EFI_STATUS key_read(UINT64 *key) { return 0; } +Print(L"call ReadKeyStrokeEx\n", TextInputEx); +uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000); err = uefi_call_wrapper(TextInputEx->ReadKeyStrokeEx, 2, TextInputEx, &keydata); - if (EFI_ERROR(err)) + if (EFI_ERROR(err)) { + Print(L"return: %r\n", err); return err; + } /* do not distinguish between left and right keys */ if (keydata.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) { @@ -385,6 +389,9 @@ static EFI_STATUS key_read(UINT64 *key) { /* 32 bit modifier keys + 16 bit scan code + 16 bit unicode */ *key = KEYPRESS(shift, keydata.Key.ScanCode, keydata.Key.UnicodeChar); + +Print(L"return key=%x-%x-%x\n", *key >> 32, (*key >> 16) & 0xffff, *key & 0xffff); + return 0; }