Unverified Commit 02c6e433 authored by Gašper Nemgar's avatar Gašper Nemgar Committed by Ilpo Järvinen
Browse files

platform/x86: ideapad-laptop: add support for some new buttons



Add entries to unsupported WMI codes in ideapad_keymap[] and one
check for WMI code 0x13d to trigger platform_profile_cycle().

Signed-off-by: default avatarGašper Nemgar <gasper.nemgar@gmail.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20250418070738.7171-1-gasper.nemgar@gmail.com


[ij: joined nested if ()s & major tweaks to changelog]
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 77bdac73
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1294,6 +1294,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 Assignable Key) */
	{ KE_KEY,	0x44 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
	/* Eye */
	{ 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 } },
	/* 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 },
};
@@ -2080,6 +2090,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 0x3d */
		if (data->integer.value == 0x3d && priv->dytc) {
			platform_profile_cycle();
			break;
		}

		/* 0x02 FnLock, 0x03 Esc */
		if (data->integer.value == 0x02 || data->integer.value == 0x03)
			ideapad_fn_lock_led_notify(priv, data->integer.value == 0x02);