Re: I want to add support for the Logitech G710+ keyboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux