]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
term/efi/console: Treat key.scan_code 0x0102 (suspend) as Enter
authorKancy Joe <kancy2333@outlook.com>
Tue, 19 Aug 2025 15:12:03 +0000 (23:12 +0800)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 4 Sep 2025 12:37:20 +0000 (14:37 +0200)
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>
grub-core/term/efi/console.c

index 258b52737fdcbe0937f0480442885bb76ece4d3f..37c4e51139833ef9345acd1b8e441dbac42812ce 100644 (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;