Maybe http://vger.kernel.org/vger-lists.html#linux-input ? On Mon, Aug 10, 2015 at 11:00 AM, Clément Vuchener <clement.vuchener@xxxxxxxxx> wrote: > It looks like no one had the answers to these questions. Is there a > better place to ask them? > >> Hello. >> >> I first sent this email to kernel-mentors, but I got no response. So I >> am sending it again here. >> >> I wrote a driver for the Corsair K90 keyboard, it is my first kernel >> development and I have a few questions about how to properly do a few >> things (mainly interactions with the user space). >> >> The Corsair Vengeance K90 is a mechanical keyboard with a backlight, >> macro keys (G1 to G18) and some other special keys (macro recording, >> profile switching, changing the light level or disabling the "windows >> logo" keys). The macro playback can be switched between hardware or >> software (from the driver not a key). Using the generic HID driver, >> the macro keys and special keys send wrong key code or no key code at >> all (because of the HID usage code used by the keyboard). >> >> The source for my driver can be found at this address: >> https://github.com/cvuchener/k90-linux-driver . It solves the problem >> of the generic driver and add some handling of the other features (see >> the README for more details). >> >> So, my questions are about: >> >> - Macro keys >> For handling the macro keys from a software, they need to send some >> keycodes but I have no idea what to use. Currently I use F keys above >> 12 and some MISC buttons and a parameter for changing that (at load >> time). Are there 18 keycodes reserved for custom uses? It would also >> be possible to send no keycode at all and use a specific software >> listening to the hidraw or hiddev devices, but I think it would be >> better to be able to use a generic software. >> >> - Backlight >> I chose to use a led class device to manage the backlight. It seems to >> work fine but when unregistering the driver, the light is set to 0. >> The keyboard remembers the previous light level and so nothing should >> be done when registering or unregistering the driver. Is the led class >> the right class for that? or am I using it wrong? >> >> - Sending the macro profiles to the keyboard >> I created a "profile" branch on my git repo for adding binary >> attributes used for sending macro data to the keyboard. But I am not >> sure it is a good idea, it may be better to leave that to the user space. >> >> Any other comment is welcome. >> >> Thanks, >> Clément > > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@xxxxxxxxxxxxxxxxx > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -- Ricardo Ribalda _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies