* [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
[parent not found: <CAKi4K-jVGw58nbxdWKizaNJRzPc3izE9ipZUOwUq=v-hAAjd8w@mail.gmail.com>]
* 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
* 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
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