On Fri, May 27, 2011 at 02:11:14AM -0500, Scott Duplichan wrote:
> I also have USB keyboard problems, but my problem is different. For
> each key I press, it repeats a couple dozen times. I solve the problem
> by adding a 'break' to usb-hid.c:
> 
>     for (;;) {
>         struct keyevent data;
>         int ret = usb_poll_intr(pipe, &data);
>         if (ret)
>             break;
>         handle_key(&data);
>         break; <==================

Can you generate and send a log with debug level set to 8 and the
dprintf in usb-hid.c:handle_key() changed to 8?  Getting timestamps on
the log (as with tools/readserial.py) would also help.

> With this change, I am able to type well enough to get windbg started,
> which is all I needed at the time. But typing is very sluggish. I
> believe the sluggishness is due to use of 8254 periodic interrupt
> polling to service the keyboard.

Yeah - since the loop was disabled there's no longer a queue on USB
key events.  This means any keys pressed faster than 55ms are dropped.

-Kevin

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
http://www.seabios.org/mailman/listinfo/seabios

Reply via email to