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