OLPC Nigeria Keyboard: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Reverted edits by 194.176.176.82 (Talk) to last version by Walter)
 
(15 intermediate revisions by 4 users not shown)
Line 3: Line 3:
{{Keyboard layouts}}
{{Keyboard layouts}}


==West African (formerly Nigerian) keyboard==
==Nigerian keyboard==
[[Image:NG-MP-alt.png|800px|none|West African (formerly Nigerian) keyboard]]


[[Image:NIgeria-v4.png|800px|none|Nigerian keyboard]]
{| border="1"

!XKB KEY !!HID !!key !!unmodified !!shift !!alt gr !!alt gr shift !!ctrl !!fn !!comment
==OLPC section of the XKB symbol file==
|-
To use the XKB ng (Nigerian) layout, you may need to edit <tt>/etc/X11/xorg.conf</tt>:
| ||0x38 ||110 ||esc || || || || ||HK_01 ||

|-
XkbLayout "ng"
| ||0x79 ||140 || || || || || ||HK_00 ||search
XkbVariant "olpc"
|-

| ||0x3A ||112 ||XK_ViewMesh || || || || || ||F1, analog 1
<pre>
|-
partial alphanumeric_keys
| ||0x77 ||141 || || || || || ||HK_02 ||analog 2
xkb_symbols "olpc" {
|-
name[Group1]= "Nigeria - OLPC West Africa";
| ||0x3B ||113 ||XK_ViewFriends || || || || || ||F2, analog 3

|-
include "us(basic)"
| ||0x76 ||142 || || || || || ||HK_07 ||analog 4
// OLPC Nigeria keyboard layout
|-
// See: http://wiki.laptop.org/go/Image:Nigeria-B3.png
| ||0x3C ||114 ||XK_ViewHome || || || || || ||F3, analog 5
// combined support for Igbo, Hausa, and Yoruba
|-
// Contact Walter Bender (walter@laptop.org)
| ||0x75 ||143 || || || || || ||HK_08 ||analog 6

|-
key <TLDE> { [ grave, asciitilde dead_grave, dead_grave ] };
| ||0x3D ||115 ||XK_ViewActivity || || || || || ||F4, analog 7
key <AE01> { [ 1, exclam exclamdown, exclamdown ] };
|-
key <AE02> { [ 2, at dead_acute, dead_acute ] };
| ||0x3E ||116 || || || || || || ||F5, analog 8
key <AE03> { [ 3, numbersign, dead_cedilla, dead_cedilla ] };
|-
key <AE04> { [ 4, dollar dead_tilde, dead_tilde ] };
| ||0x74 ||144 || || || || || ||HK_09 ||analog 9
key <AE05> { [ 5, percent, dead_caron, dead_caron ] };
|-
key <AE06> { [ 6, asciicircum, dead_circumflex,dead_circumflex ] };
| ||0x3F ||117 || || || || || || ||F6, analog 10
key <AE07> { [ 7, ampersand, dead_belowdot, dead_belowdot ] };
|-
key <AE08> { [ 8, asterisk, dead_abovedot, dead_abovedot ] };
| ||0x73 ||145 || || || || || ||HK_10 ||analog 11
key <AE09> { [ 9, parenleft, dead_belowverticalline, dead_belowverticalline ] };
|-
key <AE10> { [ 0, parenright, dead_diaeresis, dead_diaeresis ] };
| ||0x40 ||118 || || || || || || ||F7, analog 12
key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
|-
key <AE12> { [ equal, plus, guillemotleft, guillemotright ] };
| ||0x72 ||146 || || || || || ||HK_11 ||analog 13

|-
key <AD01> { [ q, Q, 0x1001EB9, 0x1001EB8 ] }; // E with dot below
| ||0x41 ||119 || || || || || || ||F8, analog 14
key <AD02> { [ w, W, udiaeresis, Udiaeresis ] };
|-
key <AD03> { [ e, E, EuroSign, EuroSign ] };
| ||0x42 ||120 || || || || || || ||F9, analog 15
key <AD04> { [ r, R, 0x10020A6, 0x10020A6 ] }; // Naira Sign
|-
key <AD05> { [ t, T, 0x1001EE5, 0x1001EE4 ] }; // U with dot below
| ||0x71 ||147 || || || || || ||HK_12 ||analog 16
key <AD06> { [ y, Y, 0x1001ECB, 0x1001ECA ] }; // I with dot below
|-
key <AD11> { [ bracketleft, braceleft, 0x10001B4, 0x10001B3 ] }; // Y with hook
| ||0x43 ||121 || || || || || || ||F10, analog 17
key <AD12> { [ bracketright, braceright, 0x10001E7, 0x10001E6 ] }; // G with caron
|-

| ||0x70 ||148 || || || || || ||HK_13 ||analog 18
key <AC02> { [ s, S, sterling, sterling ] };
|-
key <AC05> { [ g, G, 0x1000257, 0x100018A ] }; // D with hook
| ||0x44 ||122 || || || || || || ||F11, analog 19
key <AC06> { [ h, H, 0x1000253, 0x1000181 ] }; // B with hook
|-
key <AC07> { [ j, J, 0x1000199, 0x1000198 ] }; // K with hook
| ||0x6F ||149 || || || || || ||HK_14 ||analog 20
key <AC10> { [ semicolon, colon, 0x1000131, I ] }; // Dotless I
|-
key <AC11> { [apostrophe, quotedbl, 0x10001DD, 0x100018E ] }; // Reversed E
| ||0x45 ||123 || || || || || || ||F12, analog 21
key <BKSL> { [ backslash, bar, scedilla, Scedilla ] };
|-

| ||0x6E ||150 || || || || || ||HK_05 ||bulletin board
key <AB01> { [ z, Z, 0x1000272, 0x100019D ] }; // N with left hook
|-
key <AB02> { [ x, X, 0x1001ECD, 0x1001ECC ] }; // O with dot below
| ||0x5D ||129 ||XK_Menu || || || || ||HK_06 ||frame
key <AB04> { [ v, V, 0x1001E63, 0x1001E62 ] }; // S with dot below
|-
key <AB06> { [ n, N, 0x1001E45, 0x1001E44 ] }; // N with dot above
| || || || || || || || || ||
key <AB07> { [ m, M, ntilde, Ntilde ] };
|-
key <AB09> { [ period, greater, ccedilla, Ccedilla ] };
|key <TLDE> ||0x01 ||1 ||grave ||asciitilde ||exclamdown ||exclamdown || || ||
key <AB10> { [ slash, question, questiondown, questiondown ] };
|-
key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
|key <AE01> ||0x1E ||2 ||1 ||exclam ||sterling ||sterling || || ||

|-
include "level3(ralt_switch)"
|key <AE02> ||0x1F ||3 ||2 ||at ||Eurosign ||Eurosign ||C-@ || ||
};
|-

|key <AE03> ||0x20 ||4 ||3 ||numbersign ||dollar ||dollar || || ||
partial alphanumeric_keys
|-
xkb_symbols "olpc2" {
|key <AE04> ||0x21 ||5 ||4 ||0x10020A6 ||0x1000300 ||0x1000300 || || ||Naira, combining grave
include "us(olpc)"
|-
key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
|key <AE05> ||0x22 ||6 ||5 ||percent ||0x1000301 ||0x1000301 || || ||combining acute
};
|-
</pre>
|key <AE06> ||0x23 ||7 ||6 ||asciicircum ||0x100030A ||0x100030A ||C-^ || ||combining ring above

|-
== Compose character additions ==
|key <AE07> ||0x24 ||8 ||7 ||ampersand ||0x1000302 ||0x1000302 || || ||combining circumflex above
<pre>
|-
# Below verticalline combinations
|key <AE08> ||0x25 ||9 ||8 ||asterisk ||0x1000324 ||0x1000324 || || ||combining caron above
<dead_belowverticalline> <B> : "B̩"
|-
<dead_belowverticalline> <b> : "b̩"
|key <AE09> ||0x26 ||10 ||9 ||parenleft ||0x1000307 ||0x1000307 || || ||combining dot above
<dead_belowverticalline> <D> : "D̩"
|-
<dead_belowverticalline> <d> : "d̩"
|key <AE10> ||0x27 ||11 ||0 ||parenright ||0x1000308 ||0x1000308 || || ||combining diaeresis above
<dead_belowverticalline> <H> : "H̩"
|-
<dead_belowverticalline> <h> : "h̩"
|key <AE11> ||0x2D ||12 ||minus ||underscore ||0x1000304 ||0x1000304 ||C-_ || ||combining macron above
<dead_belowverticalline> <K> : "K̩"
|-
<dead_belowverticalline> <k> : "k̩"
|key <AE12> ||0x2E ||13 ||equal ||plus ||0x1000303 ||0x1000303 || || ||combining tilde above
<dead_belowverticalline> <L> : "L̩"
|-
<dead_belowverticalline> <l> : "l̩"
|key <BKSP> ||0x2A ||15 ||backspace || || || || ||delete ||
<dead_belowverticalline> <M> : "M̩"
|-
<dead_belowverticalline> <m> : "m̩"
| || || || || || || || || ||
<dead_belowverticalline> <N> : "N̩"
|-
<dead_belowverticalline> <n> : "n̩"
|key <TAB> ||0x2B ||16 ||tab ||back tab || || || || ||
<dead_belowverticalline> <R> : "R̩"
|-
<dead_belowverticalline> <r> : "r̩"
|key <AD01> ||0x14 ||17 ||q ||Q || || ||C-Q || ||
<dead_belowverticalline> <S> : "S̩"
|-
<dead_belowverticalline> <s> : "s̩"
|key <AD02> ||0x1A ||18 ||w ||W ||0x1001EB9 ||0x1001EB8 ||C-W || ||E with dot below
<dead_belowverticalline> <V> : "V̩"
|-
<dead_belowverticalline> <v> : "v̩"
|key <AD03> ||0x08 ||19 ||e ||E ||0x10001DD ||0X100018E ||C-E || ||Reverse E
<dead_belowverticalline> <W> : "W̩"
|-
<dead_belowverticalline> <w> : "w̩"
|key <AD04> ||0x15 ||20 ||r ||R ||0x10001B4 ||0x10001B3 ||C-R || ||Y with hook
<dead_belowverticalline> <Z> : "Z̩"
|-
<dead_belowverticalline> <z> : "z̩"
|key <AD05> ||0x17 ||21 ||t ||T ||0x1000327 ||0x1000327 ||C-T || ||combining cedilla

|-
</pre>
|key <AD06> ||0x1C ||22 ||y ||Y ||0x1000325 ||0x1000325 ||C-Y || ||combining ring below
|-
|key <AD07> ||0x18 ||23 ||u ||U ||0x100032D ||0x100032D ||C-U || ||combining circumflex below
|-
|key <AD08> ||0x0C ||24 ||i ||I ||0x100032C ||0x100032C ||C-I || ||combining caron below
|-
|key <AD09> ||0x12 ||25 ||o ||O ||0x1000323 ||0x1000323 ||C-O || ||combining dot below
|-
|key <AD10> ||0x13 ||26 ||p ||P ||0x1000304 ||0x1000304 ||C-P || ||combining diaeresis below
|-
|key <AD11> ||0x2F ||27 ||[ ||{ ||0x1000331 ||0x1000331 ||C-[ || ||combining macron below
|-
|key <AD12> ||0x30 ||28 ||] ||} ||0x1000330 ||0x1000330 ||C-] || ||combining tilde below
|-
| || || || || || || || || ||
|-
|key <CAPS> ||0xE0 ||58 ||control || || || || || ||
|-
|key <AC01> ||0x04 ||31 ||a ||A ||Greek_iota ||Greek_IOTA ||C-A || ||
|-
|key <AC02> ||0x16 ||32 ||s ||S ||0x1001E63 ||0x1001E62 ||C-S || ||S with dot below
|-
|key <AC03> ||0x07 ||33 ||d ||D ||0x1000257 ||0x100018A ||C-D || ||D with hook
|-
|key <AC04> ||0x09 ||34 ||f ||F ||0x1001E0D ||0x1001E0C ||C-F || ||D with dot below
|-
|key <AC05> ||0x0A ||35 ||g ||G ||0x1000272 ||0x100019D ||C-G || ||N with left hook
|-
|key <AC06> ||0x0B ||36 ||h ||H ||0x1001EE5 ||0x1001EE4 ||C-H || ||U with dot below
|-
|key <AC07> ||0x0D ||37 ||j ||J ||0x1001ECB ||0x1001ECA ||C-J || ||I with dot below
|-
|key <AC08> ||0x0E ||38 ||k ||K ||0x1000199 ||0x1000198 ||C-K || ||K with hook
|-
|key <AC09> ||0x0F ||39 ||l ||L ||0x1001E37 ||0x1001E36 ||C-L || ||O with dot below
|-
|key <AC10> ||0x33 ||40 ||semicolon ||colon ||masculine ||ordfeminine || || ||
|-
|key <AC11> ||0x34 ||41 ||apostrophe ||quotedbl ||currency ||currency || || ||
|-
|key <BKSL> ||0x31 ||42 ||backslash ||bar ||section ||section ||C-\ || ||
|-
|key <RTRN> ||0x28 ||43 ||enter || || || || ||insert ||
|-
| || || || || || || || || ||
|-
|key <LFSH> ||0xE1 ||44 ||left shift || || || || || ||
|-
|key <AB01> ||0x1D ||46 ||z ||Z || || ||C-Z || ||
|-
|key <AB02> ||0x1B ||47 ||x ||X || || ||C-X || ||
|-
|key <AB03> ||0x06 ||48 ||c ||C ||0x1000254 ||0x1000186 ||C-C || ||open O
|-
|key <AB04> ||0x19 ||49 ||v ||V ||0x100028B ||0x10001B2 ||C-V || ||V with hook
|-
|key <AB05> ||0x05 ||50 ||b ||B ||0x1000253 ||0x1000181 ||C-B || ||B with hook
|-
|key <AB06> ||0x11 ||51 ||n ||N ||eng ||ENG ||C-N || ||
|-
|key <AB07> ||0x10 ||52 ||m ||M ||0x1001E45 ||0x1001E44 ||C-M || ||N with dot above
|-
|key <AB08> ||0x36 ||53 ||comma ||less ||guillemontleft ||guillemontleft || || ||
|-
|key <AB09> ||0x37 ||54 ||period ||greater ||guillemontright ||guillemontright || || ||
|-
|key <AB10> ||0x38 ||55 ||slash ||question ||questiondown ||questiondown || || ||
|-
|key <RTSH> ||0xE5 ||57 ||right shift || || || || || ||
|-
|key <UP> ||0x52 ||83 ||up arrow || || || || ||page up ||
|-
|key <LSGT> ||0x73 ||56 ||multiply ||division ||ISO_Next_Group ||ISO_Prev_Group || ||HK_04 ||
|-
| || || || || || || || || ||
|-
| ||0xE1 ||59 ||fn || || || || || ||
|-
| ||0x5B ||127 ||XK_Grab_L || || || || || ||
|-
|key <LALT> ||0xE2 ||60 ||alt || || || || || ||
|-
|key <SPCE> ||0x2C ||61 ||space || || || || ||XK_ViewSource ||
|-
|key <RALT> ||0xE6 ||62 ||alt gr || || || || || ||
|-
| ||0x5C ||128 ||XK_Grab_R || || || || ||HK_03 ||
|-
|key <LEFT> ||0x50 ||79 ||left arrow || || || || ||home ||
|-
|key <DOWN> ||0x51 ||84 ||down arrow || || || || ||page down ||
|-
|key <RGHT> ||0x4F ||89 ||right arrow || || || || ||end ||
|}


[[Category:Keyboard]]
[[Category:Keyboard]]

Latest revision as of 05:54, 17 December 2008

  This page is monitored by the OLPC team.


OLPC keyboard layouts

Instructions for setting up keyboard switching in Terminal are on the Customizing NAND images page. On bilingual XOs, the multiplication/division key is replaced with a keyboard switching key.

Changing the language of the keyboard is independent of changing the language currently displayed. The language currently displayed can be changed by using the Language section of the Sugar Control Panel.

Membrane keyboard layouts

English (US international); Spanish (Latin America); Portuguese (Brazilian); Amharic (Ethiopic); Arabic; Nigerian (Igbo, Hausa, Yoruba); French; Thai; Urdu; Cyrillic (Russian); Turkish; Nepali; Mongolian; Kazakh; Devanagari; Uzbek; Pashto; Dari; Armenian; Khmer; Pulaar; Italian; Kreyòl; German; Chinese (Simplified); OLPC AZERTY

Non-membrane keyboard layouts

Starting with the XO-1.5 HS ("High School") edition, the XO laptop has a traditional (non-membrane) keyboard available as an option: English (US International); Spanish (Latin America);

Blank Keyboard Artwork

Artwork defining the inner dimensions of the membrane keyboard is available here: keyboard-blank.svg



Nigerian keyboard

Nigerian keyboard

OLPC section of the XKB symbol file

To use the XKB ng (Nigerian) layout, you may need to edit /etc/X11/xorg.conf:

XkbLayout "ng"
XkbVariant "olpc"
partial alphanumeric_keys
xkb_symbols "olpc" {
   name[Group1]= "Nigeria - OLPC West Africa";

   include "us(basic)"
   // OLPC Nigeria keyboard layout
   // See: http://wiki.laptop.org/go/Image:Nigeria-B3.png
   // combined support for Igbo, Hausa, and Yoruba
   // Contact Walter Bender (walter@laptop.org)

    key <TLDE> {	[     grave,	asciitilde	dead_grave,	dead_grave	]	};
    key <AE01> {	[	  1,	exclam 		exclamdown,	exclamdown	]	};
    key <AE02> {	[	  2,	at		dead_acute,	dead_acute	]	};
    key <AE03> {	[	  3,	numbersign,	dead_cedilla,	dead_cedilla	]	};
    key <AE04> {	[	  4,	dollar		dead_tilde,	dead_tilde	]	};
    key <AE05> {	[	  5,	percent,	dead_caron,	dead_caron	]	};
    key <AE06> {	[	  6,	asciicircum,	dead_circumflex,dead_circumflex	]	};
    key <AE07> {	[	  7,	ampersand,	dead_belowdot,	dead_belowdot	]	};
    key <AE08> {	[	  8,	asterisk, 	dead_abovedot,	dead_abovedot	]	};
    key <AE09> {	[	  9,	parenleft,	dead_belowverticalline,	dead_belowverticalline	]	}; 
    key <AE10> {	[	  0,	parenright,	dead_diaeresis,	dead_diaeresis	]	};
    key <AE11> {	[     minus,	underscore,	dead_macron,	dead_macron	]	};
    key <AE12> {	[     equal,	plus,		guillemotleft,	guillemotright	]	};

    key <AD01> {	[	  q,	Q, 		0x1001EB9,	0x1001EB8	]	}; // E with dot below
    key <AD02> {	[	  w,	W,		udiaeresis,	Udiaeresis	]	};
    key <AD03> {	[	  e,	E,		EuroSign,	EuroSign	]	};
    key <AD04> {	[	  r,	R,		0x10020A6,	0x10020A6 	]	}; // Naira Sign
    key <AD05> {	[	  t,	T,		0x1001EE5,	0x1001EE4	]	}; // U with dot below
    key <AD06> {	[	  y,	Y,		0x1001ECB,	0x1001ECA	]	}; // I with dot below
    key <AD11> {	[ bracketleft,	braceleft,	0x10001B4,	0x10001B3	]	}; // Y with hook
    key <AD12> {	[ bracketright,	braceright,	0x10001E7,	0x10001E6	]	}; // G with caron

    key <AC02> {	[	  s,	S,		sterling,	sterling	]	};
    key <AC05> {	[	  g,	G,		0x1000257,	0x100018A	]	}; // D with hook
    key <AC06> {	[	  h,	H,		0x1000253,	0x1000181	]	}; // B with hook
    key <AC07> {	[	  j,	J,		0x1000199,	0x1000198	]	}; // K with hook
    key <AC10> {	[ semicolon,	colon,		0x1000131,	I		]	}; // Dotless I
    key <AC11> {	[apostrophe,	quotedbl,	0x10001DD,	0x100018E	]	}; // Reversed E
    key <BKSL> {	[ backslash,    bar,		scedilla,	Scedilla	]	};

    key <AB01> {	[	  z,	Z,		0x1000272,	0x100019D	]	}; // N with left hook
    key <AB02> {	[	  x,	X,		0x1001ECD,	0x1001ECC	]	}; // O with dot below
    key <AB04> {	[	  v,	V,		0x1001E63,	0x1001E62	]	}; // S with dot below
    key <AB06> {	[	  n,	N,		0x1001E45,	0x1001E44	]	}; // N with dot above
    key <AB07> {	[	  m,	M,		ntilde,		Ntilde		]	};
    key <AB09> {	[    period,	greater,	ccedilla,	Ccedilla	]	};
    key <AB10> {	[     slash,	question,	questiondown,	questiondown	]	};
    key <I219> {	[  multiply,	division,	ISO_Next_Group,	ISO_Prev_Group	]	};

   include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "olpc2" {
   include "us(olpc)"
   key <I219>  { [ ISO_Next_Group, ISO_Prev_Group ] };
};

Compose character additions

# Below verticalline combinations
<dead_belowverticalline> <B>        :   "B̩"
<dead_belowverticalline> <b>        :   "b̩"
<dead_belowverticalline> <D>        :   "D̩"
<dead_belowverticalline> <d>        :   "d̩"
<dead_belowverticalline> <H>        :   "H̩"
<dead_belowverticalline> <h>        :   "h̩"
<dead_belowverticalline> <K>        :   "K̩"
<dead_belowverticalline> <k>        :   "k̩"
<dead_belowverticalline> <L>        :   "L̩"
<dead_belowverticalline> <l>        :   "l̩"
<dead_belowverticalline> <M>        :   "M̩"
<dead_belowverticalline> <m>        :   "m̩"
<dead_belowverticalline> <N>        :   "N̩"
<dead_belowverticalline> <n>        :   "n̩"
<dead_belowverticalline> <R>        :   "R̩"
<dead_belowverticalline> <r>        :   "r̩"
<dead_belowverticalline> <S>        :   "S̩"
<dead_belowverticalline> <s>        :   "s̩"
<dead_belowverticalline> <V>        :   "V̩"
<dead_belowverticalline> <v>        :   "v̩"
<dead_belowverticalline> <W>        :   "W̩"
<dead_belowverticalline> <w>        :   "w̩"
<dead_belowverticalline> <Z>        :   "Z̩"
<dead_belowverticalline> <z>        :   "z̩"