Clarification questions regarding multicolor leds

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

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux