Hi Matheus, On 20-Feb-25 6:19 PM, Matheus Polkorny wrote: > In Lenovo LOQ 15IRX9, userspace expects F20 for mic-mute > KEY_MICMUTE does not work. > Other machines, such as LOQ 15APH8 and LOQ 15IRH8, also > use F20 for mic-mute. The mapping of KEY_MICMUTE is due to a limit in keycodes (cannot be larger then 247) in X11 / Xorg. The mapping of this is therefor traditioinally done in userspace through hwdb, see: /lib/udev/hwdb.d/60-keyboard.hwdb Note this mapping is being removed though. Xorg has moved from having its own keyboard + mouse + touchpad drivers to using libinput through xf86-input-libinput. And with libinput the keycodes do reach that driver, so the mapping of the touchpad-toggle and micmute keys to F21-F24 is now done inside xf86-input-libinput because the hwdb solution also impacts wayland and we would like to move the correct KEY_MICMUTE, etc. in Wayland. Mainly to free up F21-F24 codes to be actually used for F21-F24 since some keyboards do have those keys. See: https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/-/commit/cb80d7f82d35f8068e06d45860ed958a948e15bf https://github.com/systemd/systemd/pull/34325/ So NACK for this patch (sorry) for 2 reasons: 1. The mapping of MICMUTE -> F20 belongs in userspace 2. Even userspace is moving away from always doing this to only doing it inside Xorg by moving the mapping to xf86-input-libinput Regards, Hans > > Signed-off-by: Matheus Polkorny <mpolkorny@xxxxxx> > --- > drivers/platform/x86/ideapad-laptop.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c > index 30bd366d7b58..6420e28c08ec 100644 > --- a/drivers/platform/x86/ideapad-laptop.c > +++ b/drivers/platform/x86/ideapad-laptop.c > @@ -1306,7 +1306,7 @@ static const struct key_entry ideapad_keymap[] = { > /* Refresh Rate Toggle */ > { KE_KEY, 0x0a | IDEAPAD_WMI_KEY, { KEY_REFRESH_RATE_TOGGLE } }, > /* Specific to some newer models */ > - { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_MICMUTE } }, > + { KE_KEY, 0x3e | IDEAPAD_WMI_KEY, { KEY_F20 } }, > { KE_KEY, 0x3f | IDEAPAD_WMI_KEY, { KEY_RFKILL } }, > > { KE_END },