TransWikia.com

xkb - difference between modifier_map and SetMods

Super User Asked by Damien Robert on January 26, 2021

In the xkb guide on archlinux: https://wiki.archlinux.org/index.php/X_keyboard_extension
we see this configuration to set up LWIN as an ISO_Level3_Shift

   xkb_symbols { 
       key <LWIN> { [ISO_Level3_Shift ] };
       modifier_map Mod5 { ISO_Level3_Shift };
   }
   xkb_compatibility {
       interpret ISO_Level3_Shift { action= SetMods(modifiers=Mod5); };
   }

Now I am a bit confused.

  • ISO_Level3_Shift is a virtual modifier. So we need to map it to a real modifier somehow. But what is the difference between modifier_map Mod5 { ISO_Level3_Shift }; and interpret ISO_Level3_Shift { action= SetMods(modifiers=Mod5); };? Why do we need both?

  • In the xkb file compat/level5 I see things like

      interpret ISO_Level5_Shift+Any {
      useModMapMods= level1;
      virtualModifier= LevelFive;
      action= SetMods(modifiers=LevelFive);
      };
    
      interpret ISO_Level5_Shift {
      action= SetMods(modifiers=LevelFive);
      };
    

    What does useModMapMods and virtualModifier mean here?

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP