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

It's certainly possible to emulate most sorts of USB device. You would have to read about and understand USB protocol to work out how to emulate a particular one. Sorry I can't be more helpful, I've never done it myself.