linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rishit Bansal <rishitbansal0@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>, Pavel Machek <pavel@ucw.cz>,
	Rishit Bansal <rishitbansal0@gmail.com>
Cc: Mark Gross <markgross@kernel.org>,
	linux-kernel@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	Linux LED Subsystem <linux-leds@vger.kernel.org>,
	Dan Murphy <dmurphy@ti.com>
Subject: Re: API for setting colors of RGB backlit keyboard zones (was [PATCH V3] platform/x86: hp-wmi: Support omen backlight control wmi-acpi methods)
Date: Mon, 20 Feb 2023 00:16:04 +0530	[thread overview]
Message-ID: <a11fd918-d1bc-8a1f-c123-bcb0b4fa38a5@gmail.com> (raw)
In-Reply-To: <bd2ae598-3f13-f465-4bde-6ab364b79db3@redhat.com>



On 19/02/23 18:50, Hans de Goede wrote:
> Hi,
> 
> On 2/18/23 12:48, Pavel Machek wrote:
>> Hi!
>>
>>
>>>> I do agree with you that we need to avoid kbd_backlight in the name to avoid causing existing upower code to have weird interactions with this (it supports / assumes there is only 1 kbd_backlight LED class device).
>>>>
>>>> So lets go with just these 4:
>>>>
>>>> /sys/class/leds/hp_omen::kbd_zoned_backlight-1/
>>>> /sys/class/leds/hp_omen::kbd_zoned_backlight-2/
>>>> /sys/class/leds/hp_omen::kbd_zoned_backlight-3/
>>>> /sys/class/leds/hp_omen::kbd_zoned_backlight-4/
>>>>
>>>> Using the _zoned_ between kbd and baclight to avoid confusing the existing upower code. Then once this has landed we can look into extending upower support for this.
>>>>
>>>> Note the requested documentation patch should probably also explain that the _zoned_ was done deliberately to make current upower code ignore the devices.
>>>>
>>
>>>
>>> This makes sense, I agree that the global LED file will cause more confusion
>>> and hacks in the code. I'll start working on the  _zoned_ naming scheme with
>>> 4 files + documentation changes and make a patch for this soon!
>>>
>>
>> /sys/class/leds/:rgb:kbd_zoned_backlight-4/ is better than what was
>> suggested above.
> 
> Ah yes using rgb for the color part of the name makes sense.
> 
>> But we already use _1 suffix to deduplicate the, so
>> I'm not sure this is best naming.
> 
> 
> 
> I guess we could try to actually name the zones, something like
> (no idea if this are indeed the 4 zones):
> 
> :rgb:kbd_zoned_backlight-main
> :rgb:kbd_zoned_backlight-wasd
> :rgb:kbd_zoned_backlight-cursor
> :rgb:kbd_zoned_backlight-numpad
> 
> Rishit any comments on this or improvements to it.

Here is an image of how the 4 zones on the keyboard look like 
(https://imgur.com/a/iQdRWCM). I think we can call them "left", 
"middle", "right", and "wasd":

:rgb:kbd_zoned_backlight-left
:rgb:kbd_zoned_backlight-middle
:rgb:kbd_zoned_backlight-right
:rgb:kbd_zoned_backlight-wasd


> 
>> There are keyboards with per-key backlight. How do you suggest to
>> solve those?
> 
> I really think those fall into a separate category, currently AFAIK
> all support for those use /dev/hidraw directly from userspace.
> 
> And any kernel API would need to likely be ioctl based, allowing
> setting all the LEDs in a single syscall otherwise setting the
> LEDs becomes to expensive / introduces to much latency when
> doing software driven animations. So I think the best thing to
> do there is to declare these out-of-scope for the classic
> sysfs based LED class API.

I agree with this as well, a separate API will be required for more 
complex use cases with per-key color control. For most  future cases 
with a limited number of zones, our current approach with multi LED 
"kbd_zoned" files should work out.

> 
> Regards,
> 
> Hans
> 
> 
> 

  reply	other threads:[~2023-02-19 18:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20230131235027.36304-1-rishitbansal0@gmail.com>
     [not found] ` <9b761996-d522-b0f8-6472-10e40e09e036@redhat.com>
     [not found]   ` <65a11a89-e780-6d60-a40e-cd3245780762@gmail.com>
2023-02-02 12:43     ` [PATCH V3] platform/x86: hp-wmi: Support omen backlight control wmi-acpi methods Hans de Goede
2023-02-02 19:59       ` Rishit Bansal
2023-02-06 14:32         ` API for setting colors of RGB backlit keyboard zones (was [PATCH V3] platform/x86: hp-wmi: Support omen backlight control wmi-acpi methods) Hans de Goede
2023-02-06 15:07           ` Rishit Bansal
2023-02-07 11:53           ` Pavel Machek
2023-02-07 13:05             ` Rishit Bansal
2023-02-13 12:49               ` Hans de Goede
2023-02-13 14:16                 ` Rishit Bansal
2023-02-18 11:48                   ` Pavel Machek
2023-02-19 13:20                     ` Hans de Goede
2023-02-19 18:46                       ` Rishit Bansal [this message]
2023-02-20  8:43                         ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a11fd918-d1bc-8a1f-c123-bcb0b4fa38a5@gmail.com \
    --to=rishitbansal0@gmail.com \
    --cc=dmurphy@ti.com \
    --cc=hdegoede@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=markgross@kernel.org \
    --cc=pavel@ucw.cz \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).