summaryrefslogtreecommitdiff
path: root/common/usb_kbd.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2015-06-18 22:34:34 +0200
committerMarek Vasut <marex@denx.de>2015-06-19 14:33:29 +0200
commitde451493f1b6dfcc572763be421500754bfc6b2f (patch)
tree9c7611a5d7fb184022fc7b7e4f69b96d8c0d9be0 /common/usb_kbd.c
parent7f59d16a50ca7e6d417c9408b91ab2f97eff0a36 (diff)
downloadu-boot-imx-de451493f1b6dfcc572763be421500754bfc6b2f.zip
u-boot-imx-de451493f1b6dfcc572763be421500754bfc6b2f.tar.gz
u-boot-imx-de451493f1b6dfcc572763be421500754bfc6b2f.tar.bz2
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 <hdegoede@redhat.com>
Diffstat (limited to 'common/usb_kbd.c')
-rw-r--r--common/usb_kbd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index 49bfc09..e2af67d 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");