OLPC Nigeria Keyboard: Difference between revisions
| Line 248: | Line 248: | ||
key <AC07> { [ j, J, 0x1001ECB, 0x1001ECA ] ); // I with dot below |
key <AC07> { [ j, J, 0x1001ECB, 0x1001ECA ] ); // I with dot below |
||
key <AC08> { [ k, K, 0x1000199, 0x1000198 ] ); // K with hook |
key <AC08> { [ k, K, 0x1000199, 0x1000198 ] ); // K with hook |
||
key <AC09> { [ l, L, |
key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] ); // L with dot below |
||
key <AC10> { [ semicolon, colon, masculine, ordfeminine ] }; |
key <AC10> { [ semicolon, colon, masculine, ordfeminine ] }; |
||
key <AC11> { [ apostrophe, quotedbl, currency, currency ] }; |
key <AC11> { [ apostrophe, quotedbl, currency, currency ] }; |
||
Revision as of 23:48, 3 November 2007
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
West African (formerly Nigerian) keyboard
| XKB KEY | HID | key | unmodified | shift | alt gr | alt gr shift | ctrl | fn | comment |
|---|---|---|---|---|---|---|---|---|---|
| 0x38 | 110 | esc | HK_01 | ||||||
| 0x79 | 140 | HK_00 | search | ||||||
| 0x3A | 112 | XK_ViewMesh | F1, analog 1 | ||||||
| 0x77 | 141 | HK_02 | analog 2 | ||||||
| 0x3B | 113 | XK_ViewFriends | F2, analog 3 | ||||||
| 0x76 | 142 | HK_07 | analog 4 | ||||||
| 0x3C | 114 | XK_ViewHome | F3, analog 5 | ||||||
| 0x75 | 143 | HK_08 | analog 6 | ||||||
| 0x3D | 115 | XK_ViewActivity | F4, analog 7 | ||||||
| 0x3E | 116 | F5, analog 8 | |||||||
| 0x74 | 144 | HK_09 | analog 9 | ||||||
| 0x3F | 117 | F6, analog 10 | |||||||
| 0x73 | 145 | HK_10 | analog 11 | ||||||
| 0x40 | 118 | F7, analog 12 | |||||||
| 0x72 | 146 | HK_11 | analog 13 | ||||||
| 0x41 | 119 | F8, analog 14 | |||||||
| 0x42 | 120 | F9, analog 15 | |||||||
| 0x71 | 147 | HK_12 | analog 16 | ||||||
| 0x43 | 121 | F10, analog 17 | |||||||
| 0x70 | 148 | HK_13 | analog 18 | ||||||
| 0x44 | 122 | F11, analog 19 | |||||||
| 0x6F | 149 | HK_14 | analog 20 | ||||||
| 0x45 | 123 | F12, analog 21 | |||||||
| 0x6E | 150 | HK_05 | bulletin board | ||||||
| 0x5D | 129 | XK_Menu | HK_06 | frame | |||||
| key <TLDE> | 0x01 | 1 | grave | asciitilde | exclamdown | exclamdown | |||
| key <AE01> | 0x1E | 2 | 1 | exclam | sterling | sterling | |||
| key <AE02> | 0x1F | 3 | 2 | at | Eurosign | Eurosign | C-@ | ||
| key <AE03> | 0x20 | 4 | 3 | numbersign | dollar | dollar | |||
| key <AE04> | 0x21 | 5 | 4 | 0x10020A6 | 0x1000300 | 0x1000300 | Naira, combining grave | ||
| key <AE05> | 0x22 | 6 | 5 | percent | 0x1000301 | 0x1000301 | combining acute | ||
| key <AE06> | 0x23 | 7 | 6 | asciicircum | 0x100030A | 0x100030A | C-^ | combining ring above | |
| key <AE07> | 0x24 | 8 | 7 | ampersand | 0x1000302 | 0x1000302 | combining circumflex above | ||
| key <AE08> | 0x25 | 9 | 8 | asterisk | 0x1000324 | 0x1000324 | combining caron above | ||
| key <AE09> | 0x26 | 10 | 9 | parenleft | 0x1000307 | 0x1000307 | combining dot above | ||
| key <AE10> | 0x27 | 11 | 0 | parenright | 0x1000308 | 0x1000308 | combining diaeresis above | ||
| key <AE11> | 0x2D | 12 | minus | underscore | 0x1000304 | 0x1000304 | C-_ | combining macron above | |
| key <AE12> | 0x2E | 13 | equal | plus | 0x1000303 | 0x1000303 | combining tilde above | ||
| key <BKSP> | 0x2A | 15 | backspace | delete | |||||
| key <TAB> | 0x2B | 16 | tab | back tab | |||||
| key <AD01> | 0x14 | 17 | q | Q | C-Q | ||||
| key <AD02> | 0x1A | 18 | w | W | 0x1001EB9 | 0x1001EB8 | C-W | E with dot below | |
| key <AD03> | 0x08 | 19 | e | E | 0x10001DD | 0x100018E | C-E | Reverse E | |
| key <AD04> | 0x15 | 20 | r | R | 0x10001B4 | 0x10001B3 | C-R | Y with hook | |
| key <AD05> | 0x17 | 21 | t | T | 0x1000327 | 0x1000327 | C-T | combining cedilla | |
| 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 |
OLPC section of the XKB symbol file
To use the XKB West African (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 West Africa keyboard layout
// See: http://wiki.laptop.org/go/Image:Nigeria-B3.png
key <TLDE> { [ grave, asciitilde, exclamdown, exclamdown ] };
key <AE01> { [ 1, exclam, sterling, sterling ] };
key <AE02> { [ 2, at, EuroSign, EuroSign ] };
key <AE03> { [ 3, numbersign, dollar, dollar ] };
key <AE04> { [ 4, 0x10020A6, 0x1000301, 0x1000301 ] }; // Naira, combining acute
key <AE05> { [ 5, percent, 0x1000300, 0x1000300 ] }; // combining grave
key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
key <AE08> { [ 8, asterisk, 0x1000324, 0x1000324 ] }; // combining caron above
key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
key <AE12> { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above
key <AD02> { [ w, W, 0x1001EB9, 0x1001EB8 ] }; // E with dot below
key <AD03> { [ e, E, 0x10001DD, 0x100018E ] }; // reversed E
key <AD04> { [ r, R, 0x10001B4, 0x10001B3 ] }; // Y with hook
key <AD05> { [ t, T, 0x1000327, 0x1000327 ] }; // combining cedilla
key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
key <AD10> { [ p, P, 0x1000304, 0x1000304 ] }; // combining diaeresis below
key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
key <AC01> { [ a, A, Greek_iota, Greek_IOTA ] };
key <AC02> { [ s, S, 0x1001E63, 0x1001E62 ] ); // S with dot below
key <AC03> { [ d, D, 0x1000257, 0x100018A ] }; // D with hook
key <AC04> { [ f, F, 0x1001E0D, 0x1001E0C ] ) // D with dot below
key <AC05> { [ g, G, 0x1000272, 0x100019D ] ); // N with left hook
key <AC06> { [ u, U, 0x1001EE5, 0x1001EE4 ] ); // U with dot below
key <AC07> { [ j, J, 0x1001ECB, 0x1001ECA ] ); // I with dot below
key <AC08> { [ k, K, 0x1000199, 0x1000198 ] ); // K with hook
key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] ); // L with dot below
key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
key <BKSL> { [ backslash, bar, section, section ] };
key <AB03> { [ c, C, 0x1000254, 0x1000186 ] ); // open O
key <AB04> { [ v, V, 0x100028B, 0x10001B2 ] ); // V with hook
key <AB05> { [ b, B, 0x1000253, 0x1000181 ] ); // B with hook
key <AB06> { [ n, N, eng, ENG ] );
key <AB07> { [ m, M, 0x1001E45, 0x1001E44 ] ); // N with dot above
key <AB08> { [ comma, less, guillemontleft, guillemontleft ] };
key <AB09> { [ period, greater, guillemontright, guillemontright ] };
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 ] };
};