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