Can I impersonate devices other than keyboard/mouse using Arduino Leonardo?

Krodal,
I thought about a printer, or some similar device. I'm doing a project in network security, so I don't need the card to act as a REAL printer of course, but only the computer to recognize it as a printer, and load suitable drivers. After achieving this goal, I can continue to more complicated tasks with the "Fake printer".

I know everything can be emulted in theory, but I can't figure out whether there is an easy way to emulate devices other which implement protocol other than Human Interface Device.

Still hope someone here tried stuff in this direction.