Search code examples
driverdevicehid

USB Keyboard Emulation


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!


Solution

  • 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.