Re: [PATCH RFC 1/2] platform/x86: ideapad-laptop: Ignore keyboard backlight hotkeys

From: Rong Zhang

Date: Tue Nov 10 2026 - 14:04:19 EST


On Mon, 2026-11-09 at 22:50 +0000, Ciro Pedrini via B4 Relay wrote:
> From: Ciro Pedrini <ciro.pedrini@xxxxxxxxx>
>
> On the Legion Pro 7 16IAX10H, Fn+Space (backlight effect), Fn+Up and
> Fn+Down (backlight brightness) emit WMI fn-key events 0x21, 0x1a and
> 0x19, which the keymap does not cover, so they reach userspace as
> KEY_UNKNOWN. The keyboard's USB controller handles these keys itself: it
> switches the effect or changes the brightness, and reports the new level
> on its own HID interface. Ignore the three events, as is already done for
> FnLock and Esc, rather than mapping them to KEY_KBDILLUM*, which would
> make userspace change the brightness a second time.
>
> Tested on the 16IAX10H with 7.2: with the change, evtest shows no events
> for the three keys, and the keyboard still switches the effect and the
> brightness.
>
> The change and this changelog were prepared with Claude Code (Claude
> Opus 5.5), from measurements on the laptop (evtest on the "Ideapad
> extra buttons" device); I reviewed and tested them.
>
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Ciro Pedrini <ciro.pedrini@xxxxxxxxx>

Acked-by: Rong Zhang <i@xxxxxxxx>

Thanks,
Rong

> ---
> drivers/platform/x86/lenovo/ideapad-laptop.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
> index 91a8d11c79c5..8b6c08b21c8d 100644
> --- a/drivers/platform/x86/lenovo/ideapad-laptop.c
> +++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
> @@ -1336,6 +1336,10 @@ static const struct key_entry ideapad_keymap[] = {
> { KE_IGNORE, 0x02 | IDEAPAD_WMI_KEY },
> /* Esc (handled by the firmware) */
> { KE_IGNORE, 0x03 | IDEAPAD_WMI_KEY },
> + /* Keyboard backlight down, up and effect (handled by the keyboard) */
> + { KE_IGNORE, 0x19 | IDEAPAD_WMI_KEY },
> + { KE_IGNORE, 0x1a | IDEAPAD_WMI_KEY },
> + { KE_IGNORE, 0x21 | IDEAPAD_WMI_KEY },
> /* Customizable Lenovo Hotkey ("star" with 'S' inside) */
> { KE_KEY, 0x01 | IDEAPAD_WMI_KEY, { KEY_FAVORITES } },
> { KE_KEY, 0x04 | IDEAPAD_WMI_KEY, { KEY_SELECTIVE_SCREENSHOT } },