See this one
USBDemo, something to learn USB a little bit
http://www.picbasic.co.uk/forum/showthread.php?t=5418

And play with it.

That should cover most scenarios.