Suppressing a modifier key on specific key presses

Rocky Backer rocky.backer at
Sun Mar 8 03:46:55 PDT 2015

Thank you very much for the quick reply.

> 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.
> Thanks for this information. I understand much better now.

> 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 ]
>     };
> I tried this and it works. There is only one minor glitch though.
The first redirect "RedirectKey(keycode=<FK15>, mods=Super)"  redirects to
<FK15> but it does not set the mod key(Super). I have tried
"modifiers=Super" instead of "mods=Super" and I have also tried real
modifiers like Shift, Control and virtual modifiers like Alt.

But, the second redirect works fine. clearmods/clearModifiers clears the
appropriate modifier.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg mailing list