Suppressing a modifier key on specific key presses

wettstae at wettstae at
Sat Mar 7 07:16:55 PST 2015

> But, "interpret F5+Exactly(Super)" doesn't seem to work. While testing. I
> found that "interpret F5 {...};" works just fine. It is as if using
> +Exactly(Super) doesn't capture the key.

Yes.  The modifier specified with interpret is not related to the
status, but with to modifier map.  So F5+Exactly(Super) kicks if you
enter keysym F5 on a key with has Super in its modifier map.

> I also welcome any other solution suggestions for my usecase scenario.

What you have to do is to refine your ACXMONADFN, so that you accesss
different levels when you press Super and when you do not.  When you
want to keep F25 on Level1, let's say that are Level2 and Level3, and
Level4 is for XF86_Switch_VT_5.  Then, you do something like:

    key <FK05> {
        type = "ACXMONADFN",
        symbols[Group1] = [ F25, F25, F25, XF86_Switch_VT_5 ],
        actions[Group1] = [ NoAction(), RedirectKey(keycode=<FK15>, mods=Super), RedirectKey(keycode=<FK15>, clearmods=Super), SwitchScreen(screen=5,!same) ]
    key <FK15> {
        type = "ONE_LEVEL",
        symbols[Group1] = [ F5 ]



More information about the xorg mailing list