1 // Cancel CapsLock when a Shift key is pressed. 2 partial modifier_keys 3 xkb_symbols "breaks_caps" { 4 key <LFSH> { 5 type[group1] = "ALPHABETIC", 6 actions[group1] = [ SetMods(modifiers=Shift), 7 SetMods(modifiers=Shift+Lock,clearLocks) ] 8 }; 9 key <RTSH> { 10 type[group1] = "ALPHABETIC", 11 actions[group1] = [ SetMods(modifiers=Shift), 12 SetMods(modifiers=Shift+Lock,clearLocks) ] 13 }; 14 }; 15 16 17 // Toggle CapsLock when pressed together with the other Shift key. 18 partial modifier_keys 19 xkb_symbols "lshift_both_capslock" { 20 key <LFSH> {[ Shift_L, Caps_Lock ], type[group1]="TWO_LEVEL" }; 21 }; 22 23 // Toggle CapsLock when pressed together with the other Shift key. 24 partial modifier_keys 25 xkb_symbols "rshift_both_capslock" { 26 key <RTSH> {[ Shift_R, Caps_Lock ], type[group1]="TWO_LEVEL" }; 27 }; 28 partial modifier_keys 29 xkb_symbols "both_capslock" { 30 include "shift(lshift_both_capslock)" 31 include "shift(rshift_both_capslock)" 32 }; 33 34 35 // Set CapsLock when pressed with the other Shift key, release it when pressed alone. 36 partial modifier_keys 37 xkb_symbols "lshift_both_capslock_cancel" { 38 key <LFSH> {[ Shift_L, Caps_Lock ], type[group1]="ALPHABETIC" }; 39 }; 40 41 // Set CapsLock when pressed with the other Shift key, release it when pressed alone. 42 partial modifier_keys 43 xkb_symbols "rshift_both_capslock_cancel" { 44 key <RTSH> {[ Shift_R, Caps_Lock ], type[group1]="ALPHABETIC" }; 45 }; 46 47 partial modifier_keys 48 xkb_symbols "both_capslock_cancel" { 49 include "shift(lshift_both_capslock_cancel)" 50 include "shift(rshift_both_capslock_cancel)" 51 }; 52 53 54 // Toggle ShiftLock when pressed together with the other Shift key. 55 partial modifier_keys 56 xkb_symbols "lshift_both_shiftlock" { 57 key <LFSH> {[ Shift_L, Shift_Lock ], type[group1]="TWO_LEVEL" }; 58 }; 59 60 // Toggle ShiftLock when pressed together with the other Shift key. 61 partial modifier_keys 62 xkb_symbols "rshift_both_shiftlock" { 63 key <RTSH> {[ Shift_R, Shift_Lock ], type[group1]="TWO_LEVEL" }; 64 }; 65 66 partial modifier_keys 67 xkb_symbols "both_shiftlock" { 68 include "shift(lshift_both_shiftlock)" 69 include "shift(rshift_both_shiftlock)" 70 }; 71