Home | History | Annotate | Line # | Download | only in symbols
cm revision 1.1.1.10
      1       1.1  mrg // ========== Cameroon Keyboards ==========
      2   1.1.1.6  snj 
      3   1.1.1.6  snj 
      4   1.1.1.6  snj // ----------------------------------------------------------------------------
      5   1.1.1.6  snj // This comment was added by <fotang at mmuock dot org>, on 18-Jun-2016:
      6   1.1.1.6  snj //  
      7   1.1.1.6  snj // All comments below this one, were in the original cm file;they do not
      8   1.1.1.6  snj // apply to the Mmuock keyboard which is defined towards the end of this file.
      9   1.1.1.6  snj // ----------------------------------------------------------------------------
     10   1.1.1.6  snj 
     11       1.1  mrg // ****** For Instructions, see "Use of Cameroon Keyboards" section	below ******
     12       1.1  mrg 
     13       1.1  mrg 
     14       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.  
     15       1.1  mrg 
     16       1.1  mrg // Cameroon is officially a bilingual country, using French and English, but there are over 270 minority languages.  
     17       1.1  mrg 
     18       1.1  mrg // * Cameroon Franais is an exact copy of the French France keyboard intended for AZERTY users.
     19       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.
     20       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. 
     21       1.1  mrg // * Cameroon Dvorak is described below.
     22       1.1  mrg 
     23       1.1  mrg // ===== Use of Cameroon Keyboards =====
     24       1.1  mrg 
     25       1.1  mrg // == Fonts ==
     26       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).
     27       1.1  mrg 
     28       1.1  mrg 
     29       1.1  mrg // == Cameroon AZERTY ==
     30       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.
     31       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.
     32       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 "!".
     33       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.
     34       1.1  mrg // All Diacritics (with the exception of French Trema and Circumflex) must be typed (in order of stacking) after the letter.
     35       1.1  mrg 
     36       1.1  mrg 
     37       1.1  mrg // == Cameroon QWERTY ==
     38       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.
     39       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.
     40       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).
     41       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.
     42       1.1  mrg // All Diacritics must be typed (in order of stacking) after the letter.
     43       1.1  mrg 
     44       1.1  mrg 
     45       1.1  mrg // == Cameroon Dvorak ==
     46       1.1  mrg // Cameroon Dvorak is uses a similar system to Cameroon QWERTY.
     47       1.1  mrg 
     48   1.1.1.8  mrg default partial alphanumeric_keys
     49       1.1  mrg xkb_symbols "basic" {
     50       1.1  mrg 
     51       1.1  mrg 	name[Group1]="English (Cameroon)";
     52       1.1  mrg 
     53       1.1  mrg 	key <TLDE> { [ grave, asciitilde ] };
     54       1.1  mrg 	key <AE01> { [ 1, exclam ] };
     55       1.1  mrg 	key <AE02> { [ 2, at ] };
     56       1.1  mrg 	key <AE03> { [ 3, numbersign ] };
     57       1.1  mrg 	key <AE04> { [ 4, dollar ] };
     58       1.1  mrg 	key <AE05> { [ 5, percent ] };
     59       1.1  mrg 	key <AE06> { [ 6, asciicircum ] };
     60       1.1  mrg 	key <AE07> { [ 7, ampersand ] };
     61       1.1  mrg 	key <AE08> { [ 8, asterisk ] };
     62       1.1  mrg 	key <AE09> { [ 9, parenleft ] };
     63       1.1  mrg 	key <AE10> { [ 0, parenright ] };
     64       1.1  mrg 	key <AE11> { [ minus, underscore ] };
     65       1.1  mrg 	key <AE12> { [ equal, plus ] };
     66       1.1  mrg 
     67       1.1  mrg 	key <AD01> { [ q, Q ] };
     68       1.1  mrg 	key <AD02> { [ w, W ] };
     69       1.1  mrg 	key <AD03> { [ e, E ] };
     70       1.1  mrg 	key <AD04> { [ r, R ] };
     71       1.1  mrg 	key <AD05> { [ t, T ] };
     72       1.1  mrg 	key <AD06> { [ y, Y ] };
     73       1.1  mrg 	key <AD07> { [ u, U ] };
     74       1.1  mrg 	key <AD08> { [ i, I ] };
     75       1.1  mrg 	key <AD09> { [ o, O ] };
     76       1.1  mrg 	key <AD10> { [ p, P ] };
     77       1.1  mrg 	key <AD11> { [ bracketleft, braceleft ] };
     78       1.1  mrg 	key <AD12> { [ bracketright, braceright ] };
     79       1.1  mrg 	key <AC01> { [ a, A ] };
     80       1.1  mrg 	key <AC02> { [ s, S ] };
     81       1.1  mrg 	key <AC03> { [ d, D ] };
     82       1.1  mrg 	key <AC04> { [ f, F ] };
     83       1.1  mrg 	key <AC05> { [ g, G ] };
     84       1.1  mrg 	key <AC06> { [ h, H ] };
     85       1.1  mrg 	key <AC07> { [ j, J ] };
     86       1.1  mrg 	key <AC08> { [ k, K ] };
     87       1.1  mrg 	key <AC09> { [ l, L ] };
     88       1.1  mrg 	key <AC10> { [ semicolon, colon ] };
     89       1.1  mrg 	key <AC11> { [ apostrophe, quotedbl ] };
     90       1.1  mrg 
     91       1.1  mrg 	key <AB01> { [ z, Z ] };
     92       1.1  mrg 	key <AB02> { [ x, X ] };
     93       1.1  mrg 	key <AB03> { [ c, C ] };
     94       1.1  mrg 	key <AB04> { [ v, V ] };
     95       1.1  mrg 	key <AB05> { [ b, B ] };
     96       1.1  mrg 	key <AB06> { [ n, N ] };
     97       1.1  mrg 	key <AB07> { [ m, M ] };
     98       1.1  mrg 	key <AB08> { [ comma, less ] };
     99       1.1  mrg 	key <AB09> { [ period, greater ] };
    100       1.1  mrg 	key <AB10> { [ slash, U003F ] };
    101       1.1  mrg 
    102       1.1  mrg 	key <BKSL> { [ backslash, bar ] };
    103       1.1  mrg };
    104       1.1  mrg 
    105       1.1  mrg partial alphanumeric_keys
    106       1.1  mrg xkb_symbols "french"
    107       1.1  mrg {
    108       1.1  mrg 	include "latin"
    109   1.1.1.4  mrg 	name[Group1]="French (Cameroon)";
    110       1.1  mrg 
    111  1.1.1.10  mrg 	key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
    112       1.1  mrg 	key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
    113       1.1  mrg 	key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
    114       1.1  mrg 	key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
    115       1.1  mrg 	key <AE04> { [apostrophe, 4, braceleft, dollar ] };
    116       1.1  mrg 	key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
    117       1.1  mrg 	key <AE06> { [ minus, 6, bar, fiveeighths ] };
    118       1.1  mrg 	key <AE07> { [ egrave, 7, grave, seveneighths ] };
    119       1.1  mrg 	key <AE08> { [underscore, 8, backslash, trademark ] };
    120       1.1  mrg 	key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
    121       1.1  mrg 	key <AE10> { [ agrave, 0, at, degree ] };
    122       1.1  mrg 	key <AE11> { [parenright, degree, bracketright, questiondown ] };
    123       1.1  mrg 	key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
    124       1.1  mrg 
    125       1.1  mrg 	key <AD01> { [ a, A, ae, AE ] };
    126       1.1  mrg 	key <AD02> { [ z, Z, guillemotleft, less ] };
    127       1.1  mrg 	key <AD03> { [ e, E, EuroSign, cent ] };
    128       1.1  mrg 	key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
    129       1.1  mrg 	key <AD12> { [ dollar, sterling, currency, dead_macron ] };
    130       1.1  mrg 
    131       1.1  mrg 	key <AC01> { [ q, Q, at, Greek_OMEGA ] };
    132       1.1  mrg 	key <AC10> { [ m, M, mu, masculine ] };
    133       1.1  mrg 	key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
    134       1.1  mrg 	key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
    135  1.1.1.10  mrg 
    136       1.1  mrg 	key <AB01> { [ w, W, lstroke, Lstroke ] };
    137       1.1  mrg 	key <AB07> { [ comma, U003F, dead_acute, dead_doubleacute ] };
    138  1.1.1.10  mrg 	key <AB08> { [ semicolon, period, U2022, multiply ] }; // bullet
    139       1.1  mrg 	key <AB09> { [ colon, slash, periodcentered, division ] };
    140       1.1  mrg 	key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
    141       1.1  mrg 
    142       1.1  mrg 	include "level3(ralt_switch)"
    143       1.1  mrg };
    144       1.1  mrg 
    145       1.1  mrg partial alphanumeric_keys
    146       1.1  mrg xkb_symbols "azerty"
    147       1.1  mrg {
    148       1.1  mrg 	include "cm(basic)"
    149   1.1.1.8  mrg 	name[Group1] = "Cameroon (AZERTY, intl.)";
    150       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
    151       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
    152       1.1  mrg 	key <AB03> { [ c, C, U0327, copyright ] };	// SMALL LETTER C, CAPITAL LETTER C, COMBINING CEDILLA, COPYRIGHT SIGN
    153   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)
    154       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
    155       1.1  mrg 	key <AB06> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
    156       1.1  mrg 	key <AB07> { [ U002C, U003F, NoSymbol, U00D7 ] };	// COMMA, QUESTION MARK, , MULTIPLY
    157       1.1  mrg 	key <AB08> { [ semicolon, period, dead_acute, dead_grave ] };	// SEMICOLON, PERIOD
    158       1.1  mrg 	key <AB09> { [ colon, slash, U0323 ] };	// COLON, SLASH, COMBINING DOT BELOW
    159       1.1  mrg 	key <AB10> { [ exclam, U00A7 ] };	// EXCLAMATION MARK, SECTION SIGN
    160       1.1  mrg 	key <AC01> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
    161       1.1  mrg 	key <AC02> { [ s, S, U201C, U201D ] };	// SMALL LETTER S, CAPITAL LETTER S, LEFT DOUBLE QUOTES, RIGHT DOUBLE QUOTES 
    162       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
    163       1.1  mrg 	key <AC04> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
    164   1.1.1.2  mrg 	key <AC05> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
    165       1.1  mrg 	key <AC06> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
    166       1.1  mrg 	key <AC07> { [ j, J, leftarrow, U2122 ] };	//SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN
    167       1.1  mrg 	key <AC08> { [ k, K, downarrow, uparrow ] };	// SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW
    168       1.1  mrg 	key <AC09> { [ l, L, rightarrow, U00A3 ] };	// SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING
    169       1.1  mrg 	key <AC10> { [ m, M, U00F9, U00B5 ] };	// SMALL LETTER M, CAPITAL LETTER M, SMALL LETTER U WITH GRAVE, MICRO SYMBOL
    170       1.1  mrg 	key <AC11> { [ U0300, U0302, U1DC5, U1DC4 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, COMBINING LOW-MID TONE, COMBINING MID-HIGH TONE
    171       1.1  mrg 	key <AD01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
    172       1.1  mrg 	key <AD02> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
    173       1.1  mrg 	key <AD03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
    174   1.1.1.2  mrg 	key <AD04> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
    175       1.1  mrg 	key <AD05> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
    176       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
    177       1.1  mrg 	key <AD07> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
    178       1.1  mrg 	key <AD08> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
    179       1.1  mrg 	key <AD09> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
    180       1.1  mrg 	key <AD10> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
    181       1.1  mrg 	key <AD11> { [ U0301, U030C, dead_circumflex, dead_diaeresis ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, DEAD CIRCUMFLEX, DEAD DIAERESIS
    182       1.1  mrg 	key <AD12> { [ U0330, U0303, U0304, U030D ] };	// COMBINING TILDE (NASAL) BELOW, COMBINING TILDE (NASAL), COMBINING MID TONE, COMBINING VERTICAL LINE ABOVE
    183       1.1  mrg 	key <AE01> { [ U0026, KP_1, U00B9, U2018 ] };	// AMPERSAND, 1, SUPERSCRIPT 1, LEFT SINGLE QUOTE
    184       1.1  mrg 	key <AE02> { [ eacute, KP_2, asciitilde, U2019 ] };	// SMALL LETTER E WITH ACUTE, 2, TILDE, RIGHT SINGLE QUOTE
    185       1.1  mrg 	key <AE03> { [ U0022, KP_3, U0025 ] };	// QUOTATION MARK, 3, PERCENT SIGN
    186       1.1  mrg 	key <AE04> { [ U0027, KP_4, U007B ] };	// APOSTROPHE, 4, LEFT CURLY BRACKET
    187       1.1  mrg 	key <AE05> { [ U0028, KP_5, U005B, numbersign ] };	// LEFT PARENTHESIS, 5, LEFT SQUARE BRACKET, NUMBER SIGN
    188       1.1  mrg 	key <AE06> { [ U002D, KP_6, U007C ] };	// HYPHEN/MINUS, 6, BAR
    189       1.1  mrg 	key <AE07> { [ U00E8, KP_7, U0300 ] };	// SMALL LETTER E WITH GRAVE, 7, COMBINING GRAVE
    190       1.1  mrg 	key <AE08> { [ underscore, KP_8, backslash, U20D6 ] };	// UNDERSCORE, 8, BACKSLASH, COMBINING LEFT ARROW ABOVE
    191       1.1  mrg 	key <AE09> { [ ccedilla, KP_9, U005E] };	// SMALL LETTER C WITH CEDILLA, 9, CIRCUMFLEX
    192       1.1  mrg 	key <AE10> { [ U00E0, KP_0, at, U20D7 ] };	// SMALL LETTER A WITH GRAVE
    193       1.1  mrg 	key <AE11> { [ U0029, U00B0, U005D ] };	// RIGHT PARENTHESIS, DEGREE, RIGHT SQUARE BRACKET
    194       1.1  mrg 	key <AE12> { [ U003D, U002B, U007D, U00B1 ] };	// EQUAL SIGN, PLUS SIGN, RIGHT CURLY BRACKET, PLUS-MINUS SIGN
    195       1.1  mrg 	key <BKSL> { [ U1DC6, U1DC7, KP_Multiply, U00A4 ] };	//  COMBINING MID-LOW, COMBINING HIGH-MID, MULTIPLY, CURRENCY SIGN
    196       1.1  mrg 	key <LSGT> { [ U003C, U003E, U00AB, U00BB ] };	// LESS THAN, GREATER THAN, LEFT GUILLEMET, RIGHT GUILLEMET
    197       1.1  mrg 	key <TLDE> { [ U0024, U20AC, U00B2, U00B3 ] };	// DOLLAR, EURO, SUPERSCRIPT 2, SUPERSCRIPT 3
    198       1.1  mrg 	include "cm(exclamation_switch)"
    199   1.1.1.4  mrg 	include "level3(ralt_switch)"
    200       1.1  mrg };
    201       1.1  mrg 
    202       1.1  mrg partial alphanumeric_keys
    203       1.1  mrg xkb_symbols "qwerty"
    204       1.1  mrg {
    205       1.1  mrg 	include "cm(basic)"
    206   1.1.1.8  mrg 	name[Group1] = "Cameroon Multilingual (QWERTY, intl.)";
    207       1.1  mrg 	key <AB01> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
    208       1.1  mrg 	key <AB02> { [ x, X ] };	// SMALL LETTER X, CAPITAL LETTER X
    209   1.1.1.2  mrg 	key <AB03> { [ c, C, U0327, U00A9 ] };	// SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
    210   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)
    211       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
    212       1.1  mrg 	key <AB06> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
    213       1.1  mrg 	key <AB07> { [ m, M, NoSymbol, U2122 ] };	// SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
    214       1.1  mrg 	key <AB08> { [ U002C, U003C, U2039, U00AB ] };	// COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
    215       1.1  mrg 	key <AB09> { [ U002E, U003E, U203A, U00BB ] };    // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
    216       1.1  mrg 	key <AB10> { [ U002F, U003F, U00F7 ] };    // SLASH, QUESTION MARK, DIVISION SIGN
    217       1.1  mrg 	key <AC01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
    218       1.1  mrg 	key <AC02> { [ s, S ] };	// SMALL LETTER S, CAPITAL LETTER S
    219       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
    220       1.1  mrg 	key <AC04> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
    221   1.1.1.2  mrg 	key <AC05> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
    222       1.1  mrg 	key <AC06> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
    223       1.1  mrg 	key <AC07> { [ j, J, U0330, U0323 ] };	// SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
    224       1.1  mrg 	key <AC08> { [ k, K, U1DC5, U1DC7 ] };	// SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
    225       1.1  mrg 	key <AC09> { [ l, L, U1DC6, U1DC4 ] };	// SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
    226       1.1  mrg 	key <AC10> { [ U003B, U003A ] };	// SEMICOLON, COLON
    227       1.1  mrg 	key <AC11> { [ U0300, U0302, U0027, U0022 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
    228       1.1  mrg 	key <AD01> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
    229       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
    230       1.1  mrg 	key <AD03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
    231   1.1.1.2  mrg 	key <AD04> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
    232       1.1  mrg 	key <AD05> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
    233       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
    234       1.1  mrg 	key <AD07> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
    235       1.1  mrg 	key <AD08> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
    236       1.1  mrg 	key <AD09> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
    237       1.1  mrg 	key <AD10> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
    238       1.1  mrg 	key <AD11> { [ U0301, U030C, U005B, U007B ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
    239       1.1  mrg 	key <AD12> { [ U0327, U0308, U005D, U007D ] };	// COMBINING CEDILLA, COMBINING DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
    240       1.1  mrg 	key <AE01> { [ U0031, U0021, U00BC ] };	// 1, EXCLAMATION POINT, ONE QUARTER
    241       1.1  mrg 	key <AE02> { [ U0032, U0040, U00BD ] };	//2, AT SYMBOL, ONE HALF
    242       1.1  mrg 	key <AE03> { [ U0033, U0023, U00BE ] };	// 3, NUMBER SIGN, THREE QUARTERS
    243       1.1  mrg 	key <AE04> { [ U0034, U0024, NoSymbol, U20AC ] };	// 4, DOLLAR, , EURO SIGN
    244       1.1  mrg 	key <AE08> { [ U0038, U002A, NoSymbol, U00D7 ] };	// 8, ASTERISK, , MATH MULTIPLY
    245       1.1  mrg 	key <AE09> { [ U0039, U0028, U2018, U201C ] };	// 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
    246       1.1  mrg 	key <AE10> { [ U0030, U0029, U2019, U201D ] };	// 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
    247       1.1  mrg 	key <AE11> { [ U002D, U005F, U0304 ] };	// MINUS, UNDERSCORE, COMBINING MID TONE, COMBINING MID TONE
    248       1.1  mrg 	key <AE12> { [ U003D, U002B, NoSymbol, U00B1 ] };	// EQUAL, PLUS, , PLUS-MINUS
    249       1.1  mrg 	key <BKSL> { [ U005C, U007C ] };	// BACKSLASH, BAR
    250       1.1  mrg 	key <TLDE> { [ U030D, U0303, U0060, U007E ] };	// COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
    251       1.1  mrg 	include "cm(semicolon_switch)"
    252   1.1.1.4  mrg 	include "level3(ralt_switch)"
    253       1.1  mrg };
    254       1.1  mrg 
    255       1.1  mrg partial alphanumeric_keys
    256       1.1  mrg xkb_symbols "dvorak"
    257       1.1  mrg {
    258       1.1  mrg 	include "us(dvorak)"
    259   1.1.1.8  mrg 	name[Group1] = "Cameroon (Dvorak, intl.)";
    260       1.1  mrg 	key <AB01> { [ semicolon, colon ] };	// SEMICOLON, COLON
    261       1.1  mrg 	key <AB02> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
    262       1.1  mrg 	key <AB03> { [ j, J, U0330, U0323 ] };	// SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
    263       1.1  mrg 	key <AB04> { [ k, K, U1DC5, U1DC7 ] };	// SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
    264       1.1  mrg 	key <AB05> { [ x, X ] };	// SMALL LETTER X, CAPITAL LETTER X
    265       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
    266       1.1  mrg 	key <AB07> { [ m, M, NoSymbol, U2122 ] };	// SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
    267       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
    268   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)
    269       1.1  mrg 	key <AB10> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
    270       1.1  mrg 	key <AC01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
    271       1.1  mrg 	key <AC02> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
    272       1.1  mrg 	key <AC03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
    273       1.1  mrg 	key <AC04> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
    274       1.1  mrg 	key <AC05> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
    275       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
    276       1.1  mrg 	key <AC07> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
    277       1.1  mrg 	key <AC08> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
    278       1.1  mrg 	key <AC09> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
    279       1.1  mrg 	key <AC10> { [ s, S ] };	// SMALL LETTER S, CAPITAL LETTER S
    280       1.1  mrg 	key <AC11> { [ minus, underscore, U0304 ] };	// MINUS, UNDERSCORE, COMBINING MID TONE
    281       1.1  mrg 	key <AD01> { [ U0300, U0302, U0027, U0022 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
    282       1.1  mrg 	key <AD02> { [ comma, less, U2039, U00AB ] };	// COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
    283       1.1  mrg 	key <AD03> { [ period, greater, U203A, U00BB ] };	// PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
    284       1.1  mrg 	key <AD04> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
    285       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
    286       1.1  mrg 	key <AD06> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
    287   1.1.1.2  mrg 	key <AD07> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
    288   1.1.1.2  mrg 	key <AD08> { [ c, C, U0327, U00A9 ] };	// SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
    289   1.1.1.2  mrg 	key <AD09> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
    290       1.1  mrg 	key <AD10> { [ l, L, U1DC6, U1DC4 ] };	// SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
    291       1.1  mrg 	key <AD11> { [ slash, U003F, U00F7, U0294 ] };	// SLASH, QUESTION MARK, DIVISION SIGN, GLOTTAL STOP
    292       1.1  mrg 	key <AD12> { [ equal, plus, NoSymbol, plusminus ] };	// EQUAL, PLUS, , PLUS-MINUS
    293       1.1  mrg 	key <AE01> { [ KP_1, exclam, U00BC ] };	// 1, EXCLAMATION POINT, ONE QUARTER
    294       1.1  mrg 	key <AE02> { [ KP_2, at, U00BD ] };	// 2, AT SYMBOL, ONE HALF
    295       1.1  mrg 	key <AE03> { [ KP_3, numbersign, U00BE ] };	// 3, NUMBER SIGN, THREE QUARTERS
    296       1.1  mrg 	key <AE04> { [ KP_4, dollar, NoSymbol, U20AC ] };	// 4, DOLLAR, , EURO SIGN
    297       1.1  mrg 	key <AE05> { [ KP_5, percent ] };	// 5, PERCENT
    298       1.1  mrg 	key <AE06> { [ KP_6, asciicircum ] };	// 6, CARET
    299       1.1  mrg 	key <AE07> { [ KP_7, ampersand ] };	// 7, AMPERSAND
    300       1.1  mrg 	key <AE08> { [ KP_8, asterisk, NoSymbol, multiply ] };	// 8, ASTERISK, , MULTIPLY
    301       1.1  mrg 	key <AE09> { [ KP_9, parenleft, leftsinglequotemark, leftdoublequotemark ] };	// 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
    302       1.1  mrg 	key <AE10> { [ KP_0, parenright, rightsinglequotemark, rightdoublequotemark ] };	// 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
    303       1.1  mrg 	key <AE11> { [ U0301, U030C, U005B, U007B ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
    304       1.1  mrg 	key <AE12> { [ U0327, dead_diaeresis, U005D, braceright ] };	// COMBINING CEDILLA, DEAD DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
    305       1.1  mrg 	key <BKSL> { [ backslash, bar ] };	// BACKSLASH, BAR
    306       1.1  mrg 	key <TLDE> { [ U030D, U0303, U0060, U007E ] };	// COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
    307       1.1  mrg 	include "cm(semicolon_switch_dvorak)"
    308   1.1.1.4  mrg 	include "level3(ralt_switch)"
    309       1.1  mrg };
    310       1.1  mrg 
    311       1.1  mrg // The following code creates the "Cameroon key" phenomenon.
    312       1.1  mrg 
    313       1.1  mrg partial modifier_keys
    314       1.1  mrg xkb_symbols "semicolon_switch" {
    315       1.1  mrg 	key <AC10> {
    316       1.1  mrg 	symbols[Group1] = [ ISO_Level3_Latch,	colon,	semicolon,	colon ]};
    317       1.1  mrg 	modifier_map Mod5	{ ISO_Level3_Latch };
    318       1.1  mrg };
    319       1.1  mrg 
    320       1.1  mrg partial modifier_keys
    321       1.1  mrg xkb_symbols "exclamation_switch" {
    322       1.1  mrg 	key <AB10> {
    323       1.1  mrg 	symbols[Group1] = [ ISO_Level3_Latch,	U00A7,	exclam,	U00A7 ]
    324       1.1  mrg 	};
    325       1.1  mrg 	modifier_map Mod5	{ ISO_Level3_Latch };
    326       1.1  mrg };
    327       1.1  mrg 
    328       1.1  mrg partial modifier_keys
    329       1.1  mrg xkb_symbols "semicolon_switch_dvorak" {
    330       1.1  mrg 	key <AB01> {
    331       1.1  mrg 	symbols[Group1] = [ ISO_Level3_Latch,	colon,	semicolon,	colon ]
    332       1.1  mrg 	};
    333       1.1  mrg modifier_map Mod5	{ ISO_Level3_Latch };
    334       1.1  mrg };
    335       1.1  mrg 
    336   1.1.1.5  mrg 
    337   1.1.1.6  snj // ------- begin Mmuock alphabet layout ------------------------------------------
    338   1.1.1.5  mrg //   This layout is used for the Mmuock alphabet as described in the book
    339   1.1.1.5  mrg //   _The Sound of Mmuock: Orthography (2. ed.)_ [isbn: 978-9956-645-28-1].
    340   1.1.1.5  mrg //   Mmuock is the language of the Mmuock (local: Muk) people of Western
    341   1.1.1.5  mrg //   Cameroon.  
    342   1.1.1.5  mrg // 
    343   1.1.1.5  mrg //      Author: Tano Fotang <fotang at mmuock dot org>
    344   1.1.1.5  mrg //     Created: 2014-06-24
    345   1.1.1.6  snj //     Version: 1.2
    346   1.1.1.5  mrg //
    347   1.1.1.5  mrg // CHANGES v 1.0:
    348   1.1.1.5  mrg //	2014-07-06 corrected shifted level3 of <AC11> to quotedbl
    349   1.1.1.5  mrg // CHANGES v 1.1:
    350   1.1.1.5  mrg //  2015-05-23 1- added dead_tilde to key <TILDE>; this is needed to produce
    351   1.1.1.5  mrg //               the letter <> which was totally missing from the keyboard
    352   1.1.1.5  mrg //             2- added letter <dz> to <AB01>; the letter had been missing.
    353   1.1.1.5  mrg //             3- if we're not re-defining particular symbols from the included
    354   1.1.1.5  mrg //               latin layout, then maintain the original latin mappings.
    355   1.1.1.5  mrg //               Previously, we had set them to NoSymbol. Now, we want to
    356   1.1.1.5  mrg //               keep the original latin mappings except for those few that we
    357   1.1.1.5  mrg //               want to overwrite for our own keyboard.
    358   1.1.1.5  mrg //
    359   1.1.1.6  snj // CHANGES v 1.2:
    360   1.1.1.6  snj // 2016-06-17  1- added dead keys dead_macron, dead_acute, and dead_grave for
    361   1.1.1.6  snj //                tones 1, 3, and 4, for compatibility with the Keyman version.
    362   1.1.1.6  snj //             2- rearranged combining diacritics for tones 0 to 5 such that
    363   1.1.1.6  snj //                the diacritics are on consequetive keys (AC01 to AC05).
    364   1.1.1.6  snj //             3- moved tone 8 to level 3 of AE12.
    365   1.1.1.6  snj //             4- moved layout definition out of the EXTRAS section.
    366   1.1.1.6  snj //             5- for a cleaner keyboard,
    367   1.1.1.6  snj //                replaced the included latin layout with us(basic).
    368   1.1.1.6  snj //
    369   1.1.1.6  snj //
    370   1.1.1.5  mrg // NOTES:
    371   1.1.1.6  snj // 0. This map is based on the Latin alphabet layout for the US keyboard.
    372   1.1.1.5  mrg //
    373   1.1.1.5  mrg // 1. We use combining diacritical marks to create tone markings. There are 13
    374   1.1.1.6  snj //    tones that need to be indicated, although the first 5 are usually enough
    375   1.1.1.6  snj //    to represent the rest in simplified orthography.
    376   1.1.1.5  mrg //
    377   1.1.1.5  mrg // 2. When composing Mmuock text, about every fourth symbol is for tone. To
    378   1.1.1.5  mrg //    facilitate easy and fast input, the combining diacritics are placed on
    379   1.1.1.5  mrg //    the home row (AC). To reduce the number of key strokes required, the
    380   1.1.1.5  mrg //    unshifted third level is used. Only 5 of the combining diacritics are not
    381   1.1.1.5  mrg //    on the AC row; they are in the top number row, AE.
    382   1.1.1.5  mrg //
    383   1.1.1.5  mrg // 3. Symbols that are used infrequently (`r', `h', `', `', etc.) are placed
    384   1.1.1.5  mrg //    in level3. Additionally, the letter eng (`'), although commonly used, 
    385   1.1.1.5  mrg //    is found in level3 because it can alternatively be represented by <ng>.
    386   1.1.1.6  snj //    (Indeed, the keyman version of keyboard actually replaces <ng> with `'.)
    387   1.1.1.5  mrg //
    388   1.1.1.5  mrg // 4. The unshifted AB10 key (normally assigned to the slash `/') is used as
    389   1.1.1.5  mrg //    level 3 switch since the slash is not used in the ordinary course of
    390   1.1.1.5  mrg //    typing Mmuock text. 
    391   1.1.1.5  mrg //
    392   1.1.1.6  snj // 5. The 'Cameroon Multilingual' keyboards that are defined elsewhere, do not
    393   1.1.1.6  snj //    fit our needs because: (a) they are based on a different alphabet, (b) the
    394   1.1.1.6  snj //    vast majority of their symbols are not used in Mmuock, and (c) for the few
    395   1.1.1.6  snj //    symbols that are used in Mmuock, their placings are not egonomic for 
    396   1.1.1.6  snj //    typing Mmuock as the _PRIMARY_ language. The aim of this keyboard, is
    397   1.1.1.6  snj //    to give priority to symbols that are actually used in the Mmuock alphabet.
    398   1.1.1.5  mrg //
    399   1.1.1.5  mrg // 6. The following fonts have been found to produce the best results with this
    400   1.1.1.5  mrg //    keyboard:
    401   1.1.1.5  mrg //         Family                    Accuracy
    402   1.1.1.5  mrg //      DejaVu (except Sans Mono)        9/10 
    403   1.1.1.5  mrg //      Linux Libertine                  8/10
    404   1.1.1.5  mrg //      Ubuntu (except light)            8/10
    405   1.1.1.5  mrg //      Droid (except sans mono)         7/10
    406   1.1.1.5  mrg //      Gentium, Gentium Alt           6.5/10
    407   1.1.1.6  snj //    In the terminal emulator, the following font variants have been tested:
    408   1.1.1.5  mrg //      Ubuntu Mono                      9/10
    409   1.1.1.5  mrg //      Unifont (Medium)                 9/10
    410   1.1.1.5  mrg //      DejaVu Sans Mono               7.5/10
    411   1.1.1.5  mrg //      Droid Sans Mono                6.5/10
    412   1.1.1.5  mrg //   These fonts are all freely available.
    413   1.1.1.5  mrg // 
    414   1.1.1.5  mrg // ------the layout-----------
    415   1.1.1.6  snj //
    416   1.1.1.6  snj //   
    417   1.1.1.6  snj //    2 4    2 = Shift,  4 = Level3 + Shift
    418   1.1.1.6  snj //    1 3    1 = Normal, 3 = Level3
    419   1.1.1.6  snj //   
    420   1.1.1.5  mrg //
    421   1.1.1.5  mrg //   
    422   1.1.1.6  snj //    ~ ~  !    @    #    $    %    ^    &   | *    (    )    _   +     Back- 
    423   1.1.1.6  snj // AE ` `  1    2    3    4    5    6   7   8   9   0    -  =     space  
    424   1.1.1.5  mrg //   
    425   1.1.1.5  mrg //           Q    W    E    R  T    Y    U   I   O   P    {   }  Enter 
    426   1.1.1.5  mrg // ADTab    q    w    e    r  t    y    u   i   o   p    [   ]       
    427   1.1.1.5  mrg //         
    428   1.1.1.5  mrg //            A    S    D    F    G     H  J    K    L     :  "    |       
    429   1.1.1.6  snj // ACCaps    a   s  | d   | f  | g  |  h  j   k   l    ;  '    \       
    430   1.1.1.5  mrg //   
    431   1.1.1.5  mrg //                 Z   X    C    V    B    N   M    <   >   ?                
    432   1.1.1.5  mrg // ABShift        z   x    c    v    b    n   m    ,   .     / Shift       
    433   1.1.1.5  mrg //   
    434   1.1.1.5  mrg //                                                                                
    435   1.1.1.5  mrg // AACtrl   Meta   Alt                 Space                 AltGr Menu   Ctrl   
    436   1.1.1.5  mrg //   
    437   1.1.1.5  mrg //
    438   1.1.1.5  mrg 
    439   1.1.1.5  mrg partial alphanumeric_keys
    440   1.1.1.5  mrg xkb_symbols "mmuock" {
    441   1.1.1.5  mrg 
    442   1.1.1.6  snj    include "us(basic)"
    443   1.1.1.5  mrg    include "level3(ralt_switch)"
    444   1.1.1.5  mrg 
    445   1.1.1.5  mrg    name[Group1]= "Mmuock";
    446  1.1.1.10  mrg    key <TLDE> { [ dead_grave,  dead_tilde,          grave,    asciitilde ] };
    447   1.1.1.5  mrg    key <AE06> { [          6, asciicircum,          U0302                ] }; // tone 10
    448   1.1.1.5  mrg    key <AE07> { [          7,   ampersand,          U0311                ] }; // tone 12
    449   1.1.1.6  snj    key <AE08> { [          8,    asterisk,          U030D                ] }; // tone 13
    450   1.1.1.6  snj    key <AE09> { [          9,   parenleft,          U0307                ] }; // tone 7
    451   1.1.1.6  snj    key <AE10> { [          0,  parenright,          U030A                ] }; // tone 6
    452   1.1.1.6  snj    key <AE11> { [dead_macron,  underscore,          minus,        endash ] };
    453   1.1.1.6  snj    key <AE12> { [      equal,        plus,          U030B, dead_belowdot ] }; // U030B = tone 8
    454  1.1.1.10  mrg 
    455   1.1.1.5  mrg    key <AD03> { [          e,           E,          U01DD,         U018E ] }; // U01DD = reversed E
    456   1.1.1.5  mrg    key <AD04> { [     scaron,      Scaron,              r,             R ] };
    457   1.1.1.5  mrg    key <AD07> { [          u,           U,    Greek_omega,   Greek_OMEGA ] };
    458   1.1.1.5  mrg    key <AD08> { [          i,           I,          U025B,         U0190 ] }; // U025B = open E
    459   1.1.1.5  mrg    key <AD09> { [          o,           O,      Greek_phi,     Greek_PHI ] };
    460   1.1.1.5  mrg    key <AD10> { [          p,           P,       Greek_pi,      Greek_PI ] };
    461  1.1.1.10  mrg    key <AD11> { [     oslash,      Oslash,    bracketleft,     braceleft ] };
    462   1.1.1.5  mrg    key <AD12> { [Greek_sigma, Greek_SIGMA,   bracketright,    braceright ] }; 
    463  1.1.1.10  mrg 
    464   1.1.1.6  snj    key <AC01> { [          a,           A,          U0303                ] }; // tone 0
    465   1.1.1.6  snj    key <AC02> { [          s,           S,          U0304                ] }; // tone 1
    466   1.1.1.6  snj    key <AC03> { [          d,           D,          U0301                ] }; // tone 3
    467   1.1.1.6  snj    key <AC04> { [          f,           F,          U0300                ] }; // tone 4
    468   1.1.1.6  snj    key <AC05> { [          g,           G,          U030C                ] }; // tone 5
    469   1.1.1.5  mrg    key <AC06> { [      U0323,       U0307,              h,             H ] }; // COMBINING DOT BELOW, ABOVE
    470   1.1.1.5  mrg    key <AC07> { [          j,           J,          U0306                ] }; // tone 9
    471   1.1.1.5  mrg    key <AC08> { [          k,           K,          U030F                ] }; // tone 11
    472   1.1.1.6  snj    key <AC09> { [          l,           L,          U0308                ] }; // tone 14
    473   1.1.1.5  mrg    key <AC10> { [         oe,          OE,      semicolon,         colon ] };
    474   1.1.1.6  snj    key <AC11> { [ dead_acute,    quotedbl,     apostrophe                ] };
    475  1.1.1.10  mrg    key <BKSL> { [         ae,          AE,      backslash,           bar ] };
    476  1.1.1.10  mrg 
    477   1.1.1.5  mrg    key <AB01> { [          z,           Z,          U01F3,         U01F2 ] }; // U01F3 = letter dz
    478   1.1.1.5  mrg    key <AB06> { [          n,           N,            eng,           ENG ] };
    479   1.1.1.5  mrg    key <AB08> { [      comma,        less,  guillemotleft,         U2039 ] };
    480   1.1.1.5  mrg    key <AB09> { [     period,     greater, guillemotright,         U203A ] };
    481   1.1.1.5  mrg 
    482   1.1.1.5  mrg    include "cm(solidus_switch)"
    483   1.1.1.5  mrg };
    484   1.1.1.5  mrg // use slash as special key for switching to level3
    485   1.1.1.5  mrg partial modifier_keys
    486   1.1.1.5  mrg xkb_symbols "solidus_switch" {
    487   1.1.1.5  mrg    key <AB10> {
    488   1.1.1.6  snj      symbols[Group1] = [ ISO_Level3_Latch, question, slash, dead_abovedot ]
    489   1.1.1.5  mrg    };
    490   1.1.1.5  mrg    modifier_map Mod5	{ ISO_Level3_Latch };
    491   1.1.1.5  mrg };
    492   1.1.1.6  snj // ------- end of Mmuock keyboard map --------------------------------------------
    493