From de451493f1b6dfcc572763be421500754bfc6b2f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 18 Jun 2015 22:34:34 +0200 Subject: [PATCH] usb: kbd: Disable idle input reports when we do not need them When we're polling and thus handling key-repeat in software, make sure to disable idle reports, some keyboards may have these enabled by default messing up our software keyrepeat. Signed-off-by: Hans de Goede --- common/usb_kbd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/common/usb_kbd.c b/common/usb_kbd.c index 49bfc096e4..e2af67d2f0 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -460,10 +460,12 @@ static int usb_kbd_probe(struct usb_device *dev, unsigned int ifnum) /* We found a USB Keyboard, install it. */ usb_set_protocol(dev, iface->desc.bInterfaceNumber, 0); + debug("USB KBD: found set idle...\n"); #if !defined(CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP) && \ !defined(CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE) - debug("USB KBD: found set idle...\n"); usb_set_idle(dev, iface->desc.bInterfaceNumber, REPEAT_RATE / 4, 0); +#else + usb_set_idle(dev, iface->desc.bInterfaceNumber, 0, 0); #endif debug("USB KBD: enable interrupt pipe...\n");