From 49e76ad16f8347959222598d08734788720ee108 Mon Sep 17 00:00:00 2001 From: Kancy Joe Date: Tue, 19 Aug 2025 23:12:03 +0800 Subject: [PATCH] term/efi/console: Treat key.scan_code 0x0102 (suspend) as Enter Some Qualcomm-based UEFI platforms only provide volume up, volume down, and power keys. The volume keys are already mapped to SCAN_UP and SCAN_DOWN, while the power key is mapped to SCAN_SUSPEND (key.scan_code 0x0102). On such devices, the power key is commonly used as the Enter (confirm) button, since no dedicated Enter key exists. This patch treats key.scan_code 0x0102 as Enter to improve usability on these platforms. Signed-off-by: Kancy Joe Reviewed-by: Daniel Kiper --- grub-core/term/efi/console.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/grub-core/term/efi/console.c b/grub-core/term/efi/console.c index 258b52737..37c4e5113 100644 --- a/grub-core/term/efi/console.c +++ b/grub-core/term/efi/console.c @@ -219,6 +219,9 @@ grub_efi_translate_key (grub_efi_input_key_t key) else return key.unicode_char; } + /* Some devices use power key (key.scan_code 0x0102, suspend) as Enter. */ + else if (key.scan_code == 0x0102) + return '\r'; /* Some devices send enter with scan_code 0x0d (F3) and unicode_char 0x0d. */ else if (key.scan_code == '\r' && key.unicode_char == '\r') return key.unicode_char;