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 <kancy2333@outlook.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Kancy Joe 2025-08-19 23:12:03 +08:00 committed by Daniel Kiper
parent de72f39985
commit 49e76ad16f

View File

@ -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;