aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols/cm
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/xkeyboard-config/symbols/cm')
-rw-r--r--xorg-server/xkeyboard-config/symbols/cm125
1 files changed, 125 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/symbols/cm b/xorg-server/xkeyboard-config/symbols/cm
index 6b7a51854..685ef2afa 100644
--- a/xorg-server/xkeyboard-config/symbols/cm
+++ b/xorg-server/xkeyboard-config/symbols/cm
@@ -324,3 +324,128 @@ xkb_symbols "semicolon_switch_dvorak" {
modifier_map Mod5 { ISO_Level3_Latch };
};
+// EXTRAS:
+
+// ------- begin Mmuock keyboard map ------------------------------------------
+// This layout is used for the Mmuock alphabet as described in the book
+// _The Sound of Mmuock: Orthography_ [isbn: 978-9956-645-17-6]. Mmuock
+// is the language of the Mmuock (local: Muòk) people of Western Cameroon.
+//
+// Author: Tano Fotang <fotang at mmuock dot org>
+// Created: 2014-06-24
+// Version: 1.0
+//
+// CHANGES:
+// 2014-07-06 corrected shifted level3 of <AC11> to quotedbl
+//
+// NOTES:
+// 0. This map is based on the Latin layout for the US keyboard.
+//
+// 1. We use combining diacritical marks to create tone markings. There are 13
+// tones that need to be indicated.
+//
+// 2. When composing Mmuock text, about every fourth symbol is for tone. To
+// facilitate easy and fast input, the combining diacritics are placed on
+// the home row (AC). To reduce the number of key strokes required, the
+// unshifted third level is used. Only 5 of the combining diacritics are not
+// on the AC row; they are in the top number row, AE.
+//
+// 3. Symbols that are used infrequently (`r', `h', `ɛ', `ǝ', etc.) are placed
+// in level3. Additionally, the letter eng (`ŋ'), although commonly used,
+// is found in level3 because it can alternatively be represented by <ng>.
+// (Indeed, the keyman keyboard actually replaces <ng> with `ŋ'.)
+//
+// 4. The unshifted AB10 key (normally assigned to the slash `/') is used as
+// level 3 switch since the slash is not used in the ordinary course of
+// typing Mmuock text.
+//
+// 5. The 'Cameroon Multilingual' keyboard that is defined elsewhere, does not
+// fit our needs because: (a) it is based on a different alphabet, (b) the
+// vast majority of its symbols are not used in Mmuock, and (b) for the few
+// symbols that are shared, the placing of the symbols is not egonomic for
+// typing Mmuock as the _PRIMARY_ language. The aim of this keyboard, is to
+// give priority to symbols that are actually used in the Mmuock alphabet.
+//
+// 6. The following fonts have been found to produce the best results with this
+// keyboard:
+// Family Accuracy
+// DejaVu (except Sans Mono) 9/10
+// Linux Libertine 8/10
+// Ubuntu (except light) 8/10
+// Droid (except sans mono) 7/10
+// Gentium, Gentium Alt 6.5/10
+// In the terminal emulator, the following font variants are most suitable:
+// Ubuntu Mono 9/10
+// Unifont (Medium) 9/10
+// DejaVu Sans Mono 7.5/10
+// Droid Sans Mono 6.5/10
+// These fonts are all freely available.
+//
+// ------the layout-----------
+//
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & | * │ ( │ ) │ _ │ + ┃ ⌫ Back- ┃
+// AE│ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6  ̂│ 7  ̑│ 8  ̍│ 9  ̓│ 0  ̊│ - │ = ┃ space ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃ ┃ Q │ W │ E Ǝ │ Š R │ T │ Y │ U Ω │ I Ɛ │ O Φ │ P ∏ │ Ø { │ Σ } ┃ Enter ┃
+// AD┃Tab ↹ ┃ q │ w │ e ǝ │ š r │ t │ y │ u ω │ i ɛ │ o φ │ p π │ ø [ │ σ ] ┃ ⏎ ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+// ┃ ┃ A │ S │ D │ F │ G │  ̇ H │ J │ K │ L │ Œ : │ " ” │ Æ | ┃ ┃
+// AC┃Caps ⇬ ┃ a │ s  ̃| d  ̀| f  ̌| g  ̈|  ̣ h │ j  ̆│ k  ̏│ l  ̄│ Œ ; │ ' ’ │ æ \ ┃ ┃
+// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃ │ Z │ X │ C │ V │ B │ N ŋ │ M │ < « │ > » │ ? ┃ ┃
+// AB┃Shift ⇧ │ z │ x │ c │ v │ b │ n Ŋ │ m │ , ‹ │ . › │ / ┃Shift ⇧ ┃
+// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
+// AA┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ⇮┃Menu ┃Ctrl ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+//
+
+partial alphanumeric_keys
+xkb_symbols "mmuock" {
+
+ include "latin"
+ include "level3(ralt_switch)"
+
+ name[Group1]= "Mmuock";
+ key <AE06> { [ 6, asciicircum, U0302, NoSymbol ] }; // tone 10
+ key <AE07> { [ 7, ampersand, U0311, NoSymbol ] }; // tone 12
+ key <AE08> { [ 8, asterisk, U030D, trademark ] }; // tone 13
+ key <AE09> { [ 9, parenleft, U0313, plusminus ] }; // tone 14
+ key <AE10> { [ 0, parenright, U030A, degree ] }; // tone 6
+ key <AD03> { [ e, E, U01DD, U018E ] }; // U01DD = reversed E
+ key <AD04> { [ scaron, Scaron, r, R ] };
+ key <AD07> { [ u, U, Greek_omega, Greek_OMEGA ] };
+ key <AD08> { [ i, I, U025B, U0190 ] }; // U025B = open E
+ key <AD09> { [ o, O, Greek_phi, Greek_PHI ] };
+ key <AD10> { [ p, P, Greek_pi, Greek_PI ] };
+ key <AD11> { [ oslash, Ooblique, bracketleft, braceleft ] };
+ key <AD12> { [Greek_sigma, Greek_SIGMA, bracketright, braceright ] };
+ key <AC02> { [ s, S, U0303, NoSymbol ] }; // tone 1
+ key <AC03> { [ d, D, U0300, NoSymbol ] }; // tone 4
+ key <AC04> { [ f, F, U030C, NoSymbol ] }; // tone 5
+ key <AC05> { [ g, G, U0308, NoSymbol ] }; // tone 7
+ key <AC06> { [ U0323, U0307, h, H ] }; // COMBINING DOT BELOW, ABOVE
+ key <AC07> { [ j, J, U0306, NoSymbol ] }; // tone 9
+ key <AC08> { [ k, K, U030F, NoSymbol ] }; // tone 11
+ key <AC09> { [ l, L, U0304, NoSymbol ] }; // tone 0
+ key <AC10> { [ oe, OE, semicolon, colon ] };
+ key <AC11> { [ U0301, U030B, apostrophe, quotedbl ] }; // tone 3, 8
+ key <AB06> { [ n, N, eng, ENG ] };
+ key <AB08> { [ comma, less, guillemotleft, U2039 ] };
+ key <AB09> { [ period, greater, guillemotright, U203A ] };
+ key <BKSL> { [ ae, AE, backslash, bar ] };
+
+ include "cm(solidus_switch)"
+};
+
+// use slash as special key for switching to level3
+partial hidden modifier_keys
+xkb_symbols "solidus_switch" {
+ key <AB10> {
+ symbols[Group1] = [ ISO_Level3_Latch, question, slash, NoSymbol ]
+ };
+ modifier_map Mod5 { ISO_Level3_Latch };
+};
+// ------- end Mmuock keyboard map --------------------------------------------
+