OLPC Nigeria Keyboard

From OLPC
Jump to: navigation, search
  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̩"