cm revision 46185892
101e04c3fSmrg// ========== Cameroon Keyboards ==========
201e04c3fSmrg
37ec681f3Smrg
401e04c3fSmrg// ----------------------------------------------------------------------------
501e04c3fSmrg// This comment was added by <fotang at mmuock dot org>, on 18-Jun-2016:
601e04c3fSmrg//  
701e04c3fSmrg// All comments below this one, were in the original cm file;they do not
801e04c3fSmrg// apply to the Mmuock keyboard which is defined towards the end of this file.
901e04c3fSmrg// ----------------------------------------------------------------------------
1001e04c3fSmrg
1101e04c3fSmrg// ****** For Instructions, see "Use of Cameroon Keyboards" section	below ******
1201e04c3fSmrg
1301e04c3fSmrg
1401e04c3fSmrg// 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.  
1501e04c3fSmrg
1601e04c3fSmrg// Cameroon is officially a bilingual country, using French and English, but there are over 270 minority languages.  
1701e04c3fSmrg
1801e04c3fSmrg// * Cameroon Français is an exact copy of the French France keyboard intended for AZERTY users.
1901e04c3fSmrg// * Cameroon is an exact copy of the Basic US Keyboard. I can not currently name this "Cameroon English" due to a limitation of XKB.
2001e04c3fSmrg// * 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. 
2101e04c3fSmrg// * Cameroon Dvorak is described below.
2201e04c3fSmrg
2301e04c3fSmrg// ===== Use of Cameroon Keyboards =====
2401e04c3fSmrg
2501e04c3fSmrg// == Fonts ==
2601e04c3fSmrg// 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).
2701e04c3fSmrg
2801e04c3fSmrg
2901e04c3fSmrg// == Cameroon AZERTY ==
3001e04c3fSmrg// 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.
3101e04c3fSmrg// 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.
3201e04c3fSmrg// 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 "!".
3301e04c3fSmrg// 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.
3401e04c3fSmrg// All Diacritics (with the exception of French Trema and Circumflex) must be typed (in order of stacking) after the letter.
3501e04c3fSmrg
3601e04c3fSmrg
3701e04c3fSmrg// == Cameroon QWERTY ==
3801e04c3fSmrg// 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.
3901e04c3fSmrg// 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.
4001e04c3fSmrg// 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).
4101e04c3fSmrg// 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.
4201e04c3fSmrg// All Diacritics must be typed (in order of stacking) after the letter.
4301e04c3fSmrg
4401e04c3fSmrg
4501e04c3fSmrg// == Cameroon Dvorak ==
4601e04c3fSmrg// Cameroon Dvorak is uses a similar system to Cameroon QWERTY.
4701e04c3fSmrg
487ec681f3Smrgdefault partial alphanumeric_keys
497ec681f3Smrgxkb_symbols "basic" {
5001e04c3fSmrg
517ec681f3Smrg	name[Group1]="English (Cameroon)";
527ec681f3Smrg
537ec681f3Smrg	key <TLDE> { [ grave, asciitilde ] };
547ec681f3Smrg	key <AE01> { [ 1, exclam ] };
557ec681f3Smrg	key <AE02> { [ 2, at ] };
5601e04c3fSmrg	key <AE03> { [ 3, numbersign ] };
5701e04c3fSmrg	key <AE04> { [ 4, dollar ] };
5801e04c3fSmrg	key <AE05> { [ 5, percent ] };
597ec681f3Smrg	key <AE06> { [ 6, asciicircum ] };
6001e04c3fSmrg	key <AE07> { [ 7, ampersand ] };
6101e04c3fSmrg	key <AE08> { [ 8, asterisk ] };
6201e04c3fSmrg	key <AE09> { [ 9, parenleft ] };
6301e04c3fSmrg	key <AE10> { [ 0, parenright ] };
6401e04c3fSmrg	key <AE11> { [ minus, underscore ] };
6501e04c3fSmrg	key <AE12> { [ equal, plus ] };
6601e04c3fSmrg
6701e04c3fSmrg	key <AD01> { [ q, Q ] };
6801e04c3fSmrg	key <AD02> { [ w, W ] };
6901e04c3fSmrg	key <AD03> { [ e, E ] };
7001e04c3fSmrg	key <AD04> { [ r, R ] };
7101e04c3fSmrg	key <AD05> { [ t, T ] };
7201e04c3fSmrg	key <AD06> { [ y, Y ] };
7301e04c3fSmrg	key <AD07> { [ u, U ] };
7401e04c3fSmrg	key <AD08> { [ i, I ] };
7501e04c3fSmrg	key <AD09> { [ o, O ] };
7601e04c3fSmrg	key <AD10> { [ p, P ] };
777ec681f3Smrg	key <AD11> { [ bracketleft, braceleft ] };
7801e04c3fSmrg	key <AD12> { [ bracketright, braceright ] };
7901e04c3fSmrg	key <AC01> { [ a, A ] };
8001e04c3fSmrg	key <AC02> { [ s, S ] };
8101e04c3fSmrg	key <AC03> { [ d, D ] };
8201e04c3fSmrg	key <AC04> { [ f, F ] };
8301e04c3fSmrg	key <AC05> { [ g, G ] };
8401e04c3fSmrg	key <AC06> { [ h, H ] };
8501e04c3fSmrg	key <AC07> { [ j, J ] };
8601e04c3fSmrg	key <AC08> { [ k, K ] };
8701e04c3fSmrg	key <AC09> { [ l, L ] };
8801e04c3fSmrg	key <AC10> { [ semicolon, colon ] };
8901e04c3fSmrg	key <AC11> { [ apostrophe, quotedbl ] };
9001e04c3fSmrg
9101e04c3fSmrg	key <AB01> { [ z, Z ] };
927ec681f3Smrg	key <AB02> { [ x, X ] };
937ec681f3Smrg	key <AB03> { [ c, C ] };
947ec681f3Smrg	key <AB04> { [ v, V ] };
957ec681f3Smrg	key <AB05> { [ b, B ] };
967ec681f3Smrg	key <AB06> { [ n, N ] };
977ec681f3Smrg	key <AB07> { [ m, M ] };
987ec681f3Smrg	key <AB08> { [ comma, less ] };
997ec681f3Smrg	key <AB09> { [ period, greater ] };
1007ec681f3Smrg	key <AB10> { [ slash, U003F ] };
1017ec681f3Smrg
1027ec681f3Smrg	key <BKSL> { [ backslash, bar ] };
1037ec681f3Smrg};
1047ec681f3Smrg
1057ec681f3Smrgpartial alphanumeric_keys
1067ec681f3Smrgxkb_symbols "french"
1077ec681f3Smrg{
1087ec681f3Smrg	include "latin"
1097ec681f3Smrg	name[Group1]="French (Cameroon)";
1107ec681f3Smrg
1117ec681f3Smrg	key <TLDE> { [twosuperior, asciitilde, notsign, notsign ] };
1127ec681f3Smrg	key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
1137ec681f3Smrg	key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
1147ec681f3Smrg	key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
1157ec681f3Smrg	key <AE04> { [apostrophe, 4, braceleft, dollar ] };
1167ec681f3Smrg	key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
1177ec681f3Smrg	key <AE06> { [ minus, 6, bar, fiveeighths ] };
1187ec681f3Smrg	key <AE07> { [ egrave, 7, grave, seveneighths ] };
1197ec681f3Smrg	key <AE08> { [underscore, 8, backslash, trademark ] };
1207ec681f3Smrg	key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
1217ec681f3Smrg	key <AE10> { [ agrave, 0, at, degree ] };
1227ec681f3Smrg	key <AE11> { [parenright, degree, bracketright, questiondown ] };
1237ec681f3Smrg	key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
1247ec681f3Smrg
1257ec681f3Smrg	key <AD01> { [ a, A, ae, AE ] };
1267ec681f3Smrg	key <AD02> { [ z, Z, guillemotleft, less ] };
1277ec681f3Smrg	key <AD03> { [ e, E, EuroSign, cent ] };
1287ec681f3Smrg	key <AD11> { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] };
1297ec681f3Smrg	key <AD12> { [ dollar, sterling, currency, dead_macron ] };
1307ec681f3Smrg
1317ec681f3Smrg	key <AC01> { [ q, Q, at, Greek_OMEGA ] };
1327ec681f3Smrg	key <AC10> { [ m, M, mu, masculine ] };
1337ec681f3Smrg	key <AC11> { [ ugrave, percent, dead_circumflex, dead_caron] };
1347ec681f3Smrg	key <BKSL> { [ asterisk, mu, dead_grave, dead_breve ] };
1357ec681f3Smrg
1367ec681f3Smrg	key <AB01> { [ w, W, lstroke, Lstroke ] };
1377ec681f3Smrg	key <AB07> { [ comma, U003F, dead_acute, dead_doubleacute ] };
1387ec681f3Smrg	key <AB08> { [ semicolon, period, U2022, multiply ] }; // bullet
1397ec681f3Smrg	key <AB09> { [ colon, slash, periodcentered, division ] };
1407ec681f3Smrg	key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
1417ec681f3Smrg
1427ec681f3Smrg	include "level3(ralt_switch)"
1437ec681f3Smrg};
1447ec681f3Smrg
1457ec681f3Smrgpartial alphanumeric_keys
1467ec681f3Smrgxkb_symbols "azerty"
1477ec681f3Smrg{
1487ec681f3Smrg	include "cm(basic)"
1497ec681f3Smrg	name[Group1] = "Cameroon (AZERTY, intl.)";
1507ec681f3Smrg	key <AB01> { [ w, W, U1E85, U1E84 ] };	//  SMALL LETTER W,  CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
1517ec681f3Smrg	key <AB02> { [ x, X, U2039, U203A ] };	// SMALL LETTER X, CAPITAL LETTER X, SINGLE LEFT-POINTING ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1527ec681f3Smrg	key <AB03> { [ c, C, U0327, copyright ] };	// SMALL LETTER C, CAPITAL LETTER C, COMBINING CEDILLA, COPYRIGHT SIGN
1537ec681f3Smrg	key <AB04> { [ v, V, UA78C, UA78B ] };	// SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
1547ec681f3Smrg	key <AB05> { [ b, B, U0253, U0181 ] };	// SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
1557ec681f3Smrg	key <AB06> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
1567ec681f3Smrg	key <AB07> { [ U002C, U003F, NoSymbol, U00D7 ] };	// COMMA, QUESTION MARK, , MULTIPLY
1577ec681f3Smrg	key <AB08> { [ semicolon, period, dead_acute, dead_grave ] };	// SEMICOLON, PERIOD
1587ec681f3Smrg	key <AB09> { [ colon, slash, U0323 ] };	// COLON, SLASH, COMBINING DOT BELOW
1597ec681f3Smrg	key <AB10> { [ exclam, U00A7 ] };	// EXCLAMATION MARK, SECTION SIGN
1607ec681f3Smrg	key <AC01> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
1617ec681f3Smrg	key <AC02> { [ s, S, U201C, U201D ] };	// SMALL LETTER S, CAPITAL LETTER S, LEFT DOUBLE QUOTES, RIGHT DOUBLE QUOTES 
1627ec681f3Smrg	key <AC03> { [ d, D, U0257, U018A ] };	// SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
1637ec681f3Smrg	key <AC04> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
1647ec681f3Smrg	key <AC05> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
1657ec681f3Smrg	key <AC06> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
1667ec681f3Smrg	key <AC07> { [ j, J, leftarrow, U2122 ] };	//SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN
1677ec681f3Smrg	key <AC08> { [ k, K, downarrow, uparrow ] };	// SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW
1687ec681f3Smrg	key <AC09> { [ l, L, rightarrow, U00A3 ] };	// SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING
1697ec681f3Smrg	key <AC10> { [ m, M, U00F9, U00B5 ] };	// SMALL LETTER M, CAPITAL LETTER M, SMALL LETTER U WITH GRAVE, MICRO SYMBOL
1707ec681f3Smrg	key <AC11> { [ U0300, U0302, U1DC5, U1DC4 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, COMBINING LOW-MID TONE, COMBINING MID-HIGH TONE
1717ec681f3Smrg	key <AD01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
1727ec681f3Smrg	key <AD02> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
1737ec681f3Smrg	key <AD03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
1747ec681f3Smrg	key <AD04> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
1757ec681f3Smrg	key <AD05> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
1767ec681f3Smrg	key <AD06> { [ y, Y, U01B4, U01B3 ] };	// SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
1777ec681f3Smrg	key <AD07> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
1787ec681f3Smrg	key <AD08> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
1797ec681f3Smrg	key <AD09> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
1807ec681f3Smrg	key <AD10> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
1817ec681f3Smrg	key <AD11> { [ U0301, U030C, dead_circumflex, dead_diaeresis ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, DEAD CIRCUMFLEX, DEAD DIAERESIS
1827ec681f3Smrg	key <AD12> { [ U0330, U0303, U0304, U030D ] };	// COMBINING TILDE (NASAL) BELOW, COMBINING TILDE (NASAL), COMBINING MID TONE, COMBINING VERTICAL LINE ABOVE
1837ec681f3Smrg	key <AE01> { [ U0026, KP_1, U00B9, U2018 ] };	// AMPERSAND, 1, SUPERSCRIPT 1, LEFT SINGLE QUOTE
1847ec681f3Smrg	key <AE02> { [ eacute, KP_2, asciitilde, U2019 ] };	// SMALL LETTER E WITH ACUTE, 2, TILDE, RIGHT SINGLE QUOTE
1857ec681f3Smrg	key <AE03> { [ U0022, KP_3, U0025 ] };	// QUOTATION MARK, 3, PERCENT SIGN
1867ec681f3Smrg	key <AE04> { [ U0027, KP_4, U007B ] };	// APOSTROPHE, 4, LEFT CURLY BRACKET
1877ec681f3Smrg	key <AE05> { [ U0028, KP_5, U005B, numbersign ] };	// LEFT PARENTHESIS, 5, LEFT SQUARE BRACKET, NUMBER SIGN
1887ec681f3Smrg	key <AE06> { [ U002D, KP_6, U007C ] };	// HYPHEN/MINUS, 6, BAR
1897ec681f3Smrg	key <AE07> { [ U00E8, KP_7, U0300 ] };	// SMALL LETTER E WITH GRAVE, 7, COMBINING GRAVE
1907ec681f3Smrg	key <AE08> { [ underscore, KP_8, backslash, U20D6 ] };	// UNDERSCORE, 8, BACKSLASH, COMBINING LEFT ARROW ABOVE
1917ec681f3Smrg	key <AE09> { [ ccedilla, KP_9, U005E] };	// SMALL LETTER C WITH CEDILLA, 9, CIRCUMFLEX
19201e04c3fSmrg	key <AE10> { [ U00E0, KP_0, at, U20D7 ] };	// SMALL LETTER A WITH GRAVE
19301e04c3fSmrg	key <AE11> { [ U0029, U00B0, U005D ] };	// RIGHT PARENTHESIS, DEGREE, RIGHT SQUARE BRACKET
19401e04c3fSmrg	key <AE12> { [ U003D, U002B, U007D, U00B1 ] };	// EQUAL SIGN, PLUS SIGN, RIGHT CURLY BRACKET, PLUS-MINUS SIGN
19501e04c3fSmrg	key <BKSL> { [ U1DC6, U1DC7, KP_Multiply, U00A4 ] };	//  COMBINING MID-LOW, COMBINING HIGH-MID, MULTIPLY, CURRENCY SIGN
19601e04c3fSmrg	key <LSGT> { [ U003C, U003E, U00AB, U00BB ] };	// LESS THAN, GREATER THAN, LEFT GUILLEMET, RIGHT GUILLEMET
19701e04c3fSmrg	key <TLDE> { [ U0024, U20AC, U00B2, U00B3 ] };	// DOLLAR, EURO, SUPERSCRIPT 2, SUPERSCRIPT 3
1987ec681f3Smrg	include "cm(exclamation_switch)"
1997ec681f3Smrg	include "level3(ralt_switch)"
2007ec681f3Smrg};
2017ec681f3Smrg
2027ec681f3Smrgpartial alphanumeric_keys
2037ec681f3Smrgxkb_symbols "qwerty"
2047ec681f3Smrg{
20501e04c3fSmrg	include "cm(basic)"
20601e04c3fSmrg	name[Group1] = "Cameroon Multilingual (QWERTY, intl.)";
20701e04c3fSmrg	key <AB01> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
2087ec681f3Smrg	key <AB02> { [ x, X ] };	// SMALL LETTER X, CAPITAL LETTER X
20901e04c3fSmrg	key <AB03> { [ c, C, U0327, U00A9 ] };	// SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
21001e04c3fSmrg	key <AB04> { [ v, V, UA78C, UA78B ] };	// SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
21101e04c3fSmrg	key <AB05> { [ b, B, U0253, U0181 ] };	// SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
21201e04c3fSmrg	key <AB06> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
21301e04c3fSmrg	key <AB07> { [ m, M, NoSymbol, U2122 ] };	// SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
21401e04c3fSmrg	key <AB08> { [ U002C, U003C, U2039, U00AB ] };	// COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
21501e04c3fSmrg	key <AB09> { [ U002E, U003E, U203A, U00BB ] };    // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
21601e04c3fSmrg	key <AB10> { [ U002F, U003F, U00F7 ] };    // SLASH, QUESTION MARK, DIVISION SIGN
21701e04c3fSmrg	key <AC01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
21801e04c3fSmrg	key <AC02> { [ s, S ] };	// SMALL LETTER S, CAPITAL LETTER S
21901e04c3fSmrg	key <AC03> { [ d, D, U0257, U018A ] };	// SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
22001e04c3fSmrg	key <AC04> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
22101e04c3fSmrg	key <AC05> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
22201e04c3fSmrg	key <AC06> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
22301e04c3fSmrg	key <AC07> { [ j, J, U0330, U0323 ] };	// SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
22401e04c3fSmrg	key <AC08> { [ k, K, U1DC5, U1DC7 ] };	// SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
22501e04c3fSmrg	key <AC09> { [ l, L, U1DC6, U1DC4 ] };	// SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
22601e04c3fSmrg	key <AC10> { [ U003B, U003A ] };	// SEMICOLON, COLON
22701e04c3fSmrg	key <AC11> { [ U0300, U0302, U0027, U0022 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
22801e04c3fSmrg	key <AD01> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
22901e04c3fSmrg	key <AD02> { [ w, W, U1E85, U1E84 ] };	// SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
23001e04c3fSmrg	key <AD03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
23101e04c3fSmrg	key <AD04> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
23201e04c3fSmrg	key <AD05> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
23301e04c3fSmrg	key <AD06> { [ y, Y, U01B4, U01B3 ] };	// SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
23401e04c3fSmrg	key <AD07> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
2357ec681f3Smrg	key <AD08> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
2367ec681f3Smrg	key <AD09> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
2377ec681f3Smrg	key <AD10> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
23801e04c3fSmrg	key <AD11> { [ U0301, U030C, U005B, U007B ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
23901e04c3fSmrg	key <AD12> { [ U0327, U0308, U005D, U007D ] };	// COMBINING CEDILLA, COMBINING DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
2407ec681f3Smrg	key <AE01> { [ U0031, U0021, U00BC ] };	// 1, EXCLAMATION POINT, ONE QUARTER
2417e102996Smaya	key <AE02> { [ U0032, U0040, U00BD ] };	//2, AT SYMBOL, ONE HALF
2427e102996Smaya	key <AE03> { [ U0033, U0023, U00BE ] };	// 3, NUMBER SIGN, THREE QUARTERS
2437e102996Smaya	key <AE04> { [ U0034, U0024, NoSymbol, U20AC ] };	// 4, DOLLAR, , EURO SIGN
2447e102996Smaya	key <AE08> { [ U0038, U002A, NoSymbol, U00D7 ] };	// 8, ASTERISK, , MATH MULTIPLY
2457e102996Smaya	key <AE09> { [ U0039, U0028, U2018, U201C ] };	// 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
2467e102996Smaya	key <AE10> { [ U0030, U0029, U2019, U201D ] };	// 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
2477e102996Smaya	key <AE11> { [ U002D, U005F, U0304 ] };	// MINUS, UNDERSCORE, COMBINING MID TONE, COMBINING MID TONE
2487e102996Smaya	key <AE12> { [ U003D, U002B, NoSymbol, U00B1 ] };	// EQUAL, PLUS, , PLUS-MINUS
2497ec681f3Smrg	key <BKSL> { [ U005C, U007C ] };	// BACKSLASH, BAR
2507e102996Smaya	key <TLDE> { [ U030D, U0303, U0060, U007E ] };	// COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
2517e102996Smaya	include "cm(semicolon_switch)"
2527ec681f3Smrg	include "level3(ralt_switch)"
2537e102996Smaya};
2547e102996Smaya
2557e102996Smayapartial alphanumeric_keys
2567e102996Smayaxkb_symbols "dvorak"
2577ec681f3Smrg{
2587e102996Smaya	include "us(dvorak)"
2597e102996Smaya	name[Group1] = "Cameroon (Dvorak, intl.)";
26001e04c3fSmrg	key <AB01> { [ semicolon, colon ] };	// SEMICOLON, COLON
26101e04c3fSmrg	key <AB02> { [ q, Q, U2014, U2013 ] };	// SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH
26201e04c3fSmrg	key <AB03> { [ j, J, U0330, U0323 ] };	// SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW
26301e04c3fSmrg	key <AB04> { [ k, K, U1DC5, U1DC7 ] };	// SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID
26401e04c3fSmrg	key <AB05> { [ x, X ] };	// SMALL LETTER X, CAPITAL LETTER X
26501e04c3fSmrg	key <AB06> { [ b, B, U0253, U0181 ] };	// SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK
2667ec681f3Smrg	key <AB07> { [ m, M, NoSymbol, U2122 ] };	// SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN
26701e04c3fSmrg	key <AB08> { [ w, W, U1E85, U1E84 ] };	// SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS
26801e04c3fSmrg	key <AB09> { [ v, V, UA78C, UA78B ] };	// SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO)
26901e04c3fSmrg	key <AB10> { [ z, Z, U2026, U2020 ] };	// SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER
27001e04c3fSmrg	key <AC01> { [ a, A, U025B, U0190 ] };	// SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E
2717e102996Smaya	key <AC02> { [ o, O, U0254, U0186 ] };	// SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O
27201e04c3fSmrg	key <AC03> { [ e, E, U0259, U018F ] };	// SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA
27301e04c3fSmrg	key <AC04> { [ u, U, U0289, U0244 ] };	// SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR
27401e04c3fSmrg	key <AC05> { [ i, I, U0268, U0197 ] };	// SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR
27501e04c3fSmrg	key <AC06> { [ d, D, U0257, U018A ] };	// SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK
27601e04c3fSmrg	key <AC07> { [ h, H, U0251, U2C6D ] };	// SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA
2777e102996Smaya	key <AC08> { [ t, T, U0153, U0152 ] };	// SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE
27801e04c3fSmrg	key <AC09> { [ n, N, U014B, U014A ] };	// SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG
27901e04c3fSmrg	key <AC10> { [ s, S ] };	// SMALL LETTER S, CAPITAL LETTER S
28001e04c3fSmrg	key <AC11> { [ minus, underscore, U0304 ] };	// MINUS, UNDERSCORE, COMBINING MID TONE
2817ec681f3Smrg	key <AD01> { [ U0300, U0302, U0027, U0022 ] };	// COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK
28201e04c3fSmrg	key <AD02> { [ comma, less, U2039, U00AB ] };	// COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET
28301e04c3fSmrg	key <AD03> { [ period, greater, U203A, U00BB ] };	// PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET
28401e04c3fSmrg	key <AD04> { [ p, P, U00F8, U00D8 ] };	// SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR
2857ec681f3Smrg	key <AD05> { [ y, Y, U01B4, U01B3 ] };	// SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK
2867ec681f3Smrg	key <AD06> { [ f, F, U00E6, U00C6 ] };	// SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE
2877ec681f3Smrg	key <AD07> { [ g, G, U02BC, UA78B ] };	// SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO)
2887ec681f3Smrg	key <AD08> { [ c, C, U0327, U00A9 ] };	// SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT
2897ec681f3Smrg	key <AD09> { [ r, R, U25CC, U00AE ] };	// SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN
2907ec681f3Smrg	key <AD10> { [ l, L, U1DC6, U1DC4 ] };	// SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE
2917ec681f3Smrg	key <AD11> { [ slash, U003F, U00F7, U0294 ] };	// SLASH, QUESTION MARK, DIVISION SIGN, GLOTTAL STOP
2927ec681f3Smrg	key <AD12> { [ equal, plus, NoSymbol, plusminus ] };	// EQUAL, PLUS, , PLUS-MINUS
2937ec681f3Smrg	key <AE01> { [ KP_1, exclam, U00BC ] };	// 1, EXCLAMATION POINT, ONE QUARTER
2947ec681f3Smrg	key <AE02> { [ KP_2, at, U00BD ] };	// 2, AT SYMBOL, ONE HALF
2957ec681f3Smrg	key <AE03> { [ KP_3, numbersign, U00BE ] };	// 3, NUMBER SIGN, THREE QUARTERS
29601e04c3fSmrg	key <AE04> { [ KP_4, dollar, NoSymbol, U20AC ] };	// 4, DOLLAR, , EURO SIGN
29701e04c3fSmrg	key <AE05> { [ KP_5, percent ] };	// 5, PERCENT
29801e04c3fSmrg	key <AE06> { [ KP_6, asciicircum ] };	// 6, CARET
29901e04c3fSmrg	key <AE07> { [ KP_7, ampersand ] };	// 7, AMPERSAND
30001e04c3fSmrg	key <AE08> { [ KP_8, asterisk, NoSymbol, multiply ] };	// 8, ASTERISK, , MULTIPLY
30101e04c3fSmrg	key <AE09> { [ KP_9, parenleft, leftsinglequotemark, leftdoublequotemark ] };	// 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
30201e04c3fSmrg	key <AE10> { [ KP_0, parenright, rightsinglequotemark, rightdoublequotemark ] };	// 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK
30301e04c3fSmrg	key <AE11> { [ U0301, U030C, U005B, U007B ] };	// COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET
30401e04c3fSmrg	key <AE12> { [ U0327, dead_diaeresis, U005D, braceright ] };	// COMBINING CEDILLA, DEAD DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET
30501e04c3fSmrg	key <BKSL> { [ backslash, bar ] };	// BACKSLASH, BAR
30601e04c3fSmrg	key <TLDE> { [ U030D, U0303, U0060, U007E ] };	// COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE
30701e04c3fSmrg	include "cm(semicolon_switch_dvorak)"
30801e04c3fSmrg	include "level3(ralt_switch)"
30901e04c3fSmrg};
31001e04c3fSmrg
3117ec681f3Smrg// The following code creates the "Cameroon key" phenomenon.
3127ec681f3Smrg
3137ec681f3Smrgpartial modifier_keys
3147ec681f3Smrgxkb_symbols "semicolon_switch" {
3157ec681f3Smrg	key <AC10> {
3167ec681f3Smrg	symbols[Group1] = [ ISO_Level3_Latch,	colon,	semicolon,	colon ]};
31701e04c3fSmrg	modifier_map Mod5	{ ISO_Level3_Latch };
3187ec681f3Smrg};
3197ec681f3Smrg
3207ec681f3Smrgpartial modifier_keys
32101e04c3fSmrgxkb_symbols "exclamation_switch" {
32201e04c3fSmrg	key <AB10> {
3237ec681f3Smrg	symbols[Group1] = [ ISO_Level3_Latch,	U00A7,	exclam,	U00A7 ]
3247ec681f3Smrg	};
3257ec681f3Smrg	modifier_map Mod5	{ ISO_Level3_Latch };
3267ec681f3Smrg};
3277ec681f3Smrg
3287ec681f3Smrgpartial modifier_keys
3297ec681f3Smrgxkb_symbols "semicolon_switch_dvorak" {
3307ec681f3Smrg	key <AB01> {
3317ec681f3Smrg	symbols[Group1] = [ ISO_Level3_Latch,	colon,	semicolon,	colon ]
3327ec681f3Smrg	};
3337ec681f3Smrgmodifier_map Mod5	{ ISO_Level3_Latch };
3347ec681f3Smrg};
3357ec681f3Smrg
3367ec681f3Smrg
3377ec681f3Smrg// ------- begin Mmuock alphabet layout ------------------------------------------
3387ec681f3Smrg//   This layout is used for the Mmuock alphabet as described in the book
3397ec681f3Smrg//   _The Sound of Mmuock: Orthography (2. ed.)_ [isbn: 978-9956-645-28-1].
3407ec681f3Smrg//   Mmuock is the language of the Mmuock (local: Muòk) people of Western
3417ec681f3Smrg//   Cameroon.  
3427ec681f3Smrg// 
3437ec681f3Smrg//      Author: Tano Fotang <fotang at mmuock dot org>
3447ec681f3Smrg//     Created: 2014-06-24
3457ec681f3Smrg//     Version: 1.2
3467ec681f3Smrg//
3477ec681f3Smrg// CHANGES v 1.0:
3487ec681f3Smrg//	2014-07-06 corrected shifted level3 of <AC11> to quotedbl
3497ec681f3Smrg// CHANGES v 1.1:
3507ec681f3Smrg//  2015-05-23 1- added dead_tilde to key <TILDE>; this is needed to produce
3517ec681f3Smrg//               the letter <ñ> which was totally missing from the keyboard
3527ec681f3Smrg//             2- added letter <dz> to <AB01>; the letter had been missing.
3537ec681f3Smrg//             3- if we're not re-defining particular symbols from the included
3547ec681f3Smrg//               latin layout, then maintain the original latin mappings.
3557ec681f3Smrg//               Previously, we had set them to NoSymbol. Now, we want to
3567ec681f3Smrg//               keep the original latin mappings except for those few that we
3577ec681f3Smrg//               want to overwrite for our own keyboard.
3587ec681f3Smrg//
3597ec681f3Smrg// CHANGES v 1.2:
3607ec681f3Smrg// 2016-06-17  1- added dead keys dead_macron, dead_acute, and dead_grave for
3617ec681f3Smrg//                tones 1, 3, and 4, for compatibility with the Keyman version.
3627ec681f3Smrg//             2- rearranged combining diacritics for tones 0 to 5 such that
36301e04c3fSmrg//                the diacritics are on consequetive keys (AC01 to AC05).
36401e04c3fSmrg//             3- moved tone 8 to level 3 of AE12.
36501e04c3fSmrg//             4- moved layout definition out of the EXTRAS section.
36601e04c3fSmrg//             5- for a cleaner keyboard,
36701e04c3fSmrg//                replaced ṭhe included latin layout with us(basic).
36801e04c3fSmrg//
36901e04c3fSmrg//
37001e04c3fSmrg// NOTES:
3717ec681f3Smrg// 0. This map is based on the Latin alphabet layout for the US keyboard.
3727ec681f3Smrg//
37301e04c3fSmrg// 1. We use combining diacritical marks to create tone markings. There are 13
37401e04c3fSmrg//    tones that need to be indicated, although the first 5 are usually enough
37501e04c3fSmrg//    to represent the rest in simplified orthography.
37601e04c3fSmrg//
37701e04c3fSmrg// 2. When composing Mmuock text, about every fourth symbol is for tone. To
3787ec681f3Smrg//    facilitate easy and fast input, the combining diacritics are placed on
37901e04c3fSmrg//    the home row (AC). To reduce the number of key strokes required, the
3807ec681f3Smrg//    unshifted third level is used. Only 5 of the combining diacritics are not
3817ec681f3Smrg//    on the AC row; they are in the top number row, AE.
3827ec681f3Smrg//
3837ec681f3Smrg// 3. Symbols that are used infrequently (`r', `h', `ɛ', `ǝ', etc.) are placed
3847ec681f3Smrg//    in level3. Additionally, the letter eng (`ŋ'), although commonly used, 
3857ec681f3Smrg//    is found in level3 because it can alternatively be represented by <ng>.
3867ec681f3Smrg//    (Indeed, the keyman version of keyboard actually replaces <ng> with `ŋ'.)
3877ec681f3Smrg//
3887ec681f3Smrg// 4. The unshifted AB10 key (normally assigned to the slash `/') is used as
3897ec681f3Smrg//    level 3 switch since the slash is not used in the ordinary course of
3907ec681f3Smrg//    typing Mmuock text. 
3917ec681f3Smrg//
3927ec681f3Smrg// 5. The 'Cameroon Multilingual' keyboards that are defined elsewhere, do not
3937ec681f3Smrg//    fit our needs because: (a) they are based on a different alphabet, (b) the
3947ec681f3Smrg//    vast majority of their symbols are not used in Mmuock, and (c) for the few
3957ec681f3Smrg//    symbols that are used in Mmuock, their placings are not egonomic for 
3967ec681f3Smrg//    typing Mmuock as the _PRIMARY_ language. The aim of this keyboard, is
3977ec681f3Smrg//    to give priority to symbols that are actually used in the Mmuock alphabet.
3987ec681f3Smrg//
3997ec681f3Smrg// 6. The following fonts have been found to produce the best results with this
4007ec681f3Smrg//    keyboard:
4017ec681f3Smrg//         Family                    Accuracy
4027ec681f3Smrg//      DejaVu (except Sans Mono)        9/10 
4037ec681f3Smrg//      Linux Libertine                  8/10
4047ec681f3Smrg//      Ubuntu (except light)            8/10
4057ec681f3Smrg//      Droid (except sans mono)         7/10
40601e04c3fSmrg//      Gentium, Gentium Alt           6.5/10
4077ec681f3Smrg//    In the terminal emulator, the following font variants have been tested:
4087ec681f3Smrg//      Ubuntu Mono                      9/10
4097ec681f3Smrg//      Unifont (Medium)                 9/10
4107ec681f3Smrg//      DejaVu Sans Mono               7.5/10
4117ec681f3Smrg//      Droid Sans Mono                6.5/10
4127ec681f3Smrg//   These fonts are all freely available.
4137ec681f3Smrg// 
4147ec681f3Smrg// ------the layout-----------
4157ec681f3Smrg//
4167ec681f3Smrg//   ┌─────┐
4177ec681f3Smrg//   │ 2 4 │   2 = Shift,  4 = Level3 + Shift
41801e04c3fSmrg//   │ 1 3 │   1 = Normal, 3 = Level3
41901e04c3fSmrg//   └─────┘
4207ec681f3Smrg//
42101e04c3fSmrg//   ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
4227ec681f3Smrg//   │ ~ ~ │ !   │ @   │ #   │ $   │ %   │ ^   │ &   | *   │ (   │ )   │ _ – │ +   ̣┃ ⌫ Back- ┃
423// AE│ ` ` │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   ̂│ 7   ̑│ 8   ̍│ 9   ̓│ 0   ̊│ ¯ - │ =   ̋┃  space  ┃
424//   ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
425//   ┃       ┃ Q   │ W   │ E Ǝ │ Š R │ T   │ Y   │ U Ω │ I Ɛ │ O Φ │ P ∏ │ Ø { │ Σ } ┃ Enter ┃
426// AD┃Tab ↹  ┃ q   │ w   │ e ǝ │ š r │ t   │ y   │ u ω │ i ɛ │ o φ │ p π │ ø [ │ σ ] ┃   ⏎   ┃
427//   ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
428//   ┃        ┃ A   │ S   │ D   │ F   │ G   │  ̇ H │ J   │ K   │ L   │ Œ : │ " ” │ Æ | ┃      ┃
429// AC┃Caps ⇬  ┃ a   ̃│ s   ̄| d   ́| f   ̀| g   ̌|  ̣ h │ j   ̆│ k   ̏│ l   ̈│ œ ; │ ' ’ │ æ \ ┃      ┃
430//   ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
431//   ┃             │ Z Dz │ X   │ C   │ V   │ B   │ N ŋ │ M   │ < « │ > » │ ?   ┃             ┃
432// AB┃Shift ⇧      │ z dz │ x   │ c   │ v   │ b   │ n Ŋ │ m   │ , ‹ │ . › │   / ┃Shift ⇧      ┃
433//   ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
434//   ┃       ┃       ┃       ┃                                   ┃       ┃       ┃       ┃
435// AA┃Ctrl   ┃Meta   ┃Alt    ┃             Space                 ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
436//   ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
437//
438
439partial alphanumeric_keys
440xkb_symbols "mmuock" {
441
442   include "us(basic)"
443   include "level3(ralt_switch)"
444
445   name[Group1]= "Mmuock";
446   key <TLDE> { [ dead_grave,  dead_tilde,          grave,    asciitilde ] };
447   key <AE06> { [          6, asciicircum,          U0302                ] }; // tone 10
448   key <AE07> { [          7,   ampersand,          U0311                ] }; // tone 12
449   key <AE08> { [          8,    asterisk,          U030D                ] }; // tone 13
450   key <AE09> { [          9,   parenleft,          U0307                ] }; // tone 7
451   key <AE10> { [          0,  parenright,          U030A                ] }; // tone 6
452   key <AE11> { [dead_macron,  underscore,          minus,        endash ] };
453   key <AE12> { [      equal,        plus,          U030B, dead_belowdot ] }; // U030B = tone 8
454
455   key <AD03> { [          e,           E,          U01DD,         U018E ] }; // U01DD = reversed E
456   key <AD04> { [     scaron,      Scaron,              r,             R ] };
457   key <AD07> { [          u,           U,    Greek_omega,   Greek_OMEGA ] };
458   key <AD08> { [          i,           I,          U025B,         U0190 ] }; // U025B = open E
459   key <AD09> { [          o,           O,      Greek_phi,     Greek_PHI ] };
460   key <AD10> { [          p,           P,       Greek_pi,      Greek_PI ] };
461   key <AD11> { [     oslash,      Oslash,    bracketleft,     braceleft ] };
462   key <AD12> { [Greek_sigma, Greek_SIGMA,   bracketright,    braceright ] }; 
463
464   key <AC01> { [          a,           A,          U0303                ] }; // tone 0
465   key <AC02> { [          s,           S,          U0304                ] }; // tone 1
466   key <AC03> { [          d,           D,          U0301                ] }; // tone 3
467   key <AC04> { [          f,           F,          U0300                ] }; // tone 4
468   key <AC05> { [          g,           G,          U030C                ] }; // tone 5
469   key <AC06> { [      U0323,       U0307,              h,             H ] }; // COMBINING DOT BELOW, ABOVE
470   key <AC07> { [          j,           J,          U0306                ] }; // tone 9
471   key <AC08> { [          k,           K,          U030F                ] }; // tone 11
472   key <AC09> { [          l,           L,          U0308                ] }; // tone 14
473   key <AC10> { [         oe,          OE,      semicolon,         colon ] };
474   key <AC11> { [ dead_acute,    quotedbl,     apostrophe                ] };
475   key <BKSL> { [         ae,          AE,      backslash,           bar ] };
476
477   key <AB01> { [          z,           Z,          U01F3,         U01F2 ] }; // U01F3 = letter dz
478   key <AB06> { [          n,           N,            eng,           ENG ] };
479   key <AB08> { [      comma,        less,  guillemotleft,         U2039 ] };
480   key <AB09> { [     period,     greater, guillemotright,         U203A ] };
481
482   include "cm(solidus_switch)"
483};
484// use slash as special key for switching to level3
485partial modifier_keys
486xkb_symbols "solidus_switch" {
487   key <AB10> {
488     symbols[Group1] = [ ISO_Level3_Latch, question, slash, dead_abovedot ]
489   };
490   modifier_map Mod5	{ ISO_Level3_Latch };
491};
492// ------- end of Mmuock keyboard map --------------------------------------------
493