Hi,
I left the "changed" member in USBHIDState, rather than moving it
to the keyboard, because it is useful to handle the idle period
(in USB_TOKEN_IN) in a device-independent way. Without it the
code became more messy.
This leaves the same information recorded in the driver in two places
and is therefore IMO a bad idea. I still think the way I did this is
best: have a common helper function used by the keyboard and pointer
code to deal with the idle handling.
I don't disagree, but I think this is better left for a separate patch.
Just use a queue for both pointer and keyboard -- problem solved ;)
Need a test case? Connect with vncviewer, press F8, pick "Send
Ctrl-Alt-Del" from the menu. Works with ps/2 keyboard. Doesn't work
with usb keyboard.
cheers,
Gerd