diff options
Diffstat (limited to 'payloads/libpayload/curses')
-rw-r--r-- | payloads/libpayload/curses/keyboard.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/payloads/libpayload/curses/keyboard.c b/payloads/libpayload/curses/keyboard.c index 5fc54224a0..45bd4442fe 100644 --- a/payloads/libpayload/curses/keyboard.c +++ b/payloads/libpayload/curses/keyboard.c @@ -38,6 +38,7 @@ */ #include <config.h> +#include <usb/usb.h> #include "local.h" static int _halfdelay = 0; @@ -145,6 +146,14 @@ static int curses_getchar(int delay) unsigned short c; do { +#ifdef CONFIG_USB_HID + usb_poll(); + if ((curses_flags & F_ENABLE_CONSOLE) && + usbhid_havechar()) { + c = usbhid_getchar(); + if (c != 0) return c; + } +#endif #ifdef CONFIG_PC_KEYBOARD if ((curses_flags & F_ENABLE_CONSOLE) && keyboard_havechar()) { |