* [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle
@ 2025-03-21 8:30 Gašper Nemgar
2025-03-21 14:17 ` Ilpo Järvinen
2025-03-24 12:20 ` Hans de Goede
0 siblings, 2 replies; 5+ messages in thread
From: Gašper Nemgar @ 2025-03-21 8:30 UTC (permalink / raw)
To: ikepanhc
Cc: hdegoede, ilpo.jarvinen, linux-kernel, platform-driver-x86,
Gašper Nemgar
Signed-off-by: Gašper Nemgar <gasper.nemgar@gmail.com>"
---
drivers/platform/x86/ideapad-laptop.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index 30bd366d7..a03377d87 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -1308,6 +1308,16 @@ static const struct key_entry ideapad_keymap[] = {
/* Specific to some newer models */
{ KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } },
{ KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } },
+ /* Star- (User Asignable Key) */
+ { KE_KEY, 0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
+ /* Eye */
+ { KE_KEY, 0x45 | IDEAPAD_WMI_KEY, { KEY_BRIGHTNESS_CYCLE } },
+ /* Performance toggle also Fn+Q */
+ { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
+ /* shift + prtsc */
+ { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_CUT } },
+ { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
+ { KE_KEY, 0x2a | IDEAPAD_WMI_KEY, { KEY_ROOT_MENU } },
{ KE_END },
};
@@ -2093,6 +2103,12 @@ static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
data->integer.value);
+
+ /* performance button triggered by ... */
+ if ((data->integer.value | IDEAPAD_WMI_KEY) == 0x13d ) {
+ platform_profile_cycle();
+ break;
+ }
/* 0x02 FnLock, 0x03 Esc */
if (data->integer.value == 0x02 || data->integer.value == 0x03)
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle
2025-03-21 8:30 [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle Gašper Nemgar
@ 2025-03-21 14:17 ` Ilpo Järvinen
[not found] ` <CAKi4K-jVGw58nbxdWKizaNJRzPc3izE9ipZUOwUq=v-hAAjd8w@mail.gmail.com>
2025-03-24 12:20 ` Hans de Goede
1 sibling, 1 reply; 5+ messages in thread
From: Ilpo Järvinen @ 2025-03-21 14:17 UTC (permalink / raw)
To: Gašper Nemgar
Cc: ikepanhc, Hans de Goede, ilpo.jarvinen, LKML, platform-driver-x86
[-- Attachment #1: Type: text/plain, Size: 2000 bytes --]
On Fri, 21 Mar 2025, Gašper Nemgar wrote:
Hi Gasper,
Thanks for the patch. I think the changelog text got messed up during send
as it should here, not in the subject.
Also please change "Added support" to "Add support", add the correct
prefix into the shortlog (the line in Subject), and add parenthesis after
functions in the description.
--
i.
> Signed-off-by: Gašper Nemgar <gasper.nemgar@gmail.com>"
> ---
> drivers/platform/x86/ideapad-laptop.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
> index 30bd366d7..a03377d87 100644
> --- a/drivers/platform/x86/ideapad-laptop.c
> +++ b/drivers/platform/x86/ideapad-laptop.c
> @@ -1308,6 +1308,16 @@ static const struct key_entry ideapad_keymap[] = {
> /* Specific to some newer models */
> { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } },
> { KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } },
> + /* Star- (User Asignable Key) */
> + { KE_KEY, 0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
> + /* Eye */
> + { KE_KEY, 0x45 | IDEAPAD_WMI_KEY, { KEY_BRIGHTNESS_CYCLE } },
> + /* Performance toggle also Fn+Q */
> + { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
> + /* shift + prtsc */
> + { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_CUT } },
> + { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
> + { KE_KEY, 0x2a | IDEAPAD_WMI_KEY, { KEY_ROOT_MENU } },
>
> { KE_END },
> };
> @@ -2093,6 +2103,12 @@ static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
>
> dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
> data->integer.value);
> +
> + /* performance button triggered by ... */
> + if ((data->integer.value | IDEAPAD_WMI_KEY) == 0x13d ) {
> + platform_profile_cycle();
> + break;
> + }
>
> /* 0x02 FnLock, 0x03 Esc */
> if (data->integer.value == 0x02 || data->integer.value == 0x03)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle
2025-03-21 8:30 [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle Gašper Nemgar
2025-03-21 14:17 ` Ilpo Järvinen
@ 2025-03-24 12:20 ` Hans de Goede
1 sibling, 0 replies; 5+ messages in thread
From: Hans de Goede @ 2025-03-24 12:20 UTC (permalink / raw)
To: Gašper Nemgar, ikepanhc, Peter F. Patel-Schneider
Cc: ilpo.jarvinen, linux-kernel, platform-driver-x86
Hi Gašper,
Than you for the new version.
On 21-Mar-25 09:30, Gašper Nemgar wrote:
> Signed-off-by: Gašper Nemgar <gasper.nemgar@gmail.com>"
> ---
> drivers/platform/x86/ideapad-laptop.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
> index 30bd366d7..a03377d87 100644
> --- a/drivers/platform/x86/ideapad-laptop.c
> +++ b/drivers/platform/x86/ideapad-laptop.c
> @@ -1308,6 +1308,16 @@ static const struct key_entry ideapad_keymap[] = {
> /* Specific to some newer models */
> { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } },
> { KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } },
> + /* Star- (User Asignable Key) */
> + { KE_KEY, 0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
Still ack,
> + /* Eye */
> + { KE_KEY, 0x45 | , { KEY_BRIGHTNESS_CYCLE } },
According to:
https://ardes.bg/uploads/original/lenovo-yoga-9-2-in-1-14-g9-550178.jpg
there already is brightness up/down on Fn + F5 / Fn + F6, so I would just
map this to a free (not used elsewhere on the keyboard) KEY_PROG#.
> + /* Performance toggle also Fn+Q */
> + { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
I would make this KE_IGNORE with a comment that this is handled
inside the driver, following how this is done for the 0x02 / 0x03 keycodes:
/* FnLock (handled by the firmware) */
{ KE_IGNORE, 0x02 | IDEAPAD_WMI_KEY },
/* Esc (handled by the firmware) */
{ KE_IGNORE, 0x03 | IDEAPAD_WMI_KEY },
> + /* shift + prtsc */
> + { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_CUT } },
> + { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
> + { KE_KEY, 0x2a | IDEAPAD_WMI_KEY, { KEY_ROOT_MENU } },
>
> { KE_END },
> };
> @@ -2093,6 +2103,12 @@ static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
>
> dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
> data->integer.value);
> +
> + /* performance button triggered by ... */
> + if ((data->integer.value | IDEAPAD_WMI_KEY) == 0x13d ) {
You can drop the | IDEAPAD_WMI_KEY here and just write:
if (data->integer.value == 0x3d) {
> + platform_profile_cycle();
> + break;
> + }
>
> /* 0x02 FnLock, 0x03 Esc */
> if (data->integer.value == 0x02 || data->integer.value == 0x03)
Regards,
Hans
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle
[not found] ` <CAKi4K-jVGw58nbxdWKizaNJRzPc3izE9ipZUOwUq=v-hAAjd8w@mail.gmail.com>
@ 2025-03-24 12:23 ` Hans de Goede
2025-03-24 13:47 ` Gašper Nemgar
0 siblings, 1 reply; 5+ messages in thread
From: Hans de Goede @ 2025-03-24 12:23 UTC (permalink / raw)
To: Gašper Nemgar, Ilpo Järvinen
Cc: ikepanhc, LKML, platform-driver-x86
Hi,
On 21-Mar-25 15:47, Gašper Nemgar wrote:
> Hello, yes I have noticed it messed up the title and will change it,
> I just have a question about the performance button aka WMI code 0x13d, is it smart to hardwire it into platorm_profile_cycle() or is it better to leave it as KEY_PROG4 keycode. Thanks
That depends on what the key does under Windows, if it cycles through performance
settings under Windows then calling platorm_profile_cycle() is the right thing to do.
If it opens some sort of performance settings dialog / Windows then a free KEY_PROG#
would be better.
Regards,
Hans
>
>
> On Fri, 21 Mar 2025 at 15:17, Ilpo Järvinen <ilpo.jarvinen@linux.intel.com <mailto:ilpo.jarvinen@linux.intel.com>> wrote:
>
> On Fri, 21 Mar 2025, Gašper Nemgar wrote:
>
> Hi Gasper,
>
> Thanks for the patch. I think the changelog text got messed up during send
> as it should here, not in the subject.
>
> Also please change "Added support" to "Add support", add the correct
> prefix into the shortlog (the line in Subject), and add parenthesis after
> functions in the description.
>
> --
> i.
>
> > Signed-off-by: Gašper Nemgar <gasper.nemgar@gmail.com <mailto:gasper.nemgar@gmail.com>>"
> > ---
> > drivers/platform/x86/ideapad-laptop.c | 16 ++++++++++++++++
> > 1 file changed, 16 insertions(+)
> >
> > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
> > index 30bd366d7..a03377d87 100644
> > --- a/drivers/platform/x86/ideapad-laptop.c
> > +++ b/drivers/platform/x86/ideapad-laptop.c
> > @@ -1308,6 +1308,16 @@ static const struct key_entry ideapad_keymap[] = {
> > /* Specific to some newer models */
> > { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } },
> > { KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } },
> > + /* Star- (User Asignable Key) */
> > + { KE_KEY, 0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
> > + /* Eye */
> > + { KE_KEY, 0x45 | IDEAPAD_WMI_KEY, { KEY_BRIGHTNESS_CYCLE } },
> > + /* Performance toggle also Fn+Q */
> > + { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
> > + /* shift + prtsc */
> > + { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_CUT } },
> > + { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
> > + { KE_KEY, 0x2a | IDEAPAD_WMI_KEY, { KEY_ROOT_MENU } },
> >
> > { KE_END },
> > };
> > @@ -2093,6 +2103,12 @@ static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
> >
> > dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
> > data->integer.value);
> > +
> > + /* performance button triggered by ... */
> > + if ((data->integer.value | IDEAPAD_WMI_KEY) == 0x13d ) {
> > + platform_profile_cycle();
> > + break;
> > + }
> >
> > /* 0x02 FnLock, 0x03 Esc */
> > if (data->integer.value == 0x02 || data->integer.value == 0x03)
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle
2025-03-24 12:23 ` Hans de Goede
@ 2025-03-24 13:47 ` Gašper Nemgar
0 siblings, 0 replies; 5+ messages in thread
From: Gašper Nemgar @ 2025-03-24 13:47 UTC (permalink / raw)
To: Hans de Goede; +Cc: Ilpo Järvinen, ikepanhc, LKML, platform-driver-x86
Hi,
noted. About the performance button, under windows id does toggle the
performance mode, I would much rather have a assignable key, but will
bind it to platform_profile_cycle().
Thanks,
Gašper
On Mon, 24 Mar 2025 at 13:23, Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi,
>
> On 21-Mar-25 15:47, Gašper Nemgar wrote:
> > Hello, yes I have noticed it messed up the title and will change it,
>
>
> > I just have a question about the performance button aka WMI code 0x13d, is it smart to hardwire it into platorm_profile_cycle() or is it better to leave it as KEY_PROG4 keycode. Thanks
>
> That depends on what the key does under Windows, if it cycles through performance
> settings under Windows then calling platorm_profile_cycle() is the right thing to do.
>
> If it opens some sort of performance settings dialog / Windows then a free KEY_PROG#
> would be better.
>
> Regards,
>
> Hans
>
>
>
> >
> >
> > On Fri, 21 Mar 2025 at 15:17, Ilpo Järvinen <ilpo.jarvinen@linux.intel.com <mailto:ilpo.jarvinen@linux.intel.com>> wrote:
> >
> > On Fri, 21 Mar 2025, Gašper Nemgar wrote:
> >
> > Hi Gasper,
> >
> > Thanks for the patch. I think the changelog text got messed up during send
> > as it should here, not in the subject.
> >
> > Also please change "Added support" to "Add support", add the correct
> > prefix into the shortlog (the line in Subject), and add parenthesis after
> > functions in the description.
> >
> > --
> > i.
> >
> > > Signed-off-by: Gašper Nemgar <gasper.nemgar@gmail.com <mailto:gasper.nemgar@gmail.com>>"
> > > ---
> > > drivers/platform/x86/ideapad-laptop.c | 16 ++++++++++++++++
> > > 1 file changed, 16 insertions(+)
> > >
> > > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
> > > index 30bd366d7..a03377d87 100644
> > > --- a/drivers/platform/x86/ideapad-laptop.c
> > > +++ b/drivers/platform/x86/ideapad-laptop.c
> > > @@ -1308,6 +1308,16 @@ static const struct key_entry ideapad_keymap[] = {
> > > /* Specific to some newer models */
> > > { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } },
> > > { KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } },
> > > + /* Star- (User Asignable Key) */
> > > + { KE_KEY, 0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
> > > + /* Eye */
> > > + { KE_KEY, 0x45 | IDEAPAD_WMI_KEY, { KEY_BRIGHTNESS_CYCLE } },
> > > + /* Performance toggle also Fn+Q */
> > > + { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
> > > + /* shift + prtsc */
> > > + { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_CUT } },
> > > + { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
> > > + { KE_KEY, 0x2a | IDEAPAD_WMI_KEY, { KEY_ROOT_MENU } },
> > >
> > > { KE_END },
> > > };
> > > @@ -2093,6 +2103,12 @@ static void ideapad_wmi_notify(struct wmi_device *wdev, union acpi_object *data)
> > >
> > > dev_dbg(&wdev->dev, "WMI fn-key event: 0x%llx\n",
> > > data->integer.value);
> > > +
> > > + /* performance button triggered by ... */
> > > + if ((data->integer.value | IDEAPAD_WMI_KEY) == 0x13d ) {
> > > + platform_profile_cycle();
> > > + break;
> > > + }
> > >
> > > /* 0x02 FnLock, 0x03 Esc */
> > > if (data->integer.value == 0x02 || data->integer.value == 0x03)
> > >
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-03-24 13:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-21 8:30 [PATCH] Added support for a some new buttons in ideapad-laptop driver Added entries to unsuported wmi codes in ideapad_keymap[] and one check in wmi_nofify in order to get wmi code 0x13d to trigger platform_profile_cycle Gašper Nemgar
2025-03-21 14:17 ` Ilpo Järvinen
[not found] ` <CAKi4K-jVGw58nbxdWKizaNJRzPc3izE9ipZUOwUq=v-hAAjd8w@mail.gmail.com>
2025-03-24 12:23 ` Hans de Goede
2025-03-24 13:47 ` Gašper Nemgar
2025-03-24 12:20 ` Hans de Goede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox