Thanks for your email. Do not send personal emails on OSS related matters, please. +Cc: mailing list and certain maintainers On Tue, May 11, 2021 at 4:59 PM Jafar Akhondali <jafar.akhoondali@xxxxxxxxx> wrote: > > Hi, > The Acer predator helios 300 series features a RGB 4-zone backlight keyboard, that is currently controllable only in Windows. The manager uses a specific WMI interface which currently is not yet implemented in the Linux kernel. > I've implemented the support for RGB WMI on acer-wmi.c file by reverse engineering the PredatorSense(the official application on Windows which controls gaming functions for Acer Predator series), exploring WMI functions, and decompiling WQ buffers. But I still need your help as this is my first contribution to the Linux kernel for the correct place for the user-space communication method. > > The RGB keyboard-backlight method accepts a 16bytes(u8[16]) array input for controlling different modes, colors, speed, light intensity, direction, etc. What is the most suitable way and place for controlling these parameters via using space? > > My first choice was the "leds.h" subsystem, but it does not support array inputs, thus if I want to use this, I'll need to use 16 different subsystems which don't look right. > > Another choice is using ioctl operation, but I'm not sure where I should place it. For example "/sys/kernel", "/sys/devices/", "/sys/module" or ... ? > > Any working examples are extremely appreciated and will help me alot. > > It is also worth mentioning that the mentioned WMI supports other gaming functions such as fan control, CPU\GPU overclocking, etc. But they are currently out of scope of my implementation. -- With Best Regards, Andy Shevchenko