<div dir="ltr"><div><div><div>Hi,<br><br></div>Here is my usecase: I want to send "<Super> + <F5>" when I press <F5> and send "<F5>" when I press "<Super> + <F5>". All other modifier combinations with <F5> key must be the same(as in normal behavior).<br><br></div>I have achieved most of this behavior with the xkb configurations listed below. The only trouble I am facing is in the xkb_compatibility file. I am trying to use the following code.<br></div><div><br></div><div>default partial<br></div><div>xkb_compatibility "ac_xmonad" {<br></div><div><br>  virtual_modifiers Super;<br></div><div>  interpret F5+Exactly(Super) {<br></div><div>    action = RedirectKey(keycode=<FK05>, clearmods=Super);<br></div><div>  };<br><br>};<br><br></div><div>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.<br><br></div><div>I appreciate any help in form of clues as to what I am doing wrong. I also welcome any other solution suggestions for my usecase scenario.<br><br></div><div>Here is a complete listing of the configurations that I am using as of now.<br><br></div><div>~/.xkb/keymap/xkb_ac_xmonad<br>-----------------------------------------------<br></div><div> xkb_keymap {<br>    xkb_keycodes  { include "evdev+aliases(qwerty)"    };<br>    xkb_types     { include "complete+ac_xmonad"    };<br>    xkb_compat    { include "complete+ac_xmonad"    };<br>    xkb_symbols   { include "pc+us+inet(evdev)+ac_xmonad"    };<br>    xkb_geometry  { include "pc(pc104)"    };<br>};<br><br>~/.xkb/types/ac_xmonad<br>------------------------------------<br>default partial<br>xkb_types "ac_xmonad_fn" {<br>    virtual_modifiers Alt,Super;<br>    type "ACXMONADFN" {<br>        modifiers = Shift+Control+Alt+Super;<br>        map[None] = Level1;<br><br>        map[Shift] = Level2;<br>        preserve[Shift] = Shift;<br><br>        map[Control] = Level2;<br>        preserve[Control] = Control;<br><br>        map[Alt] = Level2;<br>        preserve[Alt] = Alt;<br><br>        map[Super] = Level2;<br>        preserve[Super] = Super;<br><br>        map[Control+Alt] = Level3;<br>        preserve[Control+Alt] = Control+Alt;<br><br>        map[Shift+Control+Alt] = Level2;<br>        preserve[Shift+Control+Alt] = Shift+Alt;<br><br>        level_name[Level1] = "Extra";<br>        level_name[Level2] = "Normal";<br>        level_name[Level3] = "Ctrl+Alt";<br>    };<br>};<br><br><br>~/.xkb/symbols/ac_xmonad<br>----------------------------------------<br>default partial<br>xkb_symbols "ac_xmonad_fn" {<br>    replace key <FK05> {<br>        type = "ACXMONADFN",<br>        symbols[Group1] = [ F25, F5, XF86_Switch_VT_5 ]<br>    };<br>};<br><br><br>~/.xkb/compat/ac_xmonad<br>---------------------------------------<br>default partial<br>xkb_compatibility "ac_xmonad" {<br>    virtual_modifiers Super;<br>    interpret F5+Exactly(Super) {<br>        action = RedirectKey(keycode=<FK05>, clearmods=Super);<br>    };<br>};<br><br></div><div>Thanks in advance.<br></div><div><br></div><div>Regards,<br></div><div>Rocky<br></div><div><br></div></div>