Skip to content
Josh Goebel edited this page Jun 7, 2022 · 2 revisions

In your keyszer config, choose a key you'd like to stand-in for Hyper. I've chosen F24.

keyszer.config

# create a new modifier, and use the keyboard key F24
Modifier("L_HYPER", aliases = ["LHyper"], key = Key.F24)
LHyper = Key.F24

LHyper variable is so we can refer to the key later in modmaps without calling it F24. In K() macros of course we can just use the LHyper alias.

awesome WM config

I have a variable for my main modifier, so I just changed that to Mod3 instead of Mod4.

# update my Awesome WM to use mod3 (instead of mod4)
modkey = "Mod3"

.Xmodmap

As far as I know (at least for Awesome WM) we need to hook up our F24 key to the Hyper_L keysym.

clear mod3
clear mod4
add mod4 = Super_L Super_R
!keycode 194 = Hyper_L Hyper_L
! this is the keycode that xev seems to think kernel 194 is
keycode 202 = Hyper_L Hyper_L
add mod3 = Hyper_L

I had to redefine mod4 because Hyper_L was already registered there for some reason. Then just add Hyper_L to mod3.

The part that confuses me most is F24 (the key I'm reusing) is 194 to the kernel (and key.py BUT xmodmap seems to assign it keycode 202 (confirmed by using xev_... There seems to be this offset in what both are calling the "keycode" for a lot of keys that I don't understand.

After loading the node Xmodmap now my Hyper key works for all my Awesome WM shortcuts that formerly used mod3/Cmd.

Clone this wiki locally