OLPC Keyboard layouts: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Updated)
 
(21 intermediate revisions by 7 users not shown)
Line 7: Line 7:


==XKB Symbol files==
==XKB Symbol files==
Editing these is described in [[Keyboard_definitions|Keyboard definitions]]. Release 12.1.0 used only upstream files.

The xkb symbol files used by OLPC can be found at http://webcvs.freedesktop.org/xlibs/xkbdesc/xkeyboard-config/
(Please refer to the '''xkb_symbols "olpc"''' sections of the various symbol files[http://webcvs.freedesktop.org/xlibs/xkbdesc/xkeyboard-config/symbols/] for the OLPC-specific keyboard mappings).
Please refer to the '''xkb_symbols "olpc"''' sections of the various symbol files [http://dev.laptop.org/git/projects/keyboard-data/tree/F-11/symbols/] for the OLPC-specific keyboard mappings).


{{Keyboard layouts}}
{{Keyboard layouts}}


<font color="red">(The instructions for changing keyboard layouts can be found [[Customizing_NAND_images#Keyboard|here]].)</font>
The SVG files for the OLPC keyboard layouts are [http://laptop.org/keyboards.zip here].

==US International keyboard==
[[Image:Keyboard_english.png|800px|none|US International keyboard for MP]]

{| border="1"
!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 ||dead_grave ||dead_tilde || || ||
|-
|key <AE01> ||0x1E ||2 ||1 ||exclam ||exclamdown ||excalmdown || || ||
|-
|key <AE02> ||0x1F ||3 ||2 ||at ||notsign ||notsign ||C-@ || ||
|-
|key <AE03> ||0x20 ||4 ||3 ||numbersign ||0x1000300 ||0x1000300 || || ||combining grave
|-
|key <AE04> ||0x21 ||5 ||4 ||dollar ||0x1000301 ||0x1000301 || || ||combining acute
|-
|key <AE05> ||0x22 ||6 ||5 ||percent ||0x1000306 ||0x1000306 || || ||combining breve above
|-
|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 ||Greek_omega ||Greek_OMEGA ||C-Q || ||
|-
|key <AD02> ||0x1A ||18 ||w ||W ||oslash ||Oslash ||C-W || ||
|-
|key <AD03> ||0x08 ||19 ||e ||E ||œ ||Œ ||C-E || ||
|-
|key <AD04> ||0x15 ||20 ||r ||R ||0x1000327 ||0x1000327 ||C-R || ||combining cedilla
|-
|key <AD05> ||0x17 ||21 ||t ||T ||0x100032E ||0x100032E ||C-T || ||combining breve below
|-
|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 ||æ ||Æ ||C-A || ||
|-
|key <AC02> ||0x16 ||32 ||s ||S ||ssharp ||ssharp ||C-S || ||
|-
|key <AC03> ||0x07 ||33 ||d ||D ||eth ||ETH ||C-D || ||
|-
|key <AC04> ||0x09 ||34 ||f ||F ||thorn ||THORN ||C-F || ||
|-
|key <AC05> ||0x0A ||35 ||g ||G ||sterling ||sterling ||C-G || ||
|-
|key <AC06> ||0x0B ||36 ||h ||H ||Eurosign ||Eurosign ||C-H || ||
|-
|key <AC07> ||0x0D ||37 ||j ||J || || ||C-J || ||
|-
|key <AC08> ||0x0E ||38 ||k ||K || || ||C-K || ||
|-
|key <AC09> ||0x0F ||39 ||l ||L || || ||C-L || ||
|-
|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 ||ccedilla ||Ccedilla ||C-C || ||
|-
|key <AB04> ||0x19 ||49 ||v ||V || || ||C-V || ||
|-
|key <AB05> ||0x05 ||50 ||b ||B || || ||C-B || ||
|-
|key <AB06> ||0x11 ||51 ||n ||N ||ntilde ||Ntilde ||C-N || ||
|-
|key <AB07> ||0x10 ||52 ||m ||M ||mu ||mu ||C-M || ||
|-
|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 US International layout, you may need to edit <tt>/etc/X11/xorg.conf</tt>:

XkbLayout "us"
XkbVariant "olpc"

<pre>
partial alphanumeric_keys
xkb_symbols "olpc" {
name[Group1]= "U.S. English - OLPC International";

include "us(basic)"

// OLPC international US English keyboard layout.
// It's a little different from the usual international layout.
// See: http://wiki.laptop.org/go/Image:Keyboard_english.png

key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
key <AE02> { [ 2, at, notsign, notsign ] };
key <AE03> { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave
key <AE04> { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute
key <AE05> { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above
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 <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
key <AD02> { [ w, W, oslash, Oslash ] };
key <AD03> { [ e, E, oe, OE ] };
key <AD04> { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla
key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
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, ae, AE ] };
key <AC02> { [ s, S, ssharp, ssharp ] };
key <AC03> { [ d, D, eth, ETH ] };
key <AC04> { [ f, F, thorn, THORN ] };
key <AC06> { [ h, H, sterling, sterling ] };
key <AC07> { [ j, J, EuroSign, EuroSign ] };
key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
key <BKSL> { [ backslash, bar, section, section ] };

key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB07> { [ m, M, mu, mu ] );
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 ] };
};
</pre>

==OLPC section of the XKB symbol file (dead key variant)==
XkbLayout "us"
XkbVariant "dead_olpc"

<pre>
partial alphanumeric_keys
xkb_symbols "dead_olpc" {
name[Group1]= "U.S. English - OLPC International";

include "us(basic)"

// OLPC international US English keyboard layout.
// This version uses dead keys whenever possible
// See: http://wiki.laptop.org/go/Image:Keyboard_english.png

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

key <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
key <AD02> { [ w, W, oslash, Oslash ] };
key <AD03> { [ e, E, oe, OE ] };
key <AD04> { [ r, R, dead_cedilla, dead_cedilla ] };
key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
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, dead_belowdot, dead_belowdot ] }; // 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, ae, AE ] };
key <AC02> { [ s, S, ssharp, ssharp ] };
key <AC03> { [ d, D, eth, ETH ] };
key <AC04> { [ f, F, thorn, THORN ] };
key <AC06> { [ h, H, sterling, sterling ] };
key <AC07> { [ j, J, EuroSign, EuroSign ] };
key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
key <BKSL> { [ backslash, bar, section, section ] };

key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB07> { [ m, M, mu, mu ] );
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 ] };
};
</pre>


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

Latest revision as of 03:29, 9 April 2013

  This page is monitored by the OLPC team.
  English | 한글 HowTo [ID# 283756]  +/-  


Scan-code table

scan code table KeyMatrix.png

XKB Symbol files

Editing these is described in Keyboard definitions. Release 12.1.0 used only upstream files.

Please refer to the xkb_symbols "olpc" sections of the various symbol files [1] for the OLPC-specific keyboard mappings).


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



The SVG files for the OLPC keyboard layouts are here.