1default partial alphanumeric_keys
2xkb_symbols "basic" {
3
4    include "latin"
5
6    name[Group1]="Belgian";
7
8    key <AE01>	{ [ ampersand,          1,          bar,   exclamdown ]	};
9    key <AE02>	{ [    eacute,          2,           at,    oneeighth ]	};
10    key <AE03>	{ [  quotedbl,          3,   numbersign,     sterling ]	};
11    key <AE04>	{ [apostrophe,          4,   onequarter,       dollar ]	};
12    key <AE05>	{ [ parenleft,          5,      onehalf, threeeighths ]	};
13    key <AE06>	{ [   section,          6,  asciicircum,  fiveeighths ]	};
14    key <AE07>	{ [    egrave,          7,    braceleft, seveneighths ]	};
15    key <AE08>	{ [    exclam,          8,  bracketleft,    trademark ]	};
16    key <AE09>	{ [  ccedilla,          9,    braceleft,    plusminus ]	};
17    key <AE10>	{ [    agrave,          0,   braceright,       degree ]	};
18    key <AE11>	{ [parenright,     degree,    backslash, questiondown ]	};
19    key <AE12>	{ [     minus, underscore, dead_cedilla,  dead_ogonek ]	};
20
21    key <AD01>	{ [         a,          A,           at,  Greek_OMEGA ]	};
22    key <AD02>	{ [         z,          Z,        U017F,      section ]	};
23    key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};
24    key <AD09>  { [         o,          O,           oe,           OE ] }; // o O œ Œ
25    key <AD11>	{ [dead_circumflex, dead_diaeresis,  bracketleft, dead_abovering ] };
26    key <AD12>	{ [    dollar,   asterisk, bracketright,  dead_macron ]	};
27
28    key <AC01>	{ [         q,          Q,           ae,           AE ]	};
29    key <AC10>	{ [         m,          M,   dead_acute, dead_doubleacute ] };
30    key <AC11>	{ [    ugrave,    percent,   dead_acute,   dead_caron ]	};
31    key <TLDE>	{ [twosuperior, threesuperior,  notsign,      notsign ]	};
32
33    key <BKSL>	{ [        mu,   sterling,   dead_grave,   dead_breve ]	};
34    key <AB01>	{ [         w,          W, guillemotleft,       U2039 ]	};
35    key <AB07>	{ [     comma,   question, dead_cedilla,    masculine ]	};
36    key <AB08>	{ [ semicolon,     period, horizconnector,   multiply ]	};
37    key <AB09>	{ [     colon,      slash, periodcentered,   division ]	};
38    key <AB10>	{ [     equal,       plus,   dead_tilde, dead_abovedot]	};
39    key <LSGT>  { [      less,    greater,    backslash,    backslash ]	};
40
41    include "level3(ralt_switch)"
42};
43
44
45// Variant of the fr(oss) layout for Belgium
46// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net>
47//
48// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
49// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃
50// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃  arrière┃
51// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
52// ┃       ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨  ┃Entrée ┃
53// ┃Tab ↹  ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃   ⏎   ┃
54// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
55// ┃        ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L   │ M Ö │ % Ù │ £ ̄  ┃      ┃
56// ┃Maj ⇬   ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l / │ m ö │ ù ' │ µ ` ┃      ┃
57// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
58// ┃       ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ + − ┃             ┃
59// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧      ┃
60// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
61// ┃       ┃       ┃       ┃ ␣              Espace insécable ⍽ ┃       ┃       ┃       ┃
62// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ Espace                        ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
63// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
64partial alphanumeric_keys
65xkb_symbols "oss" {
66
67    include "fr(oss)"
68    include "be(oss_frbe)"
69
70    name[Group1]="Belgian (alt.)";
71};
72
73partial alphanumeric_keys
74xkb_symbols "oss_frbe" {
75    // First row
76    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,         lessthanequal ] }; // ² ³ ¹ ≤
77    key <AE01>	{ [        ampersand,                1,                  bar,      greaterthanequal ] }; // & 1 | ≥
78    key <AE02>	{ [           eacute,                2,                   at,                Eacute ] }; // é 2 @ É
79    key <AE04>	{ [       apostrophe,                4,         dead_cedilla,             0x1002014 ] }; // ' 4 ¸ — (tiret cadratin)
80    key <AE05>	{ [        parenleft,                5,           dead_caron,             0x1002013 ] }; // ( 5 ˇ – (tiret demi-cadratin)
81    key <AE06>	{ [          section,                6,          asciicircum,             trademark ] }; // § 6 ^ ™
82    key <AE08>	{ [           exclam,                8,           asciitilde,            exclamdown ] }; // ! 8 ~ ¡
83    key <AE09>	{ [         ccedilla,                9,            braceleft,              Ccedilla ] }; // ç 9 { Ç
84    key <AE10>	{ [           agrave,                0,           braceright,                Agrave ] }; // à 0 } À
85    key <AE11>	{ [       parenright,           degree,               oslash,              Ooblique ] }; // ) ° ø Ø
86    key <AE12>	{ [            minus,       underscore,            0x1002011,             plusminus ] }; // - _ - (tiret insécable) ±
87
88    // Second row
89    key <AD11>	{ [  dead_circumflex,   dead_diaeresis,          bracketleft,        dead_abovering ] }; // ^ ̈  [ ˚
90    key <AD12>	{ [           dollar,         asterisk,         bracketright,           dead_ogonek ] }; // $ * ] ̨
91
92    // Third row
93    key <AC09>  { [                l,                L,          dead_stroke ] };
94    key <BKSL>	{ [              mu,          sterling,           dead_grave,           dead_macron ] }; // µ £ ` ̄
95
96    // Fourth row
97    key <LSGT>  { [             less,          greater,            backslash,              notequal ] }; // < > \ ≠
98    key <AB10>  { [            equal,             plus,           dead_tilde,             0x1002212 ] }; // = + ~ −
99};
100
101
102partial alphanumeric_keys
103xkb_symbols "oss_latin9" {
104
105    // Restricts the be(oss) layout to latin9 symbols
106
107    include "fr(oss_latin9)"
108    include "be(oss_frbe)"
109    include "keypad(oss_latin9)"
110
111    name[Group1]="Belgian (Latin-9 only, alt.)";
112
113    // First row
114    key <TLDE>	{ [      twosuperior,    threesuperior,          onesuperior,                  less ] }; // ² ³ ¹ <
115    key <AE01>	{ [        ampersand,                1,                  bar,               greater ] }; // & 1 | >
116    key <AE04>	{ [       apostrophe,                4,         dead_cedilla,                 minus ] }; // ' 4 ¸ -
117    key <AE05>	{ [        parenleft,                5,           dead_caron,                 minus ] }; // ( 5 ˇ -
118    key <AE06>	{ [          section,                6,          asciicircum,           asciicircum ] }; // § 6 ^ ^
119    key <AE12>	{ [            minus,       underscore,                minus,             plusminus ] }; // - _ - ±
120
121    // Second row
122    key <AD12>	{ [           dollar,         asterisk,         bracketright,          dead_cedilla ] }; // $ * ] ¸
123
124    // Third row
125    key <AC09>  { [                l,                L,                    l,                     L ] }; // l L l L
126    key <BKSL>	{ [              mu,          sterling,           dead_grave,       dead_circumflex ] }; // µ £ ` ^
127
128    // Fourth row
129    key <LSGT>  { [             less,          greater,            backslash,                 equal ] }; // < > \ =
130    key <AB10>  { [            equal,             plus,           dead_tilde,                 minus ] }; // = + ~ -
131};
132
133
134partial alphanumeric_keys
135xkb_symbols "iso-alternate" {
136    include "be(basic)"
137    name[Group1]="Belgian (ISO, alt.)";
138
139    key <AD01>	{ [         a,          A,           ae,           AE ]	};
140    key <AD02>	{ [         z,          Z, guillemotleft,       U2039 ]	};
141    key <AC01>	{ [         q,          Q,           at,  Greek_OMEGA ]	};
142    key <AC10>	{ [         m,          M,           mu,    masculine ]	};
143    key <AB01>	{ [         w,          W,      lstroke,      Lstroke ]	};
144    key <AB07>	{ [ comma,   question, dead_cedilla, dead_doubleacute ]	};
145};
146
147partial alphanumeric_keys
148xkb_symbols "nodeadkeys" {
149
150    // Eliminates dead keys from the basic Belgian layout
151
152    include "be(basic)"
153    name[Group1]="Belgian (no dead keys)";
154
155    key <AE12>	{ [     minus, underscore,      cedilla,       ogonek ]	};
156    key <AD11>	{ [asciicircum,  diaeresis,  bracketleft,  bracketleft]	};
157    key <AD12>	{ [    dollar,   asterisk, bracketright,       macron ]	};
158    key <AC10>	{ [         m,          M,        acute,  doubleacute ]	};
159    key <AC11>	{ [    ugrave,    percent,   apostrophe,   apostrophe ]	};
160    key <BKSL>	{ [        mu,   sterling,        grave,        grave ]	};
161    key <AB07>	{ [     comma,   question,      cedilla,    masculine ]	};
162    key <AB10>	{ [     equal,       plus,   asciitilde,   asciitilde ]	};
163};
164
165// Wang model 724 azerty Belgium keyboard
166partial alphanumeric_keys
167xkb_symbols "wang" {
168
169    include "be(basic)"
170    include "keypad(legacy_wang)"
171    name[Group1]="Belgian (Wang 724 AZERTY)";
172
173    // Engravings on Wang 725-3771-ae
174    key <TLDE> { [ twosuperior, threesuperior,   notsign, asciitilde ] };
175    key <LSGT> { [        less,       greater, backslash,  brokenbar ] };
176};
177
178// EXTRAS:
179
180partial alphanumeric_keys
181	xkb_symbols "sun_type6" {
182	include "sun_vndr/be(sun_type6)"
183};
184