On Wed, 24 Oct 2007, Phil Endecott wrote: > Alan Stern wrote: > > Interrupt endpoints don't pack more than one message into a single > > packet. > > OK. So considering the example of a keyboard where the user has > pressed two keys within one polling period, they have to be returned in > two separate packets, which will be one polling period apart. (Or > maybe discard one of them.) Right?
You should _read_ the USB HID specification instead of guessing about what it says. According to Appendix C, each report from a keyboard is supposed to indicate the current set of keys being pressed, and the host is supposed to figure out what has happened by comparing the current state with the previous state. In short -- No, if the user has pressed two keys within one polling period then the keyboard has to include both of them in a single packet in the next report. > > If an interrupt > > endpoint has a polling period of 32 ms, then it is guaranteed the > > device will have a chance to report each event to the host within 32 ms > > of the time it occurs. > > ..unless it generates events at a rate of more than one each 32 ms, in > which case they will have to wait (or be discarded). No. The device has the chance to report events every 32 ms. Which events it chooses to report is up to it. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users