The group name for it(us) fixed
[xorg/xkeyboard-config] / symbols / cm
1 // ========== Cameroon Keyboards ==========
2 // ****** For Instructions, see "Use of Cameroon Keyboards" section     below ******
3
4
5 // The XKB versions of these keyboards were developed by Matthew Lee, Jenni Beadle, and Bruce Cox of SIL Cameroon in association with Going Komputya, Uwe Yung of the Goethe Institute, Yaoundé, and Centre ANACLAC.  
6
7 // Cameroon is officially a bilingual country, using French and English, but there are over 270 minority languages.  
8
9 // * Cameroon Français is an exact copy of the French France keyboard intended for AZERTY users.
10 // * Cameroon is an exact copy of the Basic US Keyboard. I can not currently name this "Cameroon English" due to a limitation of XKB.
11 // * Cameroon QWERTY and Cameroon AZERTY are based largely on SIL Cameroon's Keyman and Microsoft keyboards of the same style already in wide use.  These keyboards are designed to allow the user to type any of Cameroon's 270+ languages and dialects that use the approved orthography.  This Approved Orthography was adopted in 1979 by the National Committee for the Unification and Harmonisation of Alphabets of Camerooninan Languages. 
12 // * Cameroon Dvorak is described below.
13
14 // ===== Use of Cameroon Keyboards =====
15
16 // == Fonts ==
17 // These keyboards are fully Unicode (5.1), so we recommend using a good unicode font for diacritics to position correctly. Recommended fonts are: ttf-sil-charis, ttf-sil-doulos, ttf-sil-gentium and ttf-sil-andika (All of which are free for Linux, Mac, and Windows).
18
19
20 // == Cameroon AZERTY ==
21 // Cameroon AZERTY uses the French France (AZERTY) layout, as french keyboards are widely used here. While this keyboard is designed for Cameroonian orthography, it still is possible but not recommended, to type French with minimal discomfort using this keyboard.
22 // Cameroon AZERTY uses the "!" (exclamation) key as the "Cameroon" key. Pressing this key before another key allows you to access the special letters and diacritics needed in Cameroonian orthography.
23 // For example, press "!" then "a" and get "ɛ" (small epsilon). "!" then "Shift" + "a" (A) will get an "Ɛ" (capital epsilon). Press the "!" key twice to get a "!".
24 // If you prefer, you can hold the AltGr (and/or Shift) key to access the same letters, but we have found this to be much more awkward in practice. If you really don't like our Cameroon key, simply comment out "include "cm(exclamation_switch)"" and the exclamation key will return to normal.
25 // All Diacritics (with the exception of French Trema and Circumflex) must be typed (in order of stacking) after the letter.
26
27
28 // == Cameroon QWERTY ==
29 // Cameroon QWERTY uses the US QWERTY layout, as US keyboards are also widely used here. While this keyboard is designed for Cameroonian orthography, it is possible, but not recommended, to type English with minimal discomfort using this keyboard.
30 // Cameroon QWERTY uses the ";" (semicolon) key as the "Cameroon" key.  Pressing this key before another key allows you to access the special letters and diacritics needed in Cameroonian orthography.
31 // For example, press ";" then "a" and get "ɛ" (small epsilon). ";" then "Shift" + "a" (A) will get an "Ɛ" (capital epsilon). Press ";" twice to get a ";", or press Shift + ; (:) twice to get a ":" (colon).
32 // If you prefer, you can hold the AltGr (and/or Shift) key to access the same letters, but we have found this to be much more awkward in practice. If you really don't like our Cameroon key, simply comment out "include "cm(semicolon_switch)"" and the semicolon key will return to normal.
33 // All Diacritics must be typed (in order of stacking) after the letter.
34
35
36 // == Cameroon Dvorak ==
37 // Cameroon Dvorak is uses a similar system to Cameroon QWERTY.
38
39 default
40 partial alphanumeric_keys
41 xkb_symbols "basic" {
42
43         name[Group1]="English (Cameroon)";
44
45         // Alphanumeric section
46         key <TLDE> { [ grave, asciitilde ] };
47         key <AE01> { [ 1, exclam ] };
48         key <AE02> { [ 2, at ] };
49         key <AE03> { [ 3, numbersign ] };
50         key <AE04> { [ 4, dollar ] };
51         key <AE05> { [ 5, percent ] };
52         key <AE06> { [ 6, asciicircum ] };
53         key <AE07> { [ 7, ampersand ] };
54         key <AE08> { [ 8, asterisk ] };
55         key <AE09> { [ 9, parenleft ] };
56         key <AE10> { [ 0, parenright ] };
57         key <AE11> { [ minus, underscore ] };
58         key <AE12> { [ equal, plus ] };
59
60         key <AD01> { [ q, Q ] };
61         key <AD02> { [ w, W ] };
62         key <AD03> { [ e, E ] };
63         key <AD04> { [ r, R ] };
64         key <AD05> { [ t, T ] };
65         key <AD06> { [ y, Y ] };
66         key <AD07> { [ u, U ] };
67         key <AD08> { [ i, I ] };
68         key <AD09> { [ o, O ] };
69         key <AD10> { [ p, P ] };
70         key <AD11> { [ bracketleft, braceleft ] };
71         key <AD12> { [ bracketright, braceright ] };
72         key <AC01> { [ a, A ] };
73         key <AC02> { [ s, S ] };
74         key <AC03> { [ d, D ] };
75         key <AC04> { [ f, F ] };
76         key <AC05> { [ g, G ] };
77         key <AC06> { [ h, H ] };
78         key <AC07> { [ j, J ] };
79         key <AC08> { [ k, K ] };
80         key <AC09> { [ l, L ] };
81         key <AC10> { [ semicolon, colon ] };
82         key <AC11> { [ apostrophe, quotedbl ] };
83
84         key <AB01> { [ z, Z ] };
85         key <AB02> { [ x, X ] };
86         key <AB03> { [ c, C ] };
87         key <AB04> { [ v, V ] };
88         key <AB05> { [ b, B ] };
89         key <AB06> { [ n, N ] };
90         key <AB07> { [ m, M ] };
91         key <AB08> { [ comma, less ] };
92         key <AB09> { [ period, greater ] };
93         key <AB10> { [ slash, U003F ] };
94
95         key <BKSL> { [ backslash, bar ] };
96         // End alphanumeric section
97 };
98
99 partial alphanumeric_keys
100 xkb_symbols "french"
101 {
102         name[Group1]="French (Cameroon)";
103         include "latin"
104
105         key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
106         key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
107         key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
108         key <AE04> { [apostrophe, 4, braceleft, dollar ] };
109         key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
110         key <AE06> { [ minus, 6, bar, fiveeighths ] };
111         key <AE07> { [ egrave, 7, grave, seveneighths ] };
112         key <AE08> { [underscore, 8, backslash, trademark ] };
113         key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
114         key <AE10> { [ agrave, 0, at, degree ] };
115         key <AE11> { [parenright, degree, bracketright, questiondown ] };
116         key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
117
118         key <AD01> { [ a, A, ae, AE ] };
119         key <AD02> { [ z, Z, guillemotleft, less ] };
120         key <AD03> { [ e, E, EuroSign, cent ] };
121         key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
122         key <AD12> { [ dollar, sterling, currency, dead_macron ] };
123
124         key <AC01> { [ q, Q, at, Greek_OMEGA ] };
125         key <AC10> { [ m, M, mu, masculine ] };
126         key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
127         key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
128
129         key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
130         key <AB01> { [ w, W, lstroke, Lstroke ] };
131         key <AB07> { [ comma, U003F, dead_acute, dead_doubleacute ] };
132         key <AB08> { [ semicolon, period, horizconnector, multiply ] };
133         key <AB09> { [ colon, slash, periodcentered, division ] };
134         key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
135
136         include "level3(ralt_switch)"
137 };
138
139
140 partial alphanumeric_keys
141 xkb_symbols "azerty"
142 {
143         name[Group1] = "Cameroon Multilingual (azerty)";
144         include "level3(ralt_switch)"
145         include "cm(basic)"
146         key <AB01> { [ w, W, U1E85, U1E84 ] };  //  SMALL LETTER W,  CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
147         key <AB02> { [ x, X, U2039, U203A ] };  // SMALL LETTER X, CAPITAL LETTER X, SINGLE LEFT-POINTING ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
148         key <AB03> { [ c, C, U0327, copyright ] };      // SMALL LETTER C, CAPITAL LETTER C, COMBINING CEDILLA, COPYRIGHT SIGN
149         key <AB04> { [ v, V, UA78C, UA78B ] };  // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
150         key <AB05> { [ b, B, U0253, U0181 ] };  // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
151         key <AB06> { [ n, N, U014B, U014A ] };  // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
152         key <AB07> { [ U002C, U003F, NoSymbol, U00D7 ] };       // COMMA, QUESTION MARK, , MULTIPLY
153         key <AB08> { [ semicolon, period, dead_acute, dead_grave ] };   // SEMICOLON, PERIOD
154         key <AB09> { [ colon, slash, U0323 ] }; // COLON, SLASH, COMBINING DOT BELOW
155         key <AB10> { [ exclam, U00A7 ] };       // EXCLAMATION MARK, SECTION SIGN
156         key <AC01> { [ q, Q, U2014, U2013 ] };  // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
157         key <AC02> { [ s, S, U201C, U201D ] };  // SMALL LETTER S, CAPITAL LETTER S, LEFT DOUBLE QUOTES, RIGHT DOUBLE QUOTES 
158         key <AC03> { [ d, D, U0257, U018A ] };  // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
159         key <AC04> { [ f, F, U00E6, U00C6 ] };  // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
160         key <AC05> { [ g, G, U02BC, UA78B ] };  // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
161         key <AC06> { [ h, H, U03B1, U2C6D ] };  // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
162         key <AC07> { [ j, J, leftarrow, U2122 ] };      //SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN
163         key <AC08> { [ k, K, downarrow, uparrow ] };    // SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW
164         key <AC09> { [ l, L, rightarrow, U00A3 ] };     // SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING
165         key <AC10> { [ m, M, U00F9, U00B5 ] };  // SMALL LETTER M, CAPITAL LETTER M, SMALL LETTER U WITH GRAVE, MICRO SYMBOL
166         key <AC11> { [ U0300, U0302, U1DC5, U1DC4 ] };  // COMBINING LOW TONE, COMBINING FALLING TONE, COMBINING LOW-MID TONE, COMBINING MID-HIGH TONE
167         key <AD01> { [ a, A, U025B, U0190 ] };  // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
168         key <AD02> { [ z, Z, U2026, U2020 ] };  // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
169         key <AD03> { [ e, E, U0259, U018F ] };  // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
170         key <AD04> { [ r, R, U25CC, U00AE ] };  // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
171         key <AD05> { [ t, T, U0153, U0152 ] };  // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
172         key <AD06> { [ y, Y, U01B4, U01B3 ] };  // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
173         key <AD07> { [ u, U, U0289, U0244 ] };  // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
174         key <AD08> { [ i, I, U0268, U0197 ] };  // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
175         key <AD09> { [ o, O, U0254, U0186 ] };  // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
176         key <AD10> { [ p, P, U00F8, U00D8 ] };  // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
177         key <AD11> { [ U0301, U030C, dead_circumflex, dead_diaeresis ] };       // COMBINING HIGH TONE, COMBINING RISING TONE, DEAD CIRCUMFLEX, DEAD DIAERESIS
178         key <AD12> { [ U0330, U0303, U0304, U030D ] };  // COMBINING TILDE (NASAL) BELOW, COMBINING TILDE (NASAL), COMBINING MID TONE, COMBINING VERTICAL LINE ABOVE
179         key <AE01> { [ U0026, KP_1, U00B9, U2018 ] };   // AMPERSAND, 1, SUPERSCRIPT 1, LEFT SINGLE QUOTE
180         key <AE02> { [ eacute, KP_2, asciitilde, U2019 ] };     // SMALL LETTER E WITH ACUTE, 2, TILDE, RIGHT SINGLE QUOTE
181         key <AE03> { [ U0022, KP_3, U0025 ] };  // QUOTATION MARK, 3, PERCENT SIGN
182         key <AE04> { [ U0027, KP_4, U007B ] };  // APOSTROPHE, 4, LEFT CURLY BRACKET
183         key <AE05> { [ U0028, KP_5, U005B, numbersign ] };      // LEFT PARENTHESIS, 5, LEFT SQUARE BRACKET, NUMBER SIGN
184         key <AE06> { [ U002D, KP_6, U007C ] };  // HYPHEN/MINUS, 6, BAR
185         key <AE07> { [ U00E8, KP_7, U0300 ] };  // SMALL LETTER E WITH GRAVE, 7, COMBINING GRAVE
186         key <AE08> { [ underscore, KP_8, backslash, U20D6 ] };  // UNDERSCORE, 8, BACKSLASH, COMBINING LEFT ARROW ABOVE
187         key <AE09> { [ ccedilla, KP_9, U005E] };        // SMALL LETTER C WITH CEDILLA, 9, CIRCUMFLEX
188         key <AE10> { [ U00E0, KP_0, at, U20D7 ] };      // SMALL LETTER A WITH GRAVE
189         key <AE11> { [ U0029, U00B0, U005D ] }; // RIGHT PARENTHESIS, DEGREE, RIGHT SQUARE BRACKET
190         key <AE12> { [ U003D, U002B, U007D, U00B1 ] };  // EQUAL SIGN, PLUS SIGN, RIGHT CURLY BRACKET, PLUS-MINUS SIGN
191         key <BKSL> { [ U1DC6, U1DC7, KP_Multiply, U00A4 ] };    //  COMBINING MID-LOW, COMBINING HIGH-MID, MULTIPLY, CURRENCY SIGN
192         key <LSGT> { [ U003C, U003E, U00AB, U00BB ] };  // LESS THAN, GREATER THAN, LEFT GUILLEMET, RIGHT GUILLEMET
193         key <TLDE> { [ U0024, U20AC, U00B2, U00B3 ] };  // DOLLAR, EURO, SUPERSCRIPT 2, SUPERSCRIPT 3
194         include "cm(exclamation_switch)"
195 };
196
197 partial alphanumeric_keys
198 xkb_symbols "qwerty"
199 {
200         name[Group1] = "Cameroon Multilingual (qwerty)";
201         include "level3(ralt_switch)"
202         include "cm(basic)"
203         key <AB01> { [ z, Z, U2026, U2020 ] };  // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
204         key <AB02> { [ x, X ] };        // SMALL LETTER X, CAPITAL LETTER X
205         key <AB03> { [ c, C, U0327, U00A9 ] };  // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
206         key <AB04> { [ v, V, UA78C, UA78B ] };  // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
207         key <AB05> { [ b, B, U0253, U0181 ] };  // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
208         key <AB06> { [ n, N, U014B, U014A ] };  // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
209         key <AB07> { [ m, M, NoSymbol, U2122 ] };       // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
210         key <AB08> { [ U002C, U003C, U2039, U00AB ] };  // COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
211         key <AB09> { [ U002E, U003E, U203A, U00BB ] };    // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
212         key <AB10> { [ U002F, U003F, U00F7 ] };    // SLASH, QUESTION MARK, DIVISION SIGN
213         key <AC01> { [ a, A, U025B, U0190 ] };  // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
214         key <AC02> { [ s, S ] };        // SMALL LETTER S, CAPITAL LETTER S
215         key <AC03> { [ d, D, U0257, U018A ] };  // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
216         key <AC04> { [ f, F, U00E6, U00C6 ] };  // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
217         key <AC05> { [ g, G, U02BC, UA78B ] };  // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
218         key <AC06> { [ h, H, U03B1, U2C6D ] };  // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
219         key <AC07> { [ j, J, U0330, U0323 ] };  // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
220         key <AC08> { [ k, K, U1DC5, U1DC7 ] };  // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
221         key <AC09> { [ l, L, U1DC6, U1DC4 ] };  // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
222         key <AC10> { [ U003B, U003A ] };        // SEMICOLON, COLON
223         key <AC11> { [ U0300, U0302, U0027, U0022 ] };  // COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
224         key <AD01> { [ q, Q, U2014, U2013 ] };  // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
225         key <AD02> { [ w, W, U1E85, U1E84 ] };  // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
226         key <AD03> { [ e, E, U0259, U018F ] };  // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
227         key <AD04> { [ r, R, U25CC, U00AE ] };  // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
228         key <AD05> { [ t, T, U0153, U0152 ] };  // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
229         key <AD06> { [ y, Y, U01B4, U01B3 ] };  // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
230         key <AD07> { [ u, U, U0289, U0244 ] };  // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
231         key <AD08> { [ i, I, U0268, U0197 ] };  // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
232         key <AD09> { [ o, O, U0254, U0186 ] };  // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
233         key <AD10> { [ p, P, U00F8, U00D8 ] };  // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
234         key <AD11> { [ U0301, U030C, U005B, U007B ] };  // COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
235         key <AD12> { [ U0327, U0308, U005D, U007D ] };  // COMBINING CEDILLA, COMBINING DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
236         key <AE01> { [ U0031, U0021, U00BC ] }; // 1, EXCLAMATION POINT, ONE QUARTER
237         key <AE02> { [ U0032, U0040, U00BD ] }; //2, AT SYMBOL, ONE HALF
238         key <AE03> { [ U0033, U0023, U00BE ] }; // 3, NUMBER SIGN, THREE QUARTERS
239         key <AE04> { [ U0034, U0024, NoSymbol, U20AC ] };       // 4, DOLLAR, , EURO SIGN
240         key <AE08> { [ U0038, U002A, NoSymbol, U00D7 ] };       // 8, ASTERISK, , MATH MULTIPLY
241         key <AE09> { [ U0039, U0028, U2018, U201C ] };  // 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
242         key <AE10> { [ U0030, U0029, U2019, U201D ] };  // 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
243         key <AE11> { [ U002D, U005F, U0304 ] }; // MINUS, UNDERSCORE, COMBINING MID TONE, COMBINING MID TONE
244         key <AE12> { [ U003D, U002B, NoSymbol, U00B1 ] };       // EQUAL, PLUS, , PLUS-MINUS
245         key <BKSL> { [ U005C, U007C ] };        // BACKSLASH, BAR
246         key <TLDE> { [ U030D, U0303, U0060, U007E ] };  // COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
247         include "cm(semicolon_switch)"
248 };
249
250
251 partial alphanumeric_keys
252 xkb_symbols "dvorak"
253 {
254         name[Group1] = "Cameroon Multilingual (Dvorak)";
255         include "level3(ralt_switch)"
256         include "us(dvorak)"
257         key <AB01> { [ semicolon, colon ] };    // SEMICOLON, COLON
258         key <AB02> { [ q, Q, U2014, U2013 ] };  // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
259         key <AB03> { [ j, J, U0330, U0323 ] };  // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
260         key <AB04> { [ k, K, U1DC5, U1DC7 ] };  // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
261         key <AB05> { [ x, X ] };        // SMALL LETTER X, CAPITAL LETTER X
262         key <AB06> { [ b, B, U0253, U0181 ] };  // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
263         key <AB07> { [ m, M, NoSymbol, U2122 ] };       // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
264         key <AB08> { [ w, W, U1E85, U1E84 ] };  // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
265         key <AB09> { [ v, V, UA78C, UA78B ] };  // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
266         key <AB10> { [ z, Z, U2026, U2020 ] };  // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
267         key <AC01> { [ a, A, U025B, U0190 ] };  // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
268         key <AC02> { [ o, O, U0254, U0186 ] };  // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
269         key <AC03> { [ e, E, U0259, U018F ] };  // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
270         key <AC04> { [ u, U, U0289, U0244 ] };  // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
271         key <AC05> { [ i, I, U0268, U0197 ] };  // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
272         key <AC06> { [ d, D, U0257, U018A ] };  // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
273         key <AC07> { [ h, H, U03B1, U2C6D ] };  // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
274         key <AC08> { [ t, T, U0153, U0152 ] };  // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
275         key <AC09> { [ n, N, U014B, U014A ] };  // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
276         key <AC10> { [ s, S ] };        // SMALL LETTER S, CAPITAL LETTER S
277         key <AC11> { [ minus, underscore, U0304 ] };    // MINUS, UNDERSCORE, COMBINING MID TONE
278         key <AD01> { [ U0300, U0302, U0027, U0022 ] };  // COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
279         key <AD02> { [ comma, less, U2039, U00AB ] };   // COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
280         key <AD03> { [ period, greater, U203A, U00BB ] };       // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
281         key <AD04> { [ p, P, U00F8, U00D8 ] };  // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
282         key <AD05> { [ y, Y, U01B4, U01B3 ] };  // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
283         key <AD06> { [ f, F, U00E6, U00C6 ] };  // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
284         key <AD07> { [ g, G, U02BC, UA78B ] };  // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
285         key <AD08> { [ c, C, U0327, U00A9 ] };  // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
286         key <AD09> { [ r, R, U25CC, U00AE ] };  // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
287         key <AD10> { [ l, L, U1DC6, U1DC4 ] };  // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
288         key <AD11> { [ slash, U003F, U00F7, U0294 ] };  // SLASH, QUESTION MARK, DIVISION SIGN, GLOTTAL STOP
289         key <AD12> { [ equal, plus, NoSymbol, plusminus ] };    // EQUAL, PLUS, , PLUS-MINUS
290         key <AE01> { [ KP_1, exclam, U00BC ] }; // 1, EXCLAMATION POINT, ONE QUARTER
291         key <AE02> { [ KP_2, at, U00BD ] };     // 2, AT SYMBOL, ONE HALF
292         key <AE03> { [ KP_3, numbersign, U00BE ] };     // 3, NUMBER SIGN, THREE QUARTERS
293         key <AE04> { [ KP_4, dollar, NoSymbol, U20AC ] };       // 4, DOLLAR, , EURO SIGN
294         key <AE05> { [ KP_5, percent ] };       // 5, PERCENT
295         key <AE06> { [ KP_6, asciicircum ] };   // 6, CARET
296         key <AE07> { [ KP_7, ampersand ] };     // 7, AMPERSAND
297         key <AE08> { [ KP_8, asterisk, NoSymbol, multiply ] };  // 8, ASTERISK, , MULTIPLY
298         key <AE09> { [ KP_9, parenleft, leftsinglequotemark, leftdoublequotemark ] };   // 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
299         key <AE10> { [ KP_0, parenright, rightsinglequotemark, rightdoublequotemark ] };        // 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
300         key <AE11> { [ U0301, U030C, U005B, U007B ] };  // COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
301         key <AE12> { [ U0327, dead_diaeresis, U005D, braceright ] };    // COMBINING CEDILLA, DEAD DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
302         key <BKSL> { [ backslash, bar ] };      // BACKSLASH, BAR
303         key <TLDE> { [ U030D, U0303, U0060, U007E ] };  // COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
304         include "cm(semicolon_switch_dvorak)"
305 };
306
307 // The following code creates the "Cameroon key" phenomenon.
308
309 partial modifier_keys
310 xkb_symbols "semicolon_switch" {
311         key <AC10> {
312         symbols[Group1] = [ ISO_Level3_Latch,   colon,  semicolon,      colon ]};
313         modifier_map Mod5       { ISO_Level3_Latch };
314 };
315
316 partial modifier_keys
317 xkb_symbols "exclamation_switch" {
318         key <AB10> {
319         symbols[Group1] = [ ISO_Level3_Latch,   U00A7,  exclam, U00A7 ]
320         };
321         modifier_map Mod5       { ISO_Level3_Latch };
322 };
323
324 partial modifier_keys
325 xkb_symbols "semicolon_switch_dvorak" {
326         key <AB01> {
327         symbols[Group1] = [ ISO_Level3_Latch,   colon,  semicolon,      colon ]
328         };
329 modifier_map Mod5       { ISO_Level3_Latch };
330 };
331