// Cancel CapsLock when a Shift key is pressed. // // The usual workflow expected with this option is: // - `` ↓↑: `Caps` is locked // - type caps letters // - `` ↓: `Caps` is unlocked, `Shift` is set // - optionally type some more upper case letters: tolerance to sync with `Shift` // - `` ↑: `Shift` is unset // - type in lower case // // A side effect is that both `` keys together trigger CapsLock. partial modifier_keys xkb_symbols "breaks_caps" { include "shift(both_capslock_cancel)" }; // Toggle CapsLock when pressed together with the other Shift key. partial modifier_keys xkb_symbols "lshift_both_capslock" { key {[ Shift_L, Caps_Lock ], type[group1]="TWO_LEVEL" }; }; // Toggle CapsLock when pressed together with the other Shift key. partial modifier_keys xkb_symbols "rshift_both_capslock" { key {[ Shift_R, Caps_Lock ], type[group1]="TWO_LEVEL" }; }; partial modifier_keys xkb_symbols "both_capslock" { include "shift(lshift_both_capslock)" include "shift(rshift_both_capslock)" }; // Set CapsLock when pressed with the other Shift key, release it when pressed alone. partial modifier_keys xkb_symbols "lshift_both_capslock_cancel" { key {[ Shift_L, Caps_Lock ], type[group1]="ALPHABETIC" }; }; // Set CapsLock when pressed with the other Shift key, release it when pressed alone. partial modifier_keys xkb_symbols "rshift_both_capslock_cancel" { key {[ Shift_R, Caps_Lock ], type[group1]="ALPHABETIC" }; }; partial modifier_keys xkb_symbols "both_capslock_cancel" { include "shift(lshift_both_capslock_cancel)" include "shift(rshift_both_capslock_cancel)" }; // Toggle ShiftLock when pressed together with the other Shift key. partial modifier_keys xkb_symbols "lshift_both_shiftlock" { key {[ Shift_L, Shift_Lock ], type[group1]="TWO_LEVEL" }; }; // Toggle ShiftLock when pressed together with the other Shift key. partial modifier_keys xkb_symbols "rshift_both_shiftlock" { key {[ Shift_R, Shift_Lock ], type[group1]="TWO_LEVEL" }; }; partial modifier_keys xkb_symbols "both_shiftlock" { include "shift(lshift_both_shiftlock)" include "shift(rshift_both_shiftlock)" };