Merged yesterday to the mainline Linux 6.18 development kernel were the latest round of x86 platform driver fixes. Mostly some small fixes but standing out is electronic privacy screen hotkey support for some Dell laptops.
The Linux 6.18 kernel has added to the input code the keycodes for electronic privacy screen on/off hotkeys plus changes to the Dell WMI driver to handle electronic privacy screen on/off events.
Hans de Goede explained when adding the keycodes for the hotkeys toggling the electronic privacy screen:
“Add keycodes for hotkeys toggling the electronic privacy screen found on some laptops on/off.
There already is an API for eprivacy screens as kernel-mode-setting drm connector object properties this API also supports reporting when the eprivacy screen is turned on/off by the embedded-controller (EC) in response to hotkey presses.
But on some laptops (e.g. the Dell Latitude 7300) the firmware does not allow querying the presence nor the status of the eprivacy screen at boot. This makes it impossible to implement the drm connector properties API since drm objects do not allow adding new properties after creation and the presence of the eprivacy cannot be detected at boot.
The first notice of the presence of an eprivacy screen on these laptops is an EC generated (WMI) event when the eprivacy screen hotkeys are pressed.
In this case the new keycodes this change adds can be generated to notify userspace of the eprivacy screen on/off hotkeys being pressed, so that userspace can show the usual on-screen-display (OSD) notification for eprivacy screen on/off to the user. This is similar to how e.g. touchpad on/off keycodes are used to show the touchpad on/off OSD.”
The follow-on patch to the Dell WMI driver adds handling for the electronic privacy screen on/off events. The Dell Latitude 7300 seems to be the main motivator or test device for working on this integration. Dell markets their electronic privacy screen feature as the Dell SafeScreen.
This electronic privacy screen hotkey handling support was merged as part of this pull request ahead of Linux 6.18-rc5 due out on Sunday.
