kwin/src/kcms
Nate Graham a136a159f9 Allow harmless XWayland key snooping by default
Wayland has a design philosophy of prohibiting keyloggers, which is
sane. However X11 did not, and a lot of X11 apps were developed with the
expectation of being able to sniff keyboard events to handle global
shortcuts. When such apps are run in a Wayland session under XWayland,
these features break.

Historically we have prohibited this in the name of security. In Plasma
5.27, we gave users a KCM they can use to choose their preferred balance
of security and unbreaking XWayland apps with global shortcuts. But we
still defaulted to total 100% security, at the expense of breaking these
apps by default.

However today we have a compromise that unbreaks them 99% of the time
while not meaningfully reducing security: we can have KWin only prohibit
XWayland apps from reading alphanumeric key events that don't have a
modifier key pressed at the same time. This still prevents those apps
from acting as keyloggers and reading your password or all the text you
type, but does allow those apps that have a legitimate need to read key
events for global shortcuts do so, because global shortcuts will involve
modifier keys being held down.

Due to the way the security modes work, making this change will also
allow XWayland apps to read non-alphanumeric keystrokes without any
modifiers being held down, but that's also fine for security since you
can't use any of those keys to type text or passwords.
2024-03-08 15:51:41 +00:00
..
common Unify the format for #include "config.h" 2024-02-28 16:03:50 +00:00
compositing SVN_SILENT made messages (.desktop file) - always resolve ours 2024-03-01 01:15:05 +00:00
decoration Unify the format for #include "config.h" 2024-02-28 16:03:50 +00:00
desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2024-01-26 01:13:56 +00:00
effects kcms/effects: add keywords for newly-introduced cursor effects 2024-03-07 10:35:25 -07:00
options kcms/options: Hide "active mouse screen" option 2024-02-05 20:23:50 +02:00
rules kwin/rules: update placeholder text and add icon 2024-02-28 21:58:15 +00:00
screenedges SVN_SILENT made messages (.desktop file) - always resolve ours 2024-03-03 01:16:28 +00:00
scripts SVN_SILENT made messages (.desktop file) - always resolve ours 2024-02-22 01:15:21 +00:00
tabbox Make it possible to build KWin without libxcb 2024-02-28 16:03:50 +00:00
virtualkeyboard SVN_SILENT made messages (.desktop file) - always resolve ours 2024-01-26 01:13:56 +00:00
xwayland Allow harmless XWayland key snooping by default 2024-03-08 15:51:41 +00:00
CMakeLists.txt