1default partial xkb_compatibility "misc" { 2 3 virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock; 4 5 // Interpretations for some other useful keys. 6 7 interpret Terminate_Server { 8 action = Terminate(); 9 }; 10 11 setMods.clearLocks= True; 12 13 // Sets the "Alt" virtual modifier. 14 15 interpret Alt_L+Any { 16 //useModMapMods= level1; 17 virtualModifier= Alt; 18 action = SetMods(modifiers=modMapMods); 19 }; 20 21 interpret Alt_L { 22 action = SetMods(modifiers=Alt); 23 }; 24 25 interpret Alt_R+Any { 26 //useModMapMods= level1; 27 virtualModifier= Alt; 28 action = SetMods(modifiers=modMapMods); 29 }; 30 31 interpret Alt_R { 32 action = SetMods(modifiers=Alt); 33 }; 34 35 // Sets the "Meta" virtual modifier. 36 37 interpret Meta_L+Any { 38 //useModMapMods= level1; 39 virtualModifier= Meta; 40 action = SetMods(modifiers=modMapMods); 41 }; 42 43 interpret Meta_L { 44 action = SetMods(modifiers=Meta); 45 }; 46 47 interpret Meta_R+Any { 48 //useModMapMods= level1; 49 virtualModifier= Meta; 50 action = SetMods(modifiers=modMapMods); 51 }; 52 53 interpret Meta_R { 54 action = SetMods(modifiers=Meta); 55 }; 56 57 // Sets the "Super" virtual modifier. 58 59 interpret Super_L+Any { 60 //useModMapMods= level1; 61 virtualModifier= Super; 62 action = SetMods(modifiers=modMapMods); 63 }; 64 65 interpret Super_L { 66 action = SetMods(modifiers=Super); 67 }; 68 69 interpret Super_R+Any { 70 //useModMapMods= level1; 71 virtualModifier= Super; 72 action = SetMods(modifiers=modMapMods); 73 }; 74 75 interpret Super_R { 76 action = SetMods(modifiers=Super); 77 }; 78 79 // Sets the "Hyper" virtual modifier. 80 81 interpret Hyper_L+Any { 82 //useModMapMods= level1; 83 virtualModifier= Hyper; 84 action = SetMods(modifiers=modMapMods); 85 }; 86 87 interpret Hyper_L { 88 action = SetMods(modifiers=Hyper); 89 }; 90 91 interpret Hyper_R+Any { 92 //useModMapMods= level1; 93 virtualModifier= Hyper; 94 action = SetMods(modifiers=modMapMods); 95 }; 96 97 interpret Hyper_R { 98 action = SetMods(modifiers=Hyper); 99 }; 100 101 // Sets the "ScrollLock" virtual modifier and 102 // makes it actually lock when pressed. Sets 103 // up a map for the scroll lock indicator. 104 interpret Scroll_Lock+Any { 105 virtualModifier= ScrollLock; 106 action = LockMods(modifiers=modMapMods); 107 }; 108 109 include "ledscroll" 110 111 include "misc(assign_shift_left_action)" 112}; 113 114partial xkb_compatibility "assign_shift_left_action" { 115 // Because of the irrevertable modifier mapping in symbols/pc, 116 // <LFSH> is getting bound to the Lock modifier when using 117 // symbols/shift(both_capslock), creating unwanted behaviour. 118 // This is a quirk, to circumvent the problem. 119 interpret Shift_L { 120 action = SetMods(modifiers = Shift); 121 }; 122}; 123