TLDR
KDE allows the user to set up custom keyboard shortcuts that send arbitrary keyboard inputs. However apart from the single-character keys and some obvious ones (e.g. Ctrl, Shift), the key names are quite poorly documented (if at all). Is there a reference table for all supported keys?
More details
This question is not really about solving my problem (luckily, I managed to guess my way through), rather it's about futureproofing me and others against other (possibly more obscure) needs. Here's specifically what I needed and did:
Many modern keyboards are choosing to omit the menu key, a fact that I sorely lament. I find it useful quite often, so the next best thing I can do is to bind it to a system shortcut. KDE's custom shortcut allows me to do just that, but in the "Action" tab, there's just a big textbox without much aid. I was unsure what's the correct syntax to specify the menu key.
There is a help button though, which led me to the documentation page. However all it said was this:
Some keys have longer names, and you can also use those names. For instance, to press the Alt key, simply enter Alt.
Talk about useless documentation 🙄 (I still love you all, KDE devs). Anyways, then I tried Googling all the relevant terms but always ran into a brick wall. For example, there's this forum post in 2010 that has 0 replies.
After a lot of frustration I decided to just start trying likely values, and luckily for me it turns out the simple Menu
is the correct name. So my problem is technically solved, but obviously this is not ideal: I can easily see myself wanting to bind shortcuts to keys whose names are not so guessable (e.g. multimedia keys) in the future. What I need is a reference table.
P.s.
It's also worth noting that KDE does not seem to be simply reusing the key names of Linux (source) or Xorg (inspectable with xev
). For example, the KPn
family of names (KP
referring to "keypad") do not work. So either KDE is only supporting a subset of these key names (which I find unlikely), or more likely KDE simply has a completely different naming table.
Versions
- KDE Plasma: 5.27.5
- KDE Framework: 5.106.0
- QT: 5.15.9