Avoid duplicate translation of arrow key codes. Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> Reviewed-by: Simon Glass <s...@chromium.org> --- v2 no change --- common/usb_kbd.c | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-)
diff --git a/common/usb_kbd.c b/common/usb_kbd.c index cc99c6be07..232d278e13 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -74,15 +74,6 @@ static const unsigned char usb_kbd_num_keypad[] = { '.', 0, 0, 0, '=' }; -/* - * map arrow keys to ^F/^B ^N/^P, can't really use the proper - * ANSI sequence for arrow keys because the queuing code breaks - * when a single keypress expands to 3 queue elements - */ -static const unsigned char usb_kbd_arrow[] = { - 0x6, 0x2, 0xe, 0x10 -}; - /* * NOTE: It's important for the NUM, CAPS, SCROLL-lock bits to be in this * order. See usb_kbd_setled() function! @@ -213,10 +204,6 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode, keycode = usb_kbd_numkey[scancode - 0x1e]; } - /* Arrow keys */ - if ((scancode >= 0x4f) && (scancode <= 0x52)) - keycode = usb_kbd_arrow[scancode - 0x4f]; - /* Numeric keypad */ if ((scancode >= 0x54) && (scancode <= 0x67)) keycode = usb_kbd_num_keypad[scancode - 0x54]; @@ -244,19 +231,19 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode, if (keycode) debug("%c", keycode); - switch (keycode) { - case 0x0e: /* Down arrow key */ - usb_kbd_put_sequence(data, "\e[B"); - break; - case 0x10: /* Up arrow key */ - usb_kbd_put_sequence(data, "\e[A"); - break; - case 0x06: /* Right arrow key */ + switch (scancode) { + case 0x4f: /* Right arrow key */ usb_kbd_put_sequence(data, "\e[C"); break; - case 0x02: /* Left arrow key */ + case 0x50: /* Left arrow key */ usb_kbd_put_sequence(data, "\e[D"); break; + case 0x51: /* Down arrow key */ + usb_kbd_put_sequence(data, "\e[B"); + break; + case 0x52: /* Up arrow key */ + usb_kbd_put_sequence(data, "\e[A"); + break; default: usb_kbd_put_queue(data, keycode); break; -- 2.20.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot