Here is an example of the problem in gnome. However, when I tried this in Xfce, the same problem occurs.

I have set up a Hyper key on the keyboard. It works fine for keyboard shortcuts and seems to be ok when checked with xev. However, applying these gsettings doesn't work:

org.gnome.desktop.wm.keybindings switch-windows ['<Hyper>Tab']
org.gnome.desktop.wm.keybindings switch-windows-backward ['<Hyper><Shift>Tab']

i.e. the gnome gsettings command is:

gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Hyper>Tab']"

The same problem occurs when using Hyper for switch-applications and cycle-windows - that also doesn't work. However, when e.g. Super or Alt is used, all combinations work as expected.

I also note that it's perfectly possible to bind Hyper+1,2, 3, ... a, b, c to actions (e.g. using autokey). Importantly, it's also possible to bind Hyper+Tab to other actions - that works fine. So it seems like a weird interaction between Hyper+Tab and the window-switch settings?

I have recently tried this in Xfce, and got the same problem. (Ubuntu 19.04). So it's either to do with a shared component in gnome and Xfce or not to do with gnome/Xfce at all.

Primary question: What does Hyper not work?

Now, I've posted this is several forums, asked on IRC etc etc.

Secondary question: Why is there no answer? Is this question genuinely hard? Am I asking in the wrong places? Is this an esoteric problem that others haven't noticed? Would love to know!

Edit. output from xev removed 2019-11-18

  • Did you check the key combos on xev or only the key by itself?
    – Spidey
    Nov 17 '19 at 19:16
  • Thank you so much for the comment! The desired combo is Hyper+Tab. So on xev I see Hyper-down, Tab-down, Tab-up, Hyper-up. Is that what you meant?
    – bjohas
    Nov 17 '19 at 19:44
  • Try with shift and check if xev shows the keys pressed together. Even better if you could paste xev output here for both cases.
    – Spidey
    Nov 17 '19 at 20:04
  • I have added this to the main post.
    – bjohas
    Nov 17 '19 at 20:12
  • Interesting - x01=shift, x04=ctrl, but x08 is alt, x80 is hyper. Is that correct?
    – bjohas
    Nov 17 '19 at 20:36

The suggestion to look at the keyboard with xev led me to identifying the likely issue. In particular,

xmodmap -pm

showed that mod5 was overcrowded, where my modifications had been included with the default map (for the xkb US keyboard layout) of:

mod4        Super_L (0x25),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

vs. my map of

mod4        Super_L (0x25),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        <OTHER_KEYS, inc. Hyper_R> ISO_Level3_Shift (0x5c),  Mode_switch (0xcb) 

So ISO_Level3_Shift was triggered along Hyper, and thus didn't work.

Edit. 2019-11-18. Basically fixing to Super, and then using different mod numbers worked. For details, see writeup here: https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X/blob/master/Hyper%20key.md

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.