Fixed "both shifts as caps" behavior,
[xorg/xkeyboard-config] / symbols / shift
1 // $XKeyboardConfig$
2
3 partial modifier_keys 
4 xkb_symbols "breaks_caps" {
5     key <LFSH> {
6         type = "ALPHABETIC",
7         actions [Group1] = [
8             SetMods(modifiers=Shift),
9             SetMods(modifiers=Shift+Lock,clearLocks)
10         ]
11     };
12     key <RTSH> {
13         type = "ALPHABETIC",
14         actions [Group1] = [
15             SetMods(modifiers=Shift),
16             SetMods(modifiers=Shift+Lock,clearLocks)
17         ]
18     };
19 };
20
21 // When pressed together with another Shift key, set/release Lock.
22 partial modifier_keys
23 xkb_symbols "lshift_both_capslock" {
24   key <LFSH> {
25     type[Group1]="TWO_LEVEL",
26     symbols[Group1] = [ Shift_L,                  Caps_Lock                ],
27     actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ]
28   };
29 };
30 // When pressed together with another Shift key, set or unset Lock.
31 partial modifier_keys
32 xkb_symbols "rshift_both_capslock" {
33   key <RTSH> {
34     type[Group1]="TWO_LEVEL",
35     symbols[Group1] = [ Shift_R,                  Caps_Lock                ],
36     actions[Group1] = [ SetMods(modifiers=Shift), LockMods(modifiers=Lock) ]
37   };
38 };
39 partial modifier_keys
40 xkb_symbols "both_capslock" {
41   include "shift(lshift_both_capslock)"
42   include "shift(rshift_both_capslock)"
43 };
44
45 // Release Lock when pressed alone and set Lock when pressed with another Shift key.
46 partial modifier_keys
47 xkb_symbols "lshift_both_capslock_cancel" {
48   key <LFSH> {
49     type[Group1]="ALPHABETIC",
50     symbols[Group1] = [ Shift_L,                       Caps_Lock                ]
51   };
52 };
53 // Release Lock when pressed alone and set Lock when pressed with another Shift key.
54 partial modifier_keys
55 xkb_symbols "rshift_both_capslock_cancel" {
56   key <RTSH> {
57     type[Group1]="ALPHABETIC",
58     symbols[Group1] = [ Shift_R,                       Caps_Lock                ]
59   };
60 };
61 partial modifier_keys
62 xkb_symbols "both_capslock_cancel" {
63   include "shift(lshift_both_capslock_cancel)"
64   include "shift(rshift_both_capslock_cancel)"
65 };
66
67
68 // When pressed together with another Shift key, lock/unlock Shift.
69 partial modifier_keys
70 xkb_symbols "lshift_both_shiftlock" {
71   key <LFSH> {
72     type[Group1]="TWO_LEVEL",
73     symbols[Group1] = [ Shift_L,                       Shift_Lock ]
74   };
75 };
76 // When pressed together with another Shift key, lock/unlock Shift.
77 partial modifier_keys
78 xkb_symbols "rshift_both_shiftlock" {
79   key <RTSH> {
80     type[Group1]="TWO_LEVEL",
81     symbols[Group1] = [ Shift_R,                       Shift_Lock ]
82   };
83 };
84 partial modifier_keys
85 xkb_symbols "both_shiftlock" {
86   include "shift(lshift_both_shiftlock)"
87   include "shift(rshift_both_shiftlock)"
88 };