TL/DR: Try this in your ~/.Xmodmap log out of X11 and log back in. If you moved to Wayland, hopefully one day we'll get stable APIs for 3rd party window utilities. Until that happens, I recommend switching back to X11 if you can.
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5
keycode 248 = Hyper_L
add Mod1 = Alt_L Alt_R
add Mod2 = Num_Lock
add Mod3 = Hyper_L
add mod4 = Super_L Super_R
add mod5 = ISO_Level3_Shift Mode_switch
Note that you can't blindly copy code 248
... You need to find a key that will work for your keyboard.
Use xev -event keyboard
to find the keycode for the key that you want to use. While xev is running, focus on the xev window and press the key you want to use. You'll see the KeyRelease event
show on your console. Best to use the xev -event keyboard filter so that all mouse events can be ignored.
You need to make sure Xmodmap will actually start with your widow manager, and for me, it works best with a delay. So I have a file ~/.config/autostart/xmodmap.desktop
[Desktop Entry]
Name=xmodmap
Comment=Xmodmap Keyboard Modification
Exec=delay_xmodmap
Terminal=false
Type=Application
And then delay_xmodmap
is a trivial script that just sleeps for a bit before launching.
#!/bin/bash
sleep 10;
xmodmap ~/.Xmodmap
Using a hot key manager like sxhkd you should be able to map shortcuts to the Hyper key now. Put something like this in your ~/.config/sxhkd/sxhkdrc to test that Hyper is working.
hyper + {a-z}
notify-send "hyper {a-z}"
Every keyboard I've ever seen has a SHIFT key and CONTROL keys. Historical Unix vs Mac vs Windows are a bit different for the other keys:
Alt == Meta (Option in the Mac World)
Windows Key == Super Key == Command Key
So you basically get 3 modifiers on each key, but SHIFT is so common for text it's dangerous for most of us to configure that.
If you're on Linux, and you have a keyboard that generates an actual "keycode" (some fn
labeled keys actually run software in the keyboard to send a different keycode to the OS, without the OS knowing that a modifier was involved).
Unix | Win | Mac | Linux |
mod1 | Alt | Option | Alt_L Alt_R / Meta |
mod2 | Num Lock | Num Lock | |
mod3 | HYPER | ||
mod4 | Windows Key | Command Key | Super_L Super_R |
mod5 | ISO_Level3_Shift |