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