The Surface Pro 8 uses the same keyboard cover as the Surface Pro X. This type of cover is no longer connected via USB as on earlier generations, but is now connected via the Surface Aggregator Module.
To this end, we need to add hot-plugging support for Surface Aggregator Module devices to prevent communication when the device is removed. This would otherwise result in timeouts. Further, we need to introduce a new device hub (using the KIP subsystem) via which we get notified of device removal/addition. This hub is used to manage all keyboard-cover HID devices.
Lastly, this PR also introduces a tablet mode switch based on the KIP subsystem and the notifications we receive from it regarding keyboard-cover devices.
The Surface Pro 8 uses the same keyboard cover as the Surface Pro X. This type of cover is no longer connected via USB as on earlier generations, but is now connected via the Surface Aggregator Module.
To this end, we need to add hot-plugging support for Surface Aggregator Module devices to prevent communication when the device is removed. This would otherwise result in timeouts. Further, we need to introduce a new device hub (using the KIP subsystem) via which we get notified of device removal/addition. This hub is used to manage all keyboard-cover HID devices.
Lastly, this PR also introduces a tablet mode switch based on the KIP subsystem and the notifications we receive from it regarding keyboard-cover devices.