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