Bug 510724 - Key Bindings screen presents superfluous "Meta is mapped to {Left} Win" options which have no user-facing effect
Summary: Key Bindings screen presents superfluous "Meta is mapped to {Left} Win" optio...
Status: RESOLVED UPSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keyboard (other bugs)
Version First Reported In: 6.4.4
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-17 16:07 UTC by pg_tips
Modified: 2025-10-18 11:31 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pg_tips 2025-10-17 16:07:27 UTC
SUMMARY

STEPS TO REPRODUCE
1. In the System Settings app, go to Keyboard >> Keyboard >> Key Bindings and expand the "Alt and Win behavior" tree.

OBSERVED RESULT
1. See the options "Meta is mapped to Left Win" and "Meta is mapped to Win", where 'Meta' is used with the meaning it has in xkeyboard-config (i.e. it's not 'Super', which is the keycode normally assigned to the "Windows" key in xkeyboard-config).

EXPECTED RESULT
1. Do not see these options, because they change no user-facing behaviour and so there is no value presenting them in the GUI.


Why do these options have no user-facing effect in Plasma? Because 'Meta' and 'Super' (in xkeyboard-config terms) seem to be treated indistinguishably as 'Meta' in Qt terms. Therefore, although these options do change the mappings at the xkeyboard-config level, they don't change the fact that the "Windows" key scancode ends up mapping through to Qt::META.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora 42 KDE
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.19.0
Qt Version: 6.9.2

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2025-10-17 18:26:45 UTC
I do agree that it's a bit off, but unfortunately these options are kind of old legacy things that come from XKB itself. I don't think it's feasible for us to detect which ones are relevant to your actual physical keyboard such that we could hide the rest of them.

If there's an option here that doesn't do anything but you think it should, that should be reported to XKB itself.
Comment 2 pg_tips 2025-10-17 18:37:33 UTC
It's not that the option never does anything (which would indeed be an XKB issue), it's that the option doesn't do anything **specifically in Qt / Plasma**. Qt's chooses to treat XKB's Meta and Super as if they were same keycode, so an option that replaces Super with Meta isn't a no-op at the XKB level, but it works out as a no-op by the time everything is mapped into Qt.

However, I was making the implicit assumption that the base layout maps the Win key to XKB's Super, and that's not guaranteed to be true of all layouts, so I take your point that it's difficult to confidently hide the option.
Comment 3 ninjalj 2025-10-18 11:26:22 UTC
To clarify things, Meta, Super, and Win are different keys. Meta and Super existed on the Space Cadet keyboard. Win exists on PC keyboards. Emacs, X11 and other software supported Meta and Super keys long before there was a Win key on PC keyboard. When PC keyboards first got the Win key, it was common to assign it as Meta, but since there were already other methods of emulating a Meta key (using Alt+key, or ESC then key), then it was decided to assign it as Super. Current xkeyboard-config assigns it as Super in the pc symbols file, which is used by most layouts (excluding layouts for things like Amiga, Atari and Macintosh keyboards). If you run "setxkbmap -print" you are very likely to see "pc" on the xkb_symbols line.

The problem is that Qt and KDE use Meta to mean the Win key, while most everyone else (Gnome, i3, sway,...) uses Super for that purpose. XKB itself distinguises between Meta, Super and Win, since it has to map physical keyboard keys to "common denominator" keys. Software above XKB is probably better not knowing whether your keyboard has a Win key, or uses some other key for Super.

---

Now, the better solution to this terminology confusion would be to rewrite all references to Meta in KDE software (and in Qt) to Super.

The second best solution I can think of is to add some warning text to the Key Bindings UI to warn of the terminology mismatch between XKB and Qt/KDE.
Comment 4 ninjalj 2025-10-18 11:31:56 UTC
And to clarify, the option actually does work exactly as it says (and by default the Win key acts as Super), it's just that the terminology doesn't match with Qt terminology.