From 026d57fff45b4649b5a2548faeea346141f3d6eb Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Oct 2023 10:36:16 +0000 Subject: GRUB: don't spew "Unknown key 0xff" in error Faulty keyboards make GRUB unusable. Normally it happens when a user plugs in a faulty USB keyboard, but if it's the laptop keyboard, then GRUB becomes unusable and the user cannot boot anything. So, your laptop keyboard is a ticking timebomb if you use GRUB; with this patch, that's no longer the case. Signed-off-by: Leah Rowe --- ...eylayouts-don-t-print-Unknown-key-message.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 config/grub/patches/0003-keyboardfix/0002-keylayouts-don-t-print-Unknown-key-message.patch diff --git a/config/grub/patches/0003-keyboardfix/0002-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/patches/0003-keyboardfix/0002-keylayouts-don-t-print-Unknown-key-message.patch new file mode 100644 index 00000000..fbef86a4 --- /dev/null +++ b/config/grub/patches/0003-keyboardfix/0002-keylayouts-don-t-print-Unknown-key-message.patch @@ -0,0 +1,38 @@ +From 0a6abeb40ac4284fbff6ef5958989d561b6290a7 Mon Sep 17 00:00:00 2001 +From: Leah Rowe +Date: Tue, 31 Oct 2023 10:33:28 +0000 +Subject: [PATCH 1/1] keylayouts: don't print "Unknown key" message + +on keyboards with stuck keys, this results in GRUB just +spewing it repeatedly, preventing use of GRUB. + +in such cases, it's still possible to use the keyboard, +and we should let the user at least boot. + +it often appears when people plug in faulty usb keyboards, +but can appear for laptop keyboards too; one of my e6400 +has stuck keys. + +with this patch, grub should be a bit more reliable in +terms of user experience, when the keyboard is faulty. + +Signed-off-by: Leah Rowe +--- + grub-core/commands/keylayouts.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c +index aa3ba34f2..445fa0601 100644 +--- a/grub-core/commands/keylayouts.c ++++ b/grub-core/commands/keylayouts.c +@@ -174,7 +174,6 @@ grub_term_map_key (grub_keyboard_key_t code, int status) + key = map_key_core (code, status, &alt_gr_consumed); + + if (key == 0 || key == GRUB_TERM_SHIFT) { +- grub_printf ("Unknown key 0x%x detected\n", code); + return GRUB_TERM_NO_KEY; + } + +-- +2.39.2 + -- cgit v1.2.1