From: Hans de Goede <hansg@kernel.org>
To: Navon John Lukose <navonjohnlukose@gmail.com>,
ikepanhc@gmail.com, ilpo.jarvinen@linux.intel.com
Cc: mpearson-lenovo@squebb.ca, derekjohn.clark@gmail.com,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] platform/x86: ideapad-laptop: Add Yoga Pro 7 14IAH10 Mode key
Date: Mon, 14 Sep 2026 14:40:58 +0200 [thread overview]
Message-ID: <2eab84cb-6d2f-4ec3-9869-e2aa9c1d75da@kernel.org> (raw)
In-Reply-To: <20260913224753.30281-1-navonjohnlukose@gmail.com>
Hi Navon,
On 14-Sep-26 12:47 AM, Navon John Lukose wrote:
> The F9 "Mode" key emits WMI fn-key event 0x46, which the keymap does not
> cover, so it reaches userspace as KEY_UNKNOWN and cannot be remapped from
> there. Under Windows it opens a performance profile chooser, so it belongs
> in the keymap as a user-assignable key. Map it to KEY_PROG4.
>
> Signed-off-by: Navon John Lukose <navonjohnlukose@gmail.com>
> ---
> Lenovo Yoga Pro 7 14IAH10 (83KF), BIOS QGCN35WW. No other key on this
> machine emits 0x46, and pressing the Mode key leaves platform_profile
> unchanged.
>
> KEY_PROG4 per Hans's note on the 0x3d key, that a key opening a settings
> dialog under Windows should get a free KEY_PROG#:
> https://lore.kernel.org/platform-driver-x86/35969669-48b6-469e-9cd2-26929fb33e5f@redhat.com/
As the comment on the KE_KEY entry above the one you add says, this should
really be handled specially inside ideapad_wmi_notify(). IIRC we still want
the KE_KEY entry to emit a key-press on laptops without DYTC platform-profile
support.
For laptops with DYTC support you want to modify this bit in ideapad_wmi_notify():
/* performance button triggered by 0x3d */
if (data->integer.value == 0x3d && priv->dytc) {
platform_profile_cycle();
break;
}
to also trigger on the new 0x46 code:
/* performance button triggered by 0x3d or 0x46 */
if ((data->integer.value == 0x3d || data->integer.value == 0x46) && priv->dytc) {
platform_profile_cycle();
break;
}
So that this key actually toggles through the different (power-save/balanced/performanc)
platform profiles the laptop has.
Unless there already is another key to do that ?
And please also add a comment to the new KE_KEY entry that this is handled inside
ideapad_wmi_notify() like the existing KE_KEY entry for 0x3d has.
Hmm, I see you say that under Windows this opens a performance menu rather
then outright toggle the profile. So I guess that you maybe also have Fn + Q or
something which already directly switches profile ? If you do then KEY_PROG4
seems fine. If you do not I think just cycling the profile would be better,
what do you think ?
Regards,
Hans
>
> drivers/platform/x86/lenovo/ideapad-laptop.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
> index 8213524..6fa72a3 100644
> --- a/drivers/platform/x86/lenovo/ideapad-laptop.c
> +++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
> @@ -1360,6 +1360,8 @@ static const struct key_entry ideapad_keymap[] = {
> { KE_KEY, 0x45 | IDEAPAD_WMI_KEY, { KEY_PROG3 } },
> /* Performance toggle also Fn+Q, handled inside ideapad_wmi_notify() */
> { KE_KEY, 0x3d | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
> + /* Mode (performance profile chooser) */
> + { KE_KEY, 0x46 | IDEAPAD_WMI_KEY, { KEY_PROG4 } },
> /* shift + prtsc */
> { KE_KEY, 0x2d | IDEAPAD_WMI_KEY, { KEY_SELECTIVE_SCREENSHOT } },
> { KE_KEY, 0x29 | IDEAPAD_WMI_KEY, { KEY_TOUCHPAD_TOGGLE } },
>
> base-commit: 22098763a10d9c13
next prev parent reply other threads:[~2026-09-14 12:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 22:47 [PATCH] platform/x86: ideapad-laptop: Add Yoga Pro 7 14IAH10 Mode key Navon John Lukose
2026-09-14 12:40 ` Hans de Goede [this message]
2026-09-14 13:42 ` Navon John Lukose
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=2eab84cb-6d2f-4ec3-9869-e2aa9c1d75da@kernel.org \
--to=hansg@kernel.org \
--cc=derekjohn.clark@gmail.com \
--cc=ikepanhc@gmail.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mpearson-lenovo@squebb.ca \
--cc=navonjohnlukose@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.