Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

platform/x86: thinkpad-acpi: Add support for hotkey 0x1401

F8 mode key on Lenovo 2025 platforms use a different key code.
Adding support for the new keycode 0x1401.

Tested on X1 Carbon Gen 13 and X1 2-in-1 Gen 10.

Signed-off-by: Vishnu Sankar <vishnuocv@gmail.com>
Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/20241227231840.21334-1-vishnuocv@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

authored by

Vishnu Sankar and committed by
Ilpo Järvinen
7e16ae55 032fe9b0

+10 -4
+7 -3
Documentation/admin-guide/laptops/thinkpad-acpi.rst
··· 445 445 0x1008 0x07 FN+F8 IBM: toggle screen expand 446 446 Lenovo: configure UltraNav, 447 447 or toggle screen expand. 448 - On newer platforms (2024+) 449 - replaced by 0x131f (see below) 448 + On 2024 platforms replaced by 449 + 0x131f (see below) and on newer 450 + platforms (2025 +) keycode is 451 + replaced by 0x1401 (see below). 450 452 451 453 0x1009 0x08 FN+F9 - 452 454 ··· 508 506 509 507 0x1019 0x18 unknown 510 508 511 - 0x131f ... FN+F8 Platform Mode change. 509 + 0x131f ... FN+F8 Platform Mode change (2024 systems). 512 510 Implemented in driver. 513 511 512 + 0x1401 ... FN+F8 Platform Mode change (2025 + systems). 513 + Implemented in driver. 514 514 ... ... ... 515 515 516 516 0x1020 0x1F unknown
+3 -1
drivers/platform/x86/thinkpad_acpi.c
··· 184 184 */ 185 185 TP_HKEY_EV_AMT_TOGGLE = 0x131a, /* Toggle AMT on/off */ 186 186 TP_HKEY_EV_DOUBLETAP_TOGGLE = 0x131c, /* Toggle trackpoint doubletap on/off */ 187 - TP_HKEY_EV_PROFILE_TOGGLE = 0x131f, /* Toggle platform profile */ 187 + TP_HKEY_EV_PROFILE_TOGGLE = 0x131f, /* Toggle platform profile in 2024 systems */ 188 + TP_HKEY_EV_PROFILE_TOGGLE2 = 0x1401, /* Toggle platform profile in 2025 + systems */ 188 189 189 190 /* Reasons for waking up from S3/S4 */ 190 191 TP_HKEY_EV_WKUP_S3_UNDOCK = 0x2304, /* undock requested, S3 */ ··· 11201 11200 tp_features.trackpoint_doubletap = !tp_features.trackpoint_doubletap; 11202 11201 return true; 11203 11202 case TP_HKEY_EV_PROFILE_TOGGLE: 11203 + case TP_HKEY_EV_PROFILE_TOGGLE2: 11204 11204 platform_profile_cycle(); 11205 11205 return true; 11206 11206 }