I want to create a USB device which can register itself as an HID (keyboard and mouse) and emulate input. I feel like I know enough about how interrupts, the kernel and its drivers work. But I don't have a clue about USB and where to start looking. How can you make your USB do this? Is it a special USB device? Where can I find more information about this stuff?
Thank you for any insights!
You have to look at USB HID spec "Device Class Definition for HID" which have example USB HID descriptors for keyboard and mouse in its "Appendix E: Example USB Descriptors for HID Class Devices" chapter.