Hi, On 2/13/21 4:13 PM, Alexander Kobel wrote: > Those events occur when a keyboard cover is attached to a ThinkPad > X1 Tablet series device. Typically, they are used to switch from normal > to tablet mode in userspace; e.g., to offer touch keyboard choices when > focus goes to a text box and no keyboard is attached, or to enable > autorotation of the display according to the builtin orientation sensor. > > intel-vtbn already recognizes those events. To avoid sending duplicate > events to userspace, they are simply ignored. Thus, this patch only > avoids warnings about unknown and unhandled HKEYs 0x4012 and 0x4013. > > For more information about the background and potential improvements for > different types of attachment options, such as the Pico cartridge dock > module, see > https://lore.kernel.org/platform-driver-x86/38cb8265-1e30-d547-9e12-b4ae290be737@xxxxxxxxxx/ > > Signed-off-by: Alexander Kobel <a-kobel@xxxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Note I will merge this into my review-hans branch and eventually pdx86/for-next once 5.12-rc1 is released. Regards, Hans > --- > drivers/platform/x86/thinkpad_acpi.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c > index c404706379d9..e16d4b804c92 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -174,6 +174,12 @@ enum tpacpi_hkey_event_t { > or port replicator */ > TP_HKEY_EV_HOTPLUG_UNDOCK = 0x4011, /* undocked from hotplug > dock or port replicator */ > + /* > + * Thinkpad X1 Tablet series devices emit 0x4012 and 0x4013 > + * when keyboard cover is attached, detached or folded onto the back > + */ > + TP_HKEY_EV_KBD_COVER_ATTACH = 0x4012, /* keyboard cover attached */ > + TP_HKEY_EV_KBD_COVER_DETACH = 0x4013, /* keyboard cover detached or folded back */ > > /* User-interface events */ > TP_HKEY_EV_LID_CLOSE = 0x5001, /* laptop lid closed */ > @@ -3990,6 +3996,23 @@ static bool hotkey_notify_dockevent(const u32 hkey, > pr_info("undocked from hotplug port replicator\n"); > return true; > > + /* > + * Deliberately ignore attaching and detaching the keybord cover to avoid > + * duplicates from intel-vbtn, which already emits SW_TABLET_MODE events > + * to userspace. > + * > + * Please refer to the following thread for more information and a preliminary > + * implementation using the GTOP ("Get Tablet OPtions") interface that could be > + * extended to other attachment options of the ThinkPad X1 Tablet series, such as > + * the Pico cartridge dock module: > + * https://lore.kernel.org/platform-driver-x86/38cb8265-1e30-d547-9e12-b4ae290be737@xxxxxxxxxx/ > + */ > + case TP_HKEY_EV_KBD_COVER_ATTACH: > + case TP_HKEY_EV_KBD_COVER_DETACH: > + *send_acpi_ev = false; > + *ignore_acpi_ev = true; > + return true; > + > default: > return false; > } >