Since this change: https://invent.kde.org/plasma/kwin/-/commit/a136a159f92a41cce749eb96b5f4e8c61265c1c3 there is now this text in KCM: "Some legacy X11 apps require the ability to read keystrokes typed in other apps for certain features, such as handling global keyboard shortcuts. This is allowed by default. However other features may require the ability to read all keys, and this is disabled by default for security reasons. If you need to use such apps, you can choose your preferred balance of security and functionality here." It can be seen deployed in the UI here: https://blogs.kde.org/2025/05/17/this-week-in-plasma-hdr-calibration-wizard/xwayland-app-keyboard-and-pointer-control-option.png I read the text three times and had to dig up the commit that added it to understand what was going on. How do global shortcuts differ from all keys? What is allowed by default? (you can argue that you see what is default, but imagine a scenario when you change th default, forget about it and then come accross this settings page years later.) A better version would be: "Some legacy X11 apps need to read keystrokes typed in other apps for certain features, such as handling global keyboard shortcuts that use modifier keys like Control, Alt, Meta or Shift. This is allowed by default. However other features may require the ability to read everything, even single keystrokes. This is disabled by default for security reasons. If you need to use such apps, you can choose your preferred balance of security and functionality here." Also, there are two options: 1) Only Meta, Control, Alt and Shift keys 2) As above, plus any key typed while the Control, Alt, or Meta keys are pressed Do I get it right that when 1) is checked, only pressing Meta/Control/Alt/Shift is send to the X application and that when 2) is checked, additionally things like CTRL+A or Meta+D or CTRL+ALT+Backspace are passed but not for example "SHIFT+A"? If so, then maybe the second name should be "As above, plus any key typed while the Control, Alt, or Meta keys (but not Shift) are pressed" Now it is ambigious if Shift is not mentioned in 2) intentionally or if it is an omission.
I don't agree that it's difficult to understand, but I do agree that your proposed version is an improvement.
I also agree: "the proposed version is an improvement."
I'll work on this. I have a somewhat more expansive idea.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7654
Git commit 1156aecc912e4486d78eca717feb24968c527d6c by Nate Graham. Committed on 29/05/2025 at 01:54. Pushed by ngraham into branch 'master'. kcms/xwayland: Rephrase things to be clearer Right now this KCM has a wall of text on top, and no guidance for the implications of using the individual options. This isn't ideal. Instead, let's reduce the text on top to only the minimum needed to explain what this KCM is for, and then instead offer inline explanations for the implications of each individual setting. FIXED-IN: 6.5.0 M +179 -55 src/kcms/xwayland/ui/main.qml https://invent.kde.org/plasma/kwin/-/commit/1156aecc912e4486d78eca717feb24968c527d6c