From a8551efb70a0423c7e3a3d32716d44a04dcbb2c6 Mon Sep 17 00:00:00 2001 From: svu Date: Wed, 26 Sep 2007 11:43:47 +0000 Subject: [PATCH] massive patch from OLPC --- ChangeLog | 9 ++++ rules/base.lists.part | 3 ++ rules/base.m_k.part | 1 + rules/base.ml_c.part | 1 + rules/base.ml_s.part | 2 + rules/base.xml.in | 13 ++++++ rules/merge.sh | 3 +- symbols/Makefile.am | 2 +- symbols/ara | 56 ++++++++++++++++++++++++ symbols/br | 35 +++++++++++++++ symbols/es | 35 +++++++++++++++ symbols/group | 21 +++++---- symbols/inet | 2 +- symbols/level3 | 5 ++- symbols/ng | 61 ++++++++++++++++++++++++++ symbols/olpc | 21 +++++++++ symbols/pk | 99 +++++++++++++++++++++++++++++++++++++++++++ symbols/ru | 19 +++++++++ symbols/th | 61 ++++++++++++++++++++++++++ symbols/tr | 9 ++++ symbols/us | 66 +++++++++++++++++++++++++++++ 21 files changed, 510 insertions(+), 14 deletions(-) create mode 100644 symbols/olpc diff --git a/ChangeLog b/ChangeLog index 5566ae8..a6f16b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-09-26 Sergey Udaltsov + + * rules/base.lists.part, rules/base.m_k.part, rules/base.ml_c.part, + rules/base.ml_s.part, rules/base.xml.in, rules/merge.sh, + symbols/Makefile.am, symbols/ara, symbols/br, symbols/es, + symbols/group, symbols/inet, symbols/level3, symbols/ng, symbols/olpc, + symbols/pk, symbols/ru, symbols/th, symbols/tr, symbols/us: massive + patch from OLPC project + 2007-09-25 Sergey Udaltsov * NEWS, configure.in: preparing release 1.1 diff --git a/rules/base.lists.part b/rules/base.lists.part index b11ce7d..0a72d31 100644 --- a/rules/base.lists.part +++ b/rules/base.lists.part @@ -14,6 +14,9 @@ // PC geometries - they have special geometry but symbols are mostly pc105 ! $pcgeometries = abnt2 latitude jp106 kr106 +// Layouts that provide further specializations for the OLPC +! $olpclayouts = ara br es ru th tr us + ! $macbooks = macbook78 macbook79 ! $maclaptop = ibook powerbook macbook78 macbook79 ! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 diff --git a/rules/base.m_k.part b/rules/base.m_k.part index b401e89..16b9446 100644 --- a/rules/base.m_k.part +++ b/rules/base.m_k.part @@ -6,6 +6,7 @@ abnt2 = xfree86(abnt2) jp106 = xfree86(jp106) evdev = evdev + olpc = evdev macintosh_hhk = macintosh(hhk) macintosh_old = macintosh(old) $macbooks = macintosh+macintosh(badmap) diff --git a/rules/base.ml_c.part b/rules/base.ml_c.part index 6f3c1e1..ec8f022 100644 --- a/rules/base.ml_c.part +++ b/rules/base.ml_c.part @@ -1,3 +1,4 @@ pc98 nec_vndr/jp = pc98(basic) * jp = complete+japan + olpc * = olpc * * = complete diff --git a/rules/base.ml_s.part b/rules/base.ml_s.part index 1fab2dc..f6e0132 100644 --- a/rules/base.ml_s.part +++ b/rules/base.ml_s.part @@ -16,6 +16,8 @@ macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) $macs en_US = pc+macintosh_vndr/us(extended) $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l thinkpad br = pc+br(thinkpad) * $nonlatin = pc+us+%l%(v):2 * * = pc+%l%(v) diff --git a/rules/base.xml.in b/rules/base.xml.in index e77f127..b405f8a 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -935,6 +935,13 @@ Intel + + + olpc + <_description>OLPC + OLPC + + @@ -1010,6 +1017,12 @@ <_description>International (AltGr dead keys) + + + olpc2 + <_description>OLPC with mode toggle on multiply/divide key + + diff --git a/rules/merge.sh b/rules/merge.sh index c332ea5..8dfde55 100755 --- a/rules/merge.sh +++ b/rules/merge.sh @@ -7,7 +7,8 @@ if [ -z "$HDR" ]; then HDR="HDR" fi -> $DEST +basename=`basename $0` +echo "// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY $basename FROM rules/*.part" >$DEST for i in $*; do if [ "$i" == "$HDR" ] || [ "$i" == "HDR" ]; then diff --git a/symbols/Makefile.am b/symbols/Makefile.am index 2280038..089ec5f 100644 --- a/symbols/Makefile.am +++ b/symbols/Makefile.am @@ -20,7 +20,7 @@ latam latin lk \ lt lv ma mao \ mk mm mn \ mt mv ng nl \ -no np pc pk \ +no np olpc pc pk \ pl pt ro \ ru se si \ sk sy th \ diff --git a/symbols/ara b/symbols/ara index 9acf3ec..b9ebc6c 100644 --- a/symbols/ara +++ b/symbols/ara @@ -217,3 +217,59 @@ xkb_symbols "buckwalter" { // End alphanumeric section }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ara(basic)" + + // As part of the olpc design some changes were made to the Arabic + // keyboard design. Major changes are: + // + // * Removed the lam-alef single character. Poeple type as they + // pronounce, and lam-alef is just a visual formatting of the + // sequence and is not often used on the keyboard. It is + // similar to the Allah single character, which is also not on + // the keyboard. + // * Moved the following keys: + // o Thal from TLDE to AB05: Due to space limitation on the + // keybaord, but also accessibility + // o Shadda from TLDE to AD05 + // * Placed currency letters on number keys and moved the ^ and & + // characters to lower keys (This change is worth revisiting + // before end of test period) + + key { [ grave, asciitilde ] }; + + key { [ 0x1000661, exclam ] }; + key { [ 0x1000662, at ] }; + key { [ 0x1000663, numbersign ] }; + key { [ 0x1000664, dollar ] }; + key { [ 0x1000665, percent ] }; + key { [ 0x1000666, sterling ] }; + key { [ 0x1000667, EuroSign ] }; + key { [ 0x1000668, asterisk ] }; + key { [ 0x1000669, parenleft ] }; + key { [ 0x1000660, parenright ] }; + + key { [ Arabic_feh, Arabic_shadda ] }; + + key { [ Arabic_heh, division ] }; + key { [ Arabic_jeem ] }; + key { [ Arabic_dal ] }; + + key { [ Arabic_sheen, less ] }; + key { [ Arabic_seen, greater ] }; + key { [ Arabic_lam, ampersand ] }; + key { [ Arabic_kaf ] }; + key { [ Arabic_tah ] }; + + key { [ backslash, bar ] }; + + + // REH isolated form? + key { [ Arabic_ra, Arabic_kasratan ] }; + key { [ Arabic_thal, asciicircum ] }; + // Language key + key { [ ISO_Next_Group, ISO_Prev_Group ] }; +}; diff --git a/symbols/br b/symbols/br index c61d163..dc07edc 100644 --- a/symbols/br +++ b/symbols/br @@ -75,3 +75,38 @@ xkb_symbols "thinkpad" { key { [ slash, question, degree, questiondown ] }; }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "us(basic)" + name[Group1]="Brazil"; + + key { [ apostrophe, quotedbl ] }; + + key { [ 1, exclam, onesuperior ] }; + key { [ 2, at, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, sterling ] }; + key { [ 5, percent, cent ] }; + key { [ 6, dead_diaeresis, notsign ] }; + key { [ equal, plus, section ] }; + + key { [ e, E, EuroSign ] }; + key { [ dead_acute, dead_grave ] }; + key { [ bracketleft, braceleft, 0x10000AA ] }; + + key { [ ccedilla, Ccedilla ] }; + key { [ dead_tilde, dead_circumflex ] }; + key { [ bracketright, braceright, 0x10000BA ] }; + + key { [ z, Z, bar ] }; + key { [ c, C, 0x10020A2 ] }; + key { [ period, greater, backslash ] }; + key { [ semicolon, colon ] }; + + key { [ slash, question, degree, ISO_Next_Group ] }; + + include "level3(ralt_switch)" +}; + diff --git a/symbols/es b/symbols/es index daa02e8..5c9b52e 100644 --- a/symbols/es +++ b/symbols/es @@ -148,3 +148,38 @@ xkb_symbols "mac" { name[Group1]= "Spain - Macintosh"; }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "us(basic)" + name[Group1]="Spain"; + + key { [ bar, degree ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, dead_grave, numbersign ] }; + key { [ 5, percent, dead_circumflex ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, backslash ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question ] }; + key { [ exclamdown, questiondown ] }; + + key { [ e, E, EuroSign ] }; + key { [ dead_acute, dead_diaeresis ] }; + key { [ bracketleft, braceleft ] }; + + key { [ ntilde, Ntilde ] }; + key { [ plus, asterisk, dead_tilde ] }; + key { [ bracketright, braceright ] }; + + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + key { [ less, greater, ISO_Next_Group ] }; + + include "level3(ralt_switch)" +}; diff --git a/symbols/group b/symbols/group index 03d2250..4efa318 100644 --- a/symbols/group +++ b/symbols/group @@ -230,29 +230,32 @@ xkb_symbols "rwin_toggle" { // Both Ctrls pressed together toggle group partial modifier_keys xkb_symbols "ctrls_toggle" { - virtual_modifiers Control; + virtual_modifiers LControl, RControl; key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ NoSymbol, ISO_Prev_Group ] + type[Group1]="PC_RCONTROL_LEVEL2", + symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], + virtualMods= LControl }; key { - type[Group1]="PC_CONTROL_LEVEL2", - symbols[Group1]= [ NoSymbol, ISO_Next_Group ] + type[Group1]="PC_LCONTROL_LEVEL2", + symbols[Group1]= [ NoSymbol, ISO_Next_Group ], + virtualMods= RControl }; }; // Both Alts pressed together toggle group partial modifier_keys xkb_symbols "alts_toggle" { + virtual_modifiers LAlt, RAlt; key { - type[Group1]="PC_ALT_LEVEL2", + type[Group1]="PC_RALT_LEVEL2", symbols[Group1]= [ NoSymbol, ISO_Prev_Group ], - virtualMods= Alt + virtualMods= LAlt }; key { - type[Group1]="PC_ALT_LEVEL2", + type[Group1]="PC_LALT_LEVEL2", symbols[Group1]= [ NoSymbol, ISO_Next_Group ], - virtualMods= Alt + virtualMods= RAlt }; }; diff --git a/symbols/inet b/symbols/inet index 4f55cfb..e54cf75 100644 --- a/symbols/inet +++ b/symbols/inet @@ -18,7 +18,7 @@ // setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type' // All keyboards listed here should be also mentioned in -// xc/programs/xkbcomp/rules/xfree86, xfree86.lst and xfree86.xml. +// rules/base, base.lst and base.xml. // Very common set of media keys partial hidden alphanumeric_keys diff --git a/symbols/level3 b/symbols/level3 index 644c8ef..d4e1129 100644 --- a/symbols/level3 +++ b/symbols/level3 @@ -50,8 +50,9 @@ partial hidden modifier_keys xkb_symbols "ralt_switch_for_alts_toggle" { virtual_modifiers LAlt, AlGr; key { - type[Group1]="PC_ALT_LEVEL2", - symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ] + type[Group1]="PC_RALT_LEVEL2", + symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ], + virtualMods= LAlt }; key { type[Group1]="PC_ALT_LEVEL2", diff --git a/symbols/ng b/symbols/ng index 230e2f9..b45a53f 100644 --- a/symbols/ng +++ b/symbols/ng @@ -54,3 +54,64 @@ xkb_symbols "hausa" { key { [ scedilla, Scedilla, slash, question ] }; }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ng(basic)" + + // OLPC West Africa keyboard layout + // See: http://wiki.laptop.org/go/Image:Nigeria-B3.png + + key { [ grave, asciitilde, exclamdown, exclamdown ] }; + key { [ 1, exclam, sterling, sterling ] }; + key { [ 2, at, EuroSign, EuroSign ] }; + key { [ 3, numbersign, dollar, dollar ] }; + key { [ 4, 0x10020A6, 0x1000301, 0x1000301 ] }; // Naira, combining acute + key { [ 5, percent, 0x1000300, 0x1000300 ] }; // combining grave + key { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above + key { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above + key { [ 8, asterisk, 0x1000324, 0x1000324 ] }; // combining caron above + key { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above + key { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above + key { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above + key { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above + + key { [ w, W, 0x1000, 0x1000 ] }; // E with dot below + key { [ e, E, 0x10001DD, 0x100018E ] }; // reversed E + key { [ r, R, 0x10001B4, 0x10001B3 ] }; // Y with hook + key { [ t, T, 0x1000327, 0x1000327 ] }; // combining cedilla + key { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below + key { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below + key { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below + key { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below + key { [ p, P, 0x1000304, 0x1000304 ] }; // combining diaeresis below + key { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below + key { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below + + key { [ a, A, Greek_iota, Greek_IOTA ] }; + key { [ s, S, 0x1001E63, 0x1001E62 ] }; // S with dot below + key { [ d, D, 0x1000257, 0x100018A ] }; // D with hook + key { [ f, F, 0x1001E0D, 0x1001E0C ] }; // D with dot below + key { [ g, G, 0x1000272, 0x100019D ] }; // N with left hook + key { [ u, U, 0x1001EE5, 0x1001EE4 ] }; // U with dot below + key { [ j, J, 0x1001ECB, 0x1001ECA ] }; // I with dot below + key { [ k, K, 0x1000199, 0x1000198 ] }; // K with hook + key { [ l, L, 0x10001E37, 0x1001E36 ] }; // L with dot below + key { [ semicolon, colon, masculine, ordfeminine ] }; + key { [ apostrophe, quotedbl, currency, currency ] }; + key { [ backslash, bar, section, section ] }; + + key { [ c, C, 0x1000254, 0x1000186 ] }; // open O + key { [ v, V, 0x100028B, 0x10001B2 ] }; // V with hook + key { [ b, B, 0x1000253, 0x1000181 ] }; // B with hook + key { [ n, N, eng, ENG ] }; + key { [ m, M, 0x1001E45, 0x1001E44 ] }; // N with dot above + key { [ comma, less, guillemontleft, guillemontleft ] }; + key { [ period, greater, guillemontright, guillemontright ] }; + key { [ slash, question, questiondown, questiondown ] }; + + key { [ ISO_Next_Group, ISO_Prev_Group ] }; + + include "level3(ralt_switch)" +}; diff --git a/symbols/olpc b/symbols/olpc new file mode 100644 index 0000000..a15cbc3 --- /dev/null +++ b/symbols/olpc @@ -0,0 +1,21 @@ +// $XKeyboardConfig$ +// +// Created by Bernardo Innocenti +// +// Additional symbol definitions for the OLPC keyboards +// + +alphanumeric_keys modifier_keys +xkb_symbols "olpc" { + include "pc(pc105)" + + modifier_map Mod1 { KP_Home }; // KP_Home is the "square" game key + modifier_map Mod3 { KP_End }; // KP_End is the "tick" game key + modifier_map Mod4 { KP_Prior }; // KP_Prior is the "O" game key + modifier_map Mod5 { KP_Next }; // KP_Next is the "X" game key + + key { [ XF86Search ] }; // search key + key { [ XF86Meeting ] }; // fn+search key + key { [ XF86Start ] }; // gear key (fn+space) +}; + diff --git a/symbols/pk b/symbols/pk index f51226c..7c9d4a9 100644 --- a/symbols/pk +++ b/symbols/pk @@ -83,3 +83,102 @@ xkb_symbols "urd" { modifier_map Shift {Shift_L, Shift_R }; modifier_map Lock {Caps_Lock }; }; + +partial default alphanumeric_keys +xkb_symbols "ara" { + name[Group1]= "Arabic"; + +// NOTES: +// +// there is also combined shadda diacritis in AltGr position of simple +// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan +// should a third state be added to Group2 ? +// +// How is this different from ara(basic)? --bernie + + key { [ 0x100064d , 0x100064b ] }; + key { [ 0x10006F1 , 0x1000021 ] }; + key { [ 0x10006F2 , 0x1000003 ] }; + key { [ 0x10006F3 , 0x100002f ] }; + key { [ 0x10006F4 , 0x1000626 ] }; + key { [ 0x10006F5 , 0x1000003 ] }; + key { [ 0x10006F6 , 0x10006d6 ] }; + key { [ 0x10006F7 , 0x1000654 ] }; + key { [ 0x10006F8 , 0x100064c ] }; + key { [ 0x10006F9 , 0x1000029 ] }; + key { [ 0x10006F0 , 0x1000028 ] }; + key { [ 0x1000623 , 0x1000651 ] }; + key { [ 0x1000624 , 0x1000622 ] }; + key { [ 0x1000642 , 0x1000652 ] }; + key { [ 0x1000648 , 0x10000a3 ] }; + key { [ 0x1000639 , 0x10000a5 ] }; + key { [ 0x1000631 , 0x1000691 ] }; + key { [ 0x100062a , 0x1000679 ] }; + key { [ 0x10006d2 , 0x1000601 ] }; + key { [ 0x1000621 , 0x100060c ] }; + key { [ 0x10006cc , 0x1000670 ] }; + key { [ 0x10006c1 , 0x10006c3 ] }; + key { [ 0x100067e , 0x100064f ] }; + key { [ 0x100005d , 0x1000670 ] }; + key { [ 0x100005b , 0x1000670 ] }; + + key { [ 0x1000627 , 0x1000653 ] }; + key { [ 0x1000633 , 0x1000635 ] }; + key { [ 0x100062f , 0x1000688 ] }; + key { [ 0x1000641 , 0x1000003 ] }; + key { [ 0x10006af , 0x100063a ] }; + key { [ 0x10006be , 0x100062d ] }; + key { [ 0x100062c , 0x1000636 ] }; + key { [ 0x10006a9 , 0x100062e ] }; + key { [ 0x1000644 , 0x1000613 ] }; + key { [ 0x100061b , 0x100003a ] }; + key { [ 0x1000670 , 0x1000022 ] }; + key { [ 0x100060e , 0x1000614 ] }; + + key { [ bar , brokenbar ] }; + key { [ 0x1000632 , 0x1000630 ] }; + key { [ 0x1000634 , 0x1000698 ] }; + key { [ 0x1000686 , 0x100062b ] }; + key { [ 0x1000637 , 0x1000638 ] }; + key { [ 0x1000628 , 0x1000612 ] }; + key { [ 0x1000646 , 0x10006ba ] }; + key { [ 0x1000645 , 0x1000003 ] }; + key { [ 0x100060c , 0x1000650 ] }; + key { [ 0x10006d4 , 0x100064e ] }; + key { [ 0x1000003 , 0x100061f ] }; + + // End alphanumeric section +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + +// based on a keyboard map from an 'xkb/symbols/ur' file +// Contact: Nadir Durrani +// E-mail : aquadurrani@hotmail.com + + include "pk(ara)" + + key { [ 0x10006F2 , 0x1000600 ] }; + key { [ 0x10006F5 , 0x100060F ] }; + key { [ 0x10006F6 , 0x1000610 ] }; + + key { [ 0x1000642 , 0x10006E1 ] }; + key { [ 0x1000648 , 0x100FDFA ] }; + key { [ 0x1000639 , 0x1000611 ] }; + // [] swapped due to keyboard misprint + key { [ 0x100005B , 0x1000603 ] }; + key { [ 0x100005D , 0x100060E ] }; + + key { [ 0x1000641 , 0x1000656 ] }; + key { [ 0x1000644 , 0x1000612 ] }; + key { [ 0x1000027 , 0x1000022 ] }; + key { [ 0x1000602 , 0x1000614 ] }; + + key { [ 0x1000628 , 0x1000613 ] }; + key { [ 0x1000645 , 0x1000658 ] }; + key { [ 0x1000615 , 0x100061F ] }; + + //language key + key { [ISO_Next_Group , ISO_Prev_Group ] }; +}; diff --git a/symbols/ru b/symbols/ru index 9cca730..319fc06 100644 --- a/symbols/ru +++ b/symbols/ru @@ -68,6 +68,25 @@ xkb_symbols "basic" { include "kpdl(comma)" }; +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ru(basic)" + + key { [ U+0451, U+0401, grave ] }; // Ñ‘, Ð + key { [ 3, numbersign, U+2116 ] }; // â„– + key { [ 4, dollar, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum, colon ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft, acute ] }; + key { [ backslash, bar, slash ] }; + key { [ period, comma ] }; + key { [ ISO_Next_Group, ISO_Prev_Group ] }; + key { [ backslash, slash ] }; +}; + partial alphanumeric_keys xkb_symbols "winkeys" { include "ru(basic)" diff --git a/symbols/th b/symbols/th index 42383df..952ed43 100644 --- a/symbols/th +++ b/symbols/th @@ -186,3 +186,64 @@ xkb_symbols "tis" { key { [ Thai_khokhon, Thai_khokhuat ] }; }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + name[Group1]= "Thailand"; + // The OLPC thai layout + // walter@laptop.org + + key { [ 0x1000E4F, 0x1000E5B ] }; + key { [ 0x1000E3F, 0x1000E45 ] }; + key { [ slash, 0x1000E51 ] }; + key { [ minus, 0x1000E52 ] }; + key { [ 0x1000E20, 0x1000E53 ] }; + key { [ 0x1000E16, 0x1000E54 ] }; + key { [ 0x1000E38, 0x1000E39 ] }; + key { [ 0x1000E36, 0x1000E4E ] }; + key { [ 0x1000E04, 0x1000E55 ] }; + key { [ 0x1000E15, 0x1000E56 ] }; + key { [ 0x1000E08, 0x1000E57 ] }; + key { [ 0x1000E02, 0x1000E58 ] }; + key { [ 0x1000E0A, 0x1000E59 ] }; + + key { [ 0x1000E46, 0x1000E50 ] }; + key { [ 0x1000E44, quotedbl ] }; + key { [ 0x1000E33, 0x1000E0E ] }; + key { [ 0x1000E1E, 0x1000E11 ] }; + key { [ 0x1000E30, 0x1000E18 ] }; + key { [ 0x1000E31, 0x1000E4D ] }; + key { [ 0x1000E35, 0x1000E4A ] }; + key { [ 0x1000E23, 0x1000E13 ] }; + key { [ 0x1000E19, 0x1000E2F ] }; + key { [ 0x1000E22, 0x1000E0D ] }; + key { [ 0x1000E1A, 0x1000E10 ] }; + key { [ 0x1000E25, comma ] }; + + key { [ 0x1000E1F, 0x1000E24 ] }; + key { [ 0x1000E2B, 0x1000E06 ] }; + key { [ 0x1000E01, 0x1000E0F ] }; + key { [ 0x1000E14, 0x1000E42 ] }; + key { [ 0x1000E40, 0x1000E0C ] }; + key { [ 0x1000E49, 0x1000E47 ] }; + key { [ 0x1000E48, 0x1000E4B ] }; + key { [ 0x1000E32, 0x1000E29 ] }; + key { [ 0x1000E2A, 0x1000E28 ] }; + key { [ 0x1000E27, 0x1000E0B ] }; + key { [ 0x1000E07, period ] }; + key { [ 0x1000E05, 0x1000E03 ] }; + + key { [ 0x1000E1C, parenleft ] }; + key { [ 0x1000E1B, parenright ] }; + key { [ 0x1000E41, 0x1000E09 ] }; + key { [ 0x1000E2D, 0x1000E2E ] }; + key { [ 0x1000E34, 0x1000E3A ] }; + key { [ 0x1000E37, 0x1000E4C ] }; + key { [ 0x1000E17, question ] }; + key { [ 0x1000E21, 0x1000E12 ] }; + key { [ 0x1000E43, 0x1000E2C ] }; + key { [ 0x1000E1D, 0x1000E26 ] }; + + key { [ ISO_Next_Group, ISO_Prev_Group ] }; +}; diff --git a/symbols/tr b/symbols/tr index 694ca22..b5273a5 100644 --- a/symbols/tr +++ b/symbols/tr @@ -226,3 +226,12 @@ xkb_symbols "ku_alt" { key { [ i, I, icircumflex, Icircumflex ] }; key { [ o, O, odiaeresis, Odiaeresis ] }; }; + + +partial alphanumeric_keys +xkb_symbols "olpc" { + name[Group1]= "Turkish"; + include "tr(f)" + + key { [ less, greater, bar, brokenbar ] }; +}; diff --git a/symbols/us b/symbols/us index 05bf6cf..b281dee 100644 --- a/symbols/us +++ b/symbols/us @@ -769,3 +769,69 @@ xkb_symbols "classmate-altgr-intl" { include "level3(switch)" }; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "us(basic)" + name[Group1]= "USA"; + + // 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 { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, exclamdown ] }; + key { [ 2, at, notsign, notsign ] }; + key { [ 3, numbersign, 0x1000301, 0x1000301 ] }; // combining acute + key { [ 4, dollar, 0x1000300, 0x1000300 ] }; // combining grave + key { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above + key { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above + key { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above + key { [ 8, asterisk, 0x1000324, 0x1000324 ] }; // combining caron above + key { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above + key { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above + key { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above + key { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above + + key { [ q, Q, Greek_omega, Greek_OMEGA ] }; + key { [ w, W, oslash, Oslash ] }; + key { [ e, E, oe, OE ] }; + key { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla + key { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below + key { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below + key { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below + key { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below + key { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below + key { [ p, P, 0x1000304, 0x1000304 ] }; // combining diaeresis below + key { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below + key { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, ssharp ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, thorn, THORN ] }; + key { [ h, H, sterling, sterling ] }; + key { [ j, J, EuroSign, EuroSign ] }; + key { [ semicolon, colon, masculine, ordfeminine ] }; + key { [ apostrophe, quotedbl, currency, currency ] }; + key { [ backslash, bar, section, section ] }; + + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, guillemontleft, guillemontleft ] }; + key { [ period, greater, guillemontright, guillemontright ] }; + key { [ slash, question, questiondown, questiondown ] }; + + key { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc2" { + include "us(olpc)" + name[Group1]= "USA with Group Switch"; + key { [ ISO_Next_Group, ISO_Prev_Group ] }; +}; -- 2.32.0.93.g670b81a890