Files
u-boot-tk1-som/common
Hans de Goede 8454c84af5 usb: kbd: Fix key repeat not always working
The usb-kbd key repeat code assumes that reports get repeated every 40 ms,
this is never true when using CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP, and
does not always works for CONFIG_SYS_USB_EVENT_POLL and
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE since not all usb keyboards honor
the usb_set_idle() command.

For CONFIG_SYS_USB_EVENT_POLL we must use usb_set_idle() since we do a
blocking wait for the hid report, so if we do not tell the keyboard to send
a hid report every 40ms even if nothing changes then we will block u-boot
for 1s (the default u-boot usb interrupt packet timeout). Note that in this
case on keyboards which do not support usb_set_idle() we loose and we actually
get 1s latencies on other u-boot activities.

For the other poll-methods this commit stops using usb_set_idle() and instead
repeats the last received hid-report every 40 ms as long as no new hid-report
is received. This fixes key-repeat not working at all with
CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP and fixes it not working with
keyboards which do not implement usb_set_idle() when using
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2015-05-29 12:41:05 +02:00
..
2014-07-18 17:53:24 -04:00
2013-04-01 16:33:52 -04:00
2015-04-29 21:02:32 -06:00
2015-05-10 09:59:38 -04:00
2014-06-11 16:25:47 -04:00
2014-02-04 16:32:20 +01:00
2015-01-30 09:19:17 -05:00
2014-11-19 08:48:41 +01:00
2015-01-30 09:19:16 -05:00
2014-10-26 14:03:08 -04:00
2014-12-29 16:31:24 -05:00
2014-06-20 11:54:29 -06:00
2014-06-05 14:38:38 -04:00
2011-04-08 00:44:27 -04:00
2015-01-29 17:09:57 -07:00
2013-05-31 17:12:03 -05:00
2015-05-10 07:29:38 -04:00
2015-04-16 19:27:43 -06:00
2015-05-14 19:58:34 -06:00
2014-05-12 15:19:46 -04:00
2013-04-01 16:33:52 -04:00
2015-05-21 09:13:19 -04:00
2014-03-21 16:43:59 -04:00
2014-04-17 17:44:36 -04:00
2014-03-21 16:43:59 -04:00
2014-03-21 16:43:59 -04:00
2015-04-07 08:41:10 -04:00
2014-03-21 16:43:59 -04:00
2015-01-29 17:09:57 -07:00
2015-01-05 12:08:51 -05:00
2015-05-14 18:49:37 -06:00
2010-01-18 00:23:00 +01:00
2014-09-16 12:23:56 -04:00
2011-10-22 01:13:35 +02:00
2015-05-14 18:49:37 -06:00
2014-11-04 06:04:00 +01:00