]> xenbits.xensource.com Git - freebsd.git/commitdiff
loader.efi: some systems do not translate scan code 0x8 to backspace
authortsoome <tsoome@FreeBSD.org>
Mon, 2 Sep 2019 10:45:10 +0000 (10:45 +0000)
committertsoome <tsoome@FreeBSD.org>
Mon, 2 Sep 2019 10:45:10 +0000 (10:45 +0000)
Add scancode translation for backspace.

stand/efi/libefi/efi_console.c

index bbdaa4085a098aa87abc824fb4536c68124c83b4..03f8532e1cf17653069ec685da58acbd9ebb5aa2 100644 (file)
@@ -478,27 +478,30 @@ keybuf_inschar(EFI_INPUT_KEY *key)
 {
 
        switch (key->ScanCode) {
-       case 0x1: /* UP */
+       case SCAN_UP: /* UP */
                keybuf[0] = 0x1b;       /* esc */
                keybuf[1] = '[';
                keybuf[2] = 'A';
                break;
-       case 0x2: /* DOWN */
+       case SCAN_DOWN: /* DOWN */
                keybuf[0] = 0x1b;       /* esc */
                keybuf[1] = '[';
                keybuf[2] = 'B';
                break;
-       case 0x3: /* RIGHT */
+       case SCAN_RIGHT: /* RIGHT */
                keybuf[0] = 0x1b;       /* esc */
                keybuf[1] = '[';
                keybuf[2] = 'C';
                break;
-       case 0x4: /* LEFT */
+       case SCAN_LEFT: /* LEFT */
                keybuf[0] = 0x1b;       /* esc */
                keybuf[1] = '[';
                keybuf[2] = 'D';
                break;
-       case 0x17:
+       case SCAN_DELETE:
+               keybuf[0] = CHAR_BACKSPACE;
+               break;
+       case SCAN_ESC:
                keybuf[0] = 0x1b;       /* esc */
                break;
        default: