On Wed, 23 May 2007, Alan Stern wrote: > > > I suspect it is keyboard-dependent. For example, the keyboard's > > > internal buffer might be able to hold no more than one event, > > > because the designers expected the host to poll frequently. Since > > > the polling can't occur during the wakeup interval, multiple events > > > from that time will get lost. > > in such situation, I'd however expect the first N events to be lost, > > but the last events to arrive without problem. What I am experiencing, > > however, is that the missing events are usually "the middle" ones. > It depends on how the buffer is implemented. It might work this way: > The first keystroke is detected, goes into the buffer, and causes a > remote wakeup request to be sent. Later keystrokes can't go into the > buffer because the buffer is still full, so they are dropped. When the > resume sequence is complete, the host reads the original keystroke and > the buffer is once again empty. Hence any further keystrokes are > processed as usual.
Hi Alan, you are right, however there is still a reason I think that this is not the case. What I am seeing is that the keypresses are lost only if I hit a key (and thus wake the autosuspended keyboard up) only after a short time it goes to suspend. When I leave it autosuspended for 2 or more seconds (approximately), it behaves nicely. Sure, it still could be a HW issue (I have experienced this with two random keyboards I used for testing), but I'd guess it would be something different than what you describe. What do you think? Thanks, -- Jiri Kosina SUSE Labs ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel