partial modifier_keys 
xkb_symbols "breaks_caps" {
 key <LFSH> {
 type = "ALPHABETIC",
 actions [Group1] = [
 SetMods(modifiers=Shift),
 SetMods(modifiers=Shift+Lock,clearLocks)
 ]
 };
 key <RTSH> {
 type = "ALPHABETIC",
 actions [Group1] = [
 SetMods(modifiers=Shift),
 SetMods(modifiers=Shift+Lock,clearLocks)
 ]
 };
};


partial modifier_keys
xkb_symbols "lshift_both_capslock" {
 key <LFSH> {
 type[Group1]="TWO_LEVEL",
 symbols[Group1] = [ Shift_L, Caps_Lock ]
 };
};

partial modifier_keys
xkb_symbols "rshift_both_capslock" {
 key <RTSH> {
 type[Group1]="TWO_LEVEL",
 symbols[Group1] = [ Shift_R, Caps_Lock ]
 };
};
partial modifier_keys
xkb_symbols "both_capslock" {
 include "shift(lshift_both_capslock)"
 include "shift(rshift_both_capslock)"
};


partial modifier_keys
xkb_symbols "lshift_both_capslock_cancel" {
 key <LFSH> {
 type[Group1]="ALPHABETIC",
 symbols[Group1] = [ Shift_L, Caps_Lock ]
 };
};

partial modifier_keys
xkb_symbols "rshift_both_capslock_cancel" {
 key <RTSH> {
 type[Group1]="ALPHABETIC",
 symbols[Group1] = [ Shift_R, Caps_Lock ]
 };
};
partial modifier_keys
xkb_symbols "both_capslock_cancel" {
 include "shift(lshift_both_capslock_cancel)"
 include "shift(rshift_both_capslock_cancel)"
};



partial modifier_keys
xkb_symbols "lshift_both_shiftlock" {
 key <LFSH> {
 type[Group1]="TWO_LEVEL",
 symbols[Group1] = [ Shift_L, Shift_Lock ]
 };
};

partial modifier_keys
xkb_symbols "rshift_both_shiftlock" {
 key <RTSH> {
 type[Group1]="TWO_LEVEL",
 symbols[Group1] = [ Shift_R, Shift_Lock ]
 };
};
partial modifier_keys
xkb_symbols "both_shiftlock" {
 include "shift(lshift_both_shiftlock)"
 include "shift(rshift_both_shiftlock)"
};
