Thanks guys. Now I think I understand how it works.
I recall I have used a 3D mouse called 3d connexion or something when I was at school, it has 4 axis assembled in one stick and can be used in a lot 3D design software like Maya and 3dmaxs. The interesting part is it can rotate the model freely while the regular mouse operating without interrupting it. So may I assume its driver must have some secret protocol with the host software so we can not just make one with our Teensy without writing a host driver?
I had this kind of question for a long time. I had a lot logitech mice. Some of them have extra programmable buttons. In there driver, one can simply map one of these button to "show desktop" in windows. Intially, I was think this button simply send the ascii of "window" key and the "D" key of the keyboard or a virtual keyboard. But I think during the time I pressed it, I could still use the "window" key for other purpose. So it must call some API of windows gui directly to show the desktop.
So the conclusion is that, if I want to make a usb device operate the windows program (any program) or the windows gui in a way other than the HID compatible device does, I probably have to collaborate with the program of the windows gui. A usb device itself can't achieve this goal.