added grp(lctrl_rctrl_switch) xkb option
[xorg/xkeyboard-config] / symbols / nbsp
1 // $XKeyboardConfig$
2 //
3
4 // Let space provide nobreakspace for the desired level.
5
6 partial
7 xkb_symbols "none" {
8   key <SPCE> {
9     type[Group1]="ONE_LEVEL",
10     symbols[Group1]= [ space ]
11   };
12 };
13
14 partial
15 xkb_symbols "level2" {
16   key <SPCE> {
17     type[Group1]="TWO_LEVEL",
18     symbols[Group1]= [ space, nobreakspace ]
19   };
20 };
21
22
23 // level3 & level3ns provide no-breaking spaces starting from level3
24 // This is good for typographers but experience shows many users accidently
25 // type no-breaking spaces on the CLI (resulting in errors)
26 // Used by fr(latin9)
27 partial
28 xkb_symbols "level3" {
29   key <SPCE> {
30     type[Group1]="FOUR_LEVEL",
31     symbols[Group1]= [ space, space, nobreakspace ]
32   };
33 };
34
35 // level3s kills fourth level
36 // Used by ca(multix)
37 partial
38 xkb_symbols "level3s" {
39   key <SPCE> {
40     type[Group1]="FOUR_LEVEL",
41     symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
42   };
43 };
44
45 // level3n provides narrow no-breaking space in addition to the normal one
46 partial
47 xkb_symbols "level3n" {
48   key <SPCE> {
49     type[Group1]="FOUR_LEVEL",
50     symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
51   };
52 };
53
54
55 // for this reason pushing no-breaking spaces to level4 is the safe default nowadays
56 partial
57 xkb_symbols "level4" {
58   key <SPCE> {
59     type[Group1]="FOUR_LEVEL",
60     symbols[Group1]= [ space, space, space, nobreakspace ]
61   };
62 };
63
64 // level4n provides narrow no-breaking space in addition to the normal one
65 partial
66 xkb_symbols "level4n" {
67  key <SPCE> {
68    type[Group1]="EIGHT_LEVEL",
69    symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
70  };
71 };
72
73 // level4nl provides narrow no-breaking space in addition to the normal one
74 // without forcing the use of level5 for mostly four-level layouts
75 // Used by fr(oss), be(oss)…
76 partial
77 xkb_symbols "level4nl" {
78  key <SPCE> {
79    type[Group1]="LOCAL_EIGHT_LEVEL",
80    symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
81  };
82 };
83