On Fri, Apr 19, 2013 at 6:34 AM, K900 <k0009000@xxxxxxxxx> wrote: > Hi, > So I have this keyboard, and it mostly works, but some Logitech > specific features (programmable keys, etc) don't. I've been playing > around with it, and I've figured out pretty much everything > (interrupts and some GetFeature/SetFeature requests for things like > backlight levels). I have some proof of concept Python+PyUSB code at > https://github.com/K900/g710 , but I'm getting confused when it comes > to implementing that in the kernel. Is there something like a 'HID > drivers for dummies' guide? Sorry for the noobish questions. Hi Ilya, I had a very quick look at your code, but I'm missing one important part to fully understand your device: you don't give the report descriptors of your device [1]. If you give them, then it will be easier to know which part are required to be handled in a special way, and which won't. #> cat /sys/kernel/debug/hid/0003\:046D\:C24D.*/rdesc Anyway, I don't think there is a 'HID drivers for dummies'. There are few books on kernel hacking, but not for HID to my knowledge. The easier way is to have a look at some simple HID drivers and use them as a skeleton: - hid-icade -> general handling of a hid device with .event() remapping - hid-zydacron -> simple + report fixup - hid-appleir (sunmitted recently) -> simple when using .raw_event() Also, you may need to integrate your driver in hid-lg.c (which is a little bigger than the previous three). Cheers, Benjamin [1] http://www.usb.org/developers/devclass_docs/HID1_11.pdf -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html