Surface Aggregator Generic Tablet-Mode Switch Driver

modulename: surface_aggregator_tabletsw.ko

configname: CONFIG_SURFACE_AGGREGATOR_TABLET_SWITCH

Linux Kernel Configuration
└─>Device Drivers
└─>Microsoft Surface Platform-Specific Device Drivers
└─>Surface Aggregator Generic Tablet-Mode Switch Driver
In linux kernel since version 6 (release Date: 2022-10-02)  
Provides a tablet-mode switch input device on Microsoft Surface models
using the KIP subsystem for detachable keyboards (e.g. keyboard covers)
or the POS subsystem for device/screen posture changes.

The KIP subsystem is used on newer Surface generations to handle
detachable input peripherals, specifically the keyboard cover (containing
keyboard and touchpad) on the Surface Pro 8 and Surface Pro X. The POS
subsystem is used for device posture change notifications on the Surface
Laptop Studio. This module provides a driver to let user-space know when
the device should be considered in tablet-mode due to the keyboard cover
being detached or folded back (essentially signaling when the keyboard is
not available for input). It does so by creating a tablet-mode switch
input device, sending the standard SW_TABLET_MODE event on mode change.

Select M or Y here, if you want to provide tablet-mode switch input
events on the Surface Pro 8, Surface Pro X, and Surface Laptop Studio.

source code: