aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/curses')
-rw-r--r--payloads/libpayload/curses/keyboard.c9
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()) {