Am 19.08.22 um 09:45 schrieb Werner Sembach:
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
Another Question: Is max brightness == max color intensity?