I've made a fresh install of Xubuntu 22.04 and I have some problems. I have defined some custom keyboard shortcuts using Super+Letter keys, but some of them don't work. I was previously using Xubuntu 16.04 and I didn't have this problem.
The problem
For a basic example, Super+W shortcut doesn't launch my web browser: if the focused window is a terminal it prints w
(as if I only pressed w).
- Important detail : I have an external AZERTY keyboard (so the w key is located just above the left Super key).
- Interesting detail 1: if I change the command associated with this shortcut, it works well... until the next reboot.
- Interesting detail 2: some shortcuts with Super+Letter work, depending on the Letter key I use.
Letters affected by this problem
For a wider view, I tested the shortcuts with all the letters of my keyboard and looked at my terminal window to see if letters are printed or not. Here are the printed letters (so shortcuts with Super+ these keys will not work):
-----yuio-q---ghjk-mwxcvbn
I represented them on the rows of my keyboard (3 rows of letters), and -
means that the corresponding letter doesn't print anything (so the shortcuts with those letters work).
If it helps to understand, here are the letters that work (no letter printed in my terminal window):
azert----p-sdf----l-------
More details
I tried to see what happens and I discovered the xev
command.
Here is the result of xev -event keyboard
and Super+W pressed (shortcut doesn't work):
KeyPress event, serial 28, synthetic NO, window 0x4c00001, root 0x6c9, subw 0x0, time 7273892, (165,-11), root:(1036,524), state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 28, synthetic NO, window 0x4c00001, root 0x6c9, subw 0x0, time 7274156, (165,-11), root:(1036,524), state 0x50, keycode 52 (keysym 0x77, w), same_screen YES, XLookupString gives 1 bytes: (77) "w" XmbLookupString gives 1 bytes: (77) "w" XFilterEvent returns: FalseKeyRelease event, serial 28, synthetic NO, window 0x4c00001, root 0x6c9, subw 0x0, time 7274244, (165,-11), root:(1036,524), state 0x50, keycode 52 (keysym 0x77, w), same_screen YES, XLookupString gives 1 bytes: (77) "w" XFilterEvent returns: FalseKeyRelease event, serial 28, synthetic NO, window 0x4c00001, root 0x6c9, subw 0x0, time 7274396, (165,-11), root:(1036,524), state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Here is the result of xev -event keyboard
and Super+W pressed after redefining the executed command (shortcut works):
KeyPress event, serial 28, synthetic NO, window 0x5000001, root 0x6c9, subw 0x0, time 8245188, (166,-9), root:(1037,526), state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: FalseKeymapNotify event, serial 28, synthetic NO, window 0x0, keys: 4294967241 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0KeyRelease event, serial 28, synthetic NO, window 0x5000001, root 0x6c9, subw 0x0, time 8245796, (166,-9), root:(1037,526), state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
My analysis
I guess the system doesn't handle some Super+Letter key combinations. After redefining a shortcut it works. So something is different, but I don't know what (and it isn't permanent as the problem comes back after reboot).
I clearly see that the keymapNotify
event is not fired, but I have no idea why (and I don't know how it works).
I hope someone can help me. Don't hesitate to ask if you need more details.