Hi,
I'm currently implementing the multicolors sysfs leds interface for
several Clevo and Tongfang barebones, but I'm unsure how to actually map
the leds to the multicolor interface:
The keyboards come in 5 variants:
Single zone RGB + Brightness
Single Zone RGB
3 Zone RGB + Shared Brightness
Per Key RGB
Per Key RGB + Shared Brightness
First question: How do I map multiple zones or per-key leds?
Should I register a seperate ::kbd_backlight for zone/key? resulting in
::kbd_backlight, ::kbd_backlight_1, ::kbd_backlight_2,
::kbd_backlight_3, etc?
Should I give them more desciptive names like ::kbd_backlight_left,
::kbd_backlight_center, ::kbd_backlight_right, ::kbd_backlight_a,
::kbd_backlight_b, ::kbd_backlight_enter?
Or Should I only create a single ::kbd_backlight instance and map the
different zones to subleds? So there are number of zones * 3 subleds,
with each tripplet controlling the rgb values of one zone/key? This
would help performance, as for the per-key backlight, the firmware in
the backend wants an array for all keys at once. So setting each key
seperatly would mean sending the whole array for each key individually.
And I think what most people want to do is to set the whole keyboard at
once anyway and nit key by key.
Second question: For the keyboards with shared brightness, is it ok to
have the brightness values of ::kbd_backlight, ::kbd_backlight_1 etc.
just in sync? I did not see a way to have a ::kbd_backlight without the
brightness sysfs entry (then I would have just given the brightness
switch to ::kbd_backlight and not to ::kbd_backlight_1 and
::kbd_backlight_2)
Third question: The 3 zone RGB and the per-key keyboards have firmware
accelerated modes, like breathing and rainbow. How do I make them
accessible via the multicolor leds interface? the blinking pattern
interface does not really match the usecase as these modes are a simple
single value toggle (0=static color, 1=breathing, 2=ignore color
settings and play predefined moving rainbow pattern, etc).
Forth question: What is actual the purpose of mc_subled.brightness and
mc_subled.channel?
Kind regards,
Werner