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