From 4727c0744615d7b49c843197433937721ce9acd1 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Thu, 16 Oct 2008 19:20:51 +0000 Subject: - reduced memory requirements a lot (from >100kb/controller to 560bytes/controller) - no need for the client of libpayload to implement usbdisk_{create,remove}, just because USB was compiled in. - usb hub support compiles, and works for some trivial cases (no device detach, trivial power management) - usb keyboard support works in qemu, though there are reports that it doesn't work on real hardware yet. - usb keyboard is integrated in both libc-getchar() and curses, if CONFIG_USB_HID is enabled Signed-off-by: Patrick Georgi Acked-by: Jordan Crouse git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3662 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- payloads/libpayload/curses/keyboard.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'payloads/libpayload/curses') 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 +#include #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()) { -- cgit v1.2.3