From: yasuoka Date: Fri, 24 Aug 2018 01:42:41 +0000 (+0000) Subject: Don't treat UnicodeChar == 0 as a keyboard input. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=6638e4d92d9ec284dd96aafee488c83df5864d4d;p=openbsd Don't treat UnicodeChar == 0 as a keyboard input. This fixes the problem that which prevents typing the passpharase for softraid on boot. It happened at least with some external keyboards on ThinkPad X2{6,8}0. diff from Frank Groeneveld ok tb --- diff --git a/sys/arch/amd64/stand/efiboot/efiboot.c b/sys/arch/amd64/stand/efiboot/efiboot.c index 2f4a01ec7b0..6f8212c76a4 100644 --- a/sys/arch/amd64/stand/efiboot/efiboot.c +++ b/sys/arch/amd64/stand/efiboot/efiboot.c @@ -1,4 +1,4 @@ -/* $OpenBSD: efiboot.c,v 1.30 2018/07/06 07:55:50 yasuoka Exp $ */ +/* $OpenBSD: efiboot.c,v 1.31 2018/08/24 01:42:41 yasuoka Exp $ */ /* * Copyright (c) 2015 YASUOKA Masahiko @@ -494,7 +494,7 @@ efi_cons_getc(dev_t dev) } status = EFI_CALL(conin->ReadKeyStroke, conin, &key); - while (status == EFI_NOT_READY) { + while (status == EFI_NOT_READY || key.UnicodeChar == 0) { if (dev & 0x80) return (0); EFI_CALL(BS->WaitForEvent, 1, &conin->WaitForKey, &dummy);