OLPC keyboard definitions - take 14
Sergey Udaltsov
sergey.udaltsov at gmail.com
Sun Sep 16 02:00:10 PDT 2007
Bernardo,
This time it looks just fine! I cannot find any more issues to moan
about. I will apply it once I release 1.1 (next week).
Cheers,
Sergey
On 9/16/07, Bernardo Innocenti <bernie at codewiz.org> wrote:
> Sergey Udaltsov wrote:
>
> >> I had done that for all the other files, except for the us one.
> > Turkish as well?
>
> Oops! Fixed.
>
>
> > The syntax is "/country name/" or "/country name/ - /details/". So
> > even if your default variant contains "other symbols" - this is not
> > important here.
>
> OK.
>
>
> > BTW, what was the story with merge.sh? Why was it modified?
>
> It's to prevent people from editing the generated file by mistake,
> but I guess it belongs to a separate patch. Feel free to drop this
> hunk.
>
> Here's the patch again:
>
>
> Index: compat/Makefile.am
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/compat/Makefile.am,v
> retrieving revision 1.5
> diff -u -p -u -p -r1.5 Makefile.am
> --- compat/Makefile.am 17 Oct 2005 00:38:53 -0000 1.5
> +++ compat/Makefile.am 16 Sep 2007 03:36:43 -0000
> @@ -6,7 +6,7 @@ default iso9995 \
> japan keypad ledcaps \
> lednum ledscroll level5 \
> misc mousekeys norepeat \
> -pc pc98 xfree86 \
> +olpc pc pc98 xfree86 \
> xtest README
>
> include $(top_srcdir)/xkbrules.am
> Index: compat/olpc
> ===================================================================
> RCS file: compat/olpc
> diff -N compat/olpc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ compat/olpc 16 Sep 2007 03:36:43 -0000
> @@ -0,0 +1,50 @@
> +// Created by Bernardo Innocenti <bernie at codewiz.org>
> +//
> +// Map the OLPC game keys to virtual modifiers
> +//
> +
> +default xkb_compatibility "olpc" {
> + include "complete"
> +
> + virtual_modifiers Square,Cross,Triangle,Circle;
> +
> + interpret KP_Home+Any {
> + //useModMapMods= level1;
> + virtualModifier= Square;
> + action = SetMods(modifiers=modMapMods);
> + };
> +
> + interpret KP_Home {
> + action = SetMods(modifiers=Square);
> + };
> +
> + interpret KP_Next+Any {
> + //useModMapMods= level1;
> + virtualModifier= Cross;
> + action = SetMods(modifiers=modMapMods);
> + };
> +
> + interpret KP_Next {
> + action = SetMods(modifiers=Cross);
> + };
> +
> + interpret KP_End+Any {
> + //useModMapMods= level1;
> + virtualModifier= Circle;
> + action = SetMods(modifiers=modMapMods);
> + };
> +
> + interpret KP_End {
> + action = SetMods(modifiers=Circle);
> + };
> +
> + interpret KP_Prior+Any {
> + //useModMapMods= level1;
> + virtualModifier= Triangle;
> + action = SetMods(modifiers=modMapMods);
> + };
> +
> + interpret KP_Prior {
> + action = SetMods(modifiers=Triangle);
> + };
> +};
> Index: rules/base.lists.part
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.lists.part,v
> retrieving revision 1.44
> diff -u -p -u -p -r1.44 base.lists.part
> --- rules/base.lists.part 5 Sep 2007 23:00:41 -0000 1.44
> +++ rules/base.lists.part 16 Sep 2007 03:36:43 -0000
> @@ -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
> Index: rules/base.m_k.part
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.m_k.part,v
> retrieving revision 1.11
> diff -u -p -u -p -r1.11 base.m_k.part
> --- rules/base.m_k.part 29 Aug 2007 22:19:38 -0000 1.11
> +++ rules/base.m_k.part 16 Sep 2007 03:36:43 -0000
> @@ -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)
> Index: rules/base.ml_c.part
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.ml_c.part,v
> retrieving revision 1.6
> diff -u -p -u -p -r1.6 base.ml_c.part
> --- rules/base.ml_c.part 28 May 2006 19:54:04 -0000 1.6
> +++ rules/base.ml_c.part 16 Sep 2007 03:36:43 -0000
> @@ -1,3 +1,4 @@
> pc98 nec_vndr/jp = pc98(basic)
> * jp = complete+japan
> + olpc * = olpc
> * * = complete
> Index: rules/base.ml_s.part
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.ml_s.part,v
> retrieving revision 1.17
> diff -u -p -u -p -r1.17 base.ml_s.part
> --- rules/base.ml_s.part 18 Aug 2007 00:32:01 -0000 1.17
> +++ rules/base.ml_s.part 16 Sep 2007 03:36:43 -0000
> @@ -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)
> Index: rules/base.xml.in
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/base.xml.in,v
> retrieving revision 1.208
> diff -u -p -u -p -r1.208 base.xml.in
> --- rules/base.xml.in 5 Sep 2007 23:00:42 -0000 1.208
> +++ rules/base.xml.in 16 Sep 2007 03:36:44 -0000
> @@ -916,6 +916,13 @@
> </model>
> <model>
> <configItem>
> + <name>olpc</name>
> + <_description>OLPC keyboard</_description>
> + <vendor>OLPC</vendor>
> + </configItem>
> + </model>
> + <model>
> + <configItem>
> <name>benqx</name>
> <_description>BenQ X-Touch</_description>
> <vendor>BenQ</vendor>
> @@ -935,6 +942,13 @@
> <vendor>Intel</vendor>
> </configItem>
> </model>
> + <model>
> + <configItem>
> + <name>olpc</name>
> + <_description>OLPC</_description>
> + <vendor>OLPC</vendor>
> + </configItem>
> + </model>
> </modelList>
> <layoutList>
> <layout>
> @@ -1010,6 +1024,12 @@
> <_description>International (AltGr dead keys)</_description>
> </configItem>
> </variant>
> + <variant>
> + <configItem>
> + <name>olpc2</name>
> + <_description>OLPC with mode toggle on multiply/divide key</_description>
> + </configItem>
> + </variant>
> </variantList>
> </layout>
> <layout>
> Index: rules/merge.sh
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/rules/merge.sh,v
> retrieving revision 1.4
> diff -u -p -u -p -r1.4 merge.sh
> --- rules/merge.sh 17 Sep 2006 20:03:34 -0000 1.4
> +++ rules/merge.sh 16 Sep 2007 03:36:44 -0000
> @@ -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
> Index: symbols/Makefile.am
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/Makefile.am,v
> retrieving revision 1.58
> diff -u -p -u -p -r1.58 Makefile.am
> --- symbols/Makefile.am 22 Aug 2007 21:52:47 -0000 1.58
> +++ symbols/Makefile.am 16 Sep 2007 03:36:44 -0000
> @@ -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 \
> Index: symbols/ara
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/ara,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 ara
> --- symbols/ara 7 Aug 2007 15:17:56 -0000 1.7
> +++ symbols/ara 16 Sep 2007 03:36:44 -0000
> @@ -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 <TLDE> { [ grave, asciitilde ] };
> +
> + key <AE01> { [ 0x1000661, exclam ] };
> + key <AE02> { [ 0x1000662, at ] };
> + key <AE03> { [ 0x1000663, numbersign ] };
> + key <AE04> { [ 0x1000664, dollar ] };
> + key <AE05> { [ 0x1000665, percent ] };
> + key <AE06> { [ 0x1000666, sterling ] };
> + key <AE07> { [ 0x1000667, EuroSign ] };
> + key <AE08> { [ 0x1000668, asterisk ] };
> + key <AE09> { [ 0x1000669, parenleft ] };
> + key <AE10> { [ 0x1000660, parenright ] };
> +
> + key <AD05> { [ Arabic_feh, Arabic_shadda ] };
> +
> + key <AD08> { [ Arabic_heh, division ] };
> + key <AD11> { [ Arabic_jeem ] };
> + key <AD12> { [ Arabic_dal ] };
> +
> + key <AC01> { [ Arabic_sheen, less ] };
> + key <AC02> { [ Arabic_seen, greater ] };
> + key <AC05> { [ Arabic_lam, ampersand ] };
> + key <AC10> { [ Arabic_kaf ] };
> + key <AC11> { [ Arabic_tah ] };
> +
> + key <BKSL> { [ backslash, bar ] };
> +
> +
> + // REH isolated form?
> + key <AB04> { [ Arabic_ra, Arabic_kasratan ] };
> + key <AB05> { [ Arabic_thal, asciicircum ] };
> + // Language key
> + key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
> +};
> Index: symbols/br
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/br,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 br
> --- symbols/br 10 Aug 2007 09:06:27 -0000 1.12
> +++ symbols/br 16 Sep 2007 03:36:44 -0000
> @@ -64,6 +64,39 @@ xkb_symbols "nodeadkeys" {
> key <AB10> { [ semicolon, colon, dead_belowdot, abovedot ] };
> };
>
> +partial alphanumeric_keys
> +xkb_symbols "olpc" {
> +
> + include "us(basic)"
> + name[Group1]="Brazil";
> +
> + key <TLDE> { [ apostrophe, quotedbl ] };
> +
> + key <AE01> { [ 1, exclam, onesuperior ] };
> + key <AE02> { [ 2, at, twosuperior ] };
> + key <AE03> { [ 3, numbersign, threesuperior ] };
> + key <AE04> { [ 4, dollar, sterling ] };
> + key <AE05> { [ 5, percent, cent ] };
> + key <AE06> { [ 6, dead_diaeresis, notsign ] };
> + key <AE12> { [ equal, plus, section ] };
> +
> + key <AD03> { [ e, E, EuroSign ] };
> + key <AD11> { [ dead_acute, dead_grave ] };
> + key <AD12> { [ bracketleft, braceleft, 0x10000AA ] };
> +
> + key <AC10> { [ ccedilla, Ccedilla ] };
> + key <AC11> { [ dead_tilde, dead_circumflex ] };
> + key <BKSL> { [ bracketright, braceright, 0x10000BA ] };
> +
> + key <AB01> { [ z, Z, bar ] };
> + key <AB03> { [ c, C, 0x10020A2 ] };
> + key <AB09> { [ period, greater, backslash ] };
> + key <AB10> { [ semicolon, colon ] };
> +
> + key <I219> { [ slash, question, degree, ISO_Next_Group ] };
> + include "level3(ralt_switch)"
> +};
> +
> // ABNT2 Keyboard to IBM/Lenovo Thinkpads
> // by Piter PUNK <piterpk at terra.com.br>
> //
> Index: symbols/es
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/es,v
> retrieving revision 1.13
> diff -u -p -u -p -r1.13 es
> --- symbols/es 26 Jan 2007 23:02:18 -0000 1.13
> +++ symbols/es 16 Sep 2007 03:36:44 -0000
> @@ -146,5 +146,38 @@ xkb_symbols "mac" {
>
> include "es"
> name[Group1]= "Spain - Macintosh";
> +};
> +
> +partial alphanumeric_keys
> +xkb_symbols "olpc" {
> +
> + include "us(basic)"
> + name[Group1]="Spain";
> +
> + key <TLDE> { [ bar, degree ] };
> + key <AE02> { [ 2, quotedbl, at ] };
> + key <AE03> { [ 3, dead_grave, numbersign ] };
> + key <AE05> { [ 5, percent, dead_circumflex ] };
> + key <AE06> { [ 6, ampersand, notsign ] };
> + key <AE07> { [ 7, slash, backslash ] };
> + key <AE08> { [ 8, parenleft ] };
> + key <AE09> { [ 9, parenright ] };
> + key <AE10> { [ 0, equal ] };
> + key <AE11> { [ apostrophe, question ] };
> + key <AE12> { [ exclamdown, questiondown ] };
> +
> + key <AD03> { [ e, E, EuroSign ] };
> + key <AD11> { [ dead_acute, dead_diaeresis ] };
> + key <AD12> { [ bracketleft, braceleft ] };
> +
> + key <AC10> { [ ntilde, Ntilde ] };
> + key <AC11> { [ plus, asterisk, dead_tilde ] };
> + key <BKSL> { [ bracketright, braceright ] };
> +
> + key <AB08> { [ comma, semicolon ] };
> + key <AB09> { [ period, colon ] };
> + key <AB10> { [ minus, underscore ] };
>
> + key <I219> { [ less, greater, ISO_Next_Group ] };
> + include "level3(ralt_switch)"
> };
> Index: symbols/inet
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/inet,v
> retrieving revision 1.64
> diff -u -p -u -p -r1.64 inet
> --- symbols/inet 14 Sep 2007 21:23:23 -0000 1.64
> +++ symbols/inet 16 Sep 2007 03:36:44 -0000
> @@ -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
> Index: symbols/ng
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/ng,v
> retrieving revision 1.2
> diff -u -p -u -p -r1.2 ng
> --- symbols/ng 11 Oct 2006 19:32:35 -0000 1.2
> +++ symbols/ng 16 Sep 2007 03:36:44 -0000
> @@ -54,3 +54,64 @@ xkb_symbols "hausa" {
> key <AB10> { [ 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 <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, 0x1000, 0x1000 ] }; // 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, 0x10001E37, 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> { [ ISO_Next_Group, ISO_Prev_Group ] };
> +
> + include "level3(ralt_switch)"
> +};
> Index: symbols/olpc
> ===================================================================
> RCS file: symbols/olpc
> diff -N symbols/olpc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ symbols/olpc 16 Sep 2007 03:36:44 -0000
> @@ -0,0 +1,19 @@
> +// Created by Bernardo Innocenti <bernie at codewiz.org>
> +//
> +// 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 <I220> { [ XF86Search ] }; // search key
> + key <I221> { [ XF86Meeting ] }; // fn+search key
> + key <I236> { [ XF86Start ] }; // gear key (fn+space)
> +};
> +
> Index: symbols/pk
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/pk,v
> retrieving revision 1.1
> diff -u -p -u -p -r1.1 pk
> --- symbols/pk 30 Jul 2005 02:32:00 -0000 1.1
> +++ symbols/pk 16 Sep 2007 03:36:44 -0000
> @@ -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 <TLDE> { [ 0x100064d , 0x100064b ] };
> + key <AE01> { [ 0x10006F1 , 0x1000021 ] };
> + key <AE02> { [ 0x10006F2 , 0x1000003 ] };
> + key <AE03> { [ 0x10006F3 , 0x100002f ] };
> + key <AE04> { [ 0x10006F4 , 0x1000626 ] };
> + key <AE05> { [ 0x10006F5 , 0x1000003 ] };
> + key <AE06> { [ 0x10006F6 , 0x10006d6 ] };
> + key <AE07> { [ 0x10006F7 , 0x1000654 ] };
> + key <AE08> { [ 0x10006F8 , 0x100064c ] };
> + key <AE09> { [ 0x10006F9 , 0x1000029 ] };
> + key <AE10> { [ 0x10006F0 , 0x1000028 ] };
> + key <AE11> { [ 0x1000623 , 0x1000651 ] };
> + key <AE12> { [ 0x1000624 , 0x1000622 ] };
> + key <AD01> { [ 0x1000642 , 0x1000652 ] };
> + key <AD02> { [ 0x1000648 , 0x10000a3 ] };
> + key <AD03> { [ 0x1000639 , 0x10000a5 ] };
> + key <AD04> { [ 0x1000631 , 0x1000691 ] };
> + key <AD05> { [ 0x100062a , 0x1000679 ] };
> + key <AD06> { [ 0x10006d2 , 0x1000601 ] };
> + key <AD07> { [ 0x1000621 , 0x100060c ] };
> + key <AD08> { [ 0x10006cc , 0x1000670 ] };
> + key <AD09> { [ 0x10006c1 , 0x10006c3 ] };
> + key <AD10> { [ 0x100067e , 0x100064f ] };
> + key <AD11> { [ 0x100005d , 0x1000670 ] };
> + key <AD12> { [ 0x100005b , 0x1000670 ] };
> +
> + key <AC01> { [ 0x1000627 , 0x1000653 ] };
> + key <AC02> { [ 0x1000633 , 0x1000635 ] };
> + key <AC03> { [ 0x100062f , 0x1000688 ] };
> + key <AC04> { [ 0x1000641 , 0x1000003 ] };
> + key <AC05> { [ 0x10006af , 0x100063a ] };
> + key <AC06> { [ 0x10006be , 0x100062d ] };
> + key <AC07> { [ 0x100062c , 0x1000636 ] };
> + key <AC08> { [ 0x10006a9 , 0x100062e ] };
> + key <AC09> { [ 0x1000644 , 0x1000613 ] };
> + key <AC10> { [ 0x100061b , 0x100003a ] };
> + key <AC11> { [ 0x1000670 , 0x1000022 ] };
> + key <BKSL> { [ 0x100060e , 0x1000614 ] };
> +
> + key <LSGT> { [ bar , brokenbar ] };
> + key <AB01> { [ 0x1000632 , 0x1000630 ] };
> + key <AB02> { [ 0x1000634 , 0x1000698 ] };
> + key <AB03> { [ 0x1000686 , 0x100062b ] };
> + key <AB04> { [ 0x1000637 , 0x1000638 ] };
> + key <AB05> { [ 0x1000628 , 0x1000612 ] };
> + key <AB06> { [ 0x1000646 , 0x10006ba ] };
> + key <AB07> { [ 0x1000645 , 0x1000003 ] };
> + key <AB08> { [ 0x100060c , 0x1000650 ] };
> + key <AB09> { [ 0x10006d4 , 0x100064e ] };
> + key <AB10> { [ 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 at hotmail.com
> +
> + include "pk(ara)"
> +
> + key <AE02> { [ 0x10006F2 , 0x1000600 ] };
> + key <AE05> { [ 0x10006F5 , 0x100060F ] };
> + key <AE06> { [ 0x10006F6 , 0x1000610 ] };
> +
> + key <AD01> { [ 0x1000642 , 0x10006E1 ] };
> + key <AD02> { [ 0x1000648 , 0x100FDFA ] };
> + key <AD03> { [ 0x1000639 , 0x1000611 ] };
> + // [] swapped due to keyboard misprint
> + key <AD11> { [ 0x100005B , 0x1000603 ] };
> + key <AD12> { [ 0x100005D , 0x100060E ] };
> +
> + key <AC04> { [ 0x1000641 , 0x1000656 ] };
> + key <AC09> { [ 0x1000644 , 0x1000612 ] };
> + key <AC11> { [ 0x1000027 , 0x1000022 ] };
> + key <BKSL> { [ 0x1000602 , 0x1000614 ] };
> +
> + key <AB05> { [ 0x1000628 , 0x1000613 ] };
> + key <AB07> { [ 0x1000645 , 0x1000658 ] };
> + key <AB10> { [ 0x1000615 , 0x100061F ] };
> +
> + //language key
> + key <I219> { [ISO_Next_Group , ISO_Prev_Group ] };
> +};
> Index: symbols/ru
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/ru,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 ru
> --- symbols/ru 11 Aug 2007 23:27:06 -0000 1.16
> +++ symbols/ru 16 Sep 2007 03:36:44 -0000
> @@ -69,6 +69,25 @@ xkb_symbols "basic" {
> };
>
> partial alphanumeric_keys
> +xkb_symbols "olpc" {
> +
> + include "ru(basic)"
> +
> + key <TLDE> { [ U+0451, U+0401, grave ] }; // Ñ', Ð
> + key <AE03> { [ 3, numbersign, U+2116 ] }; // â„–
> + key <AE04> { [ 4, dollar, semicolon ] };
> + key <AE05> { [ 5, percent ] };
> + key <AE06> { [ 6, asciicircum, colon ] };
> + key <AE07> { [ 7, ampersand ] };
> + key <AE08> { [ 8, asterisk ] };
> + key <AE09> { [ 9, parenleft, acute ] };
> + key <AC12> { [ backslash, bar, slash ] };
> + key <AB10> { [ period, comma ] };
> + key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
> + key <BKSL> { [ backslash, slash ] };
> +};
> +
> +partial alphanumeric_keys
> xkb_symbols "winkeys" {
> include "ru(basic)"
> name[Group1]= "Russia - Winkeys";
> Index: symbols/th
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/th,v
> retrieving revision 1.6
> diff -u -p -u -p -r1.6 th
> --- symbols/th 16 Jan 2005 02:18:20 -0000 1.6
> +++ symbols/th 16 Sep 2007 03:36:44 -0000
> @@ -186,3 +186,64 @@ xkb_symbols "tis" {
>
> key <BKSL> { [ Thai_khokhon, Thai_khokhuat ] };
> };
> +
> +partial alphanumeric_keys
> +xkb_symbols "olpc" {
> +
> + name[Group1]= "Thailand";
> + // The OLPC thai layout
> + // walter at laptop.org
> +
> + key <TLDE> { [ 0x1000E4F, 0x1000E5B ] };
> + key <AE01> { [ 0x1000E3F, 0x1000E45 ] };
> + key <AE02> { [ slash, 0x1000E51 ] };
> + key <AE03> { [ minus, 0x1000E52 ] };
> + key <AE04> { [ 0x1000E20, 0x1000E53 ] };
> + key <AE05> { [ 0x1000E16, 0x1000E54 ] };
> + key <AE06> { [ 0x1000E38, 0x1000E39 ] };
> + key <AE07> { [ 0x1000E36, 0x1000E4E ] };
> + key <AE08> { [ 0x1000E04, 0x1000E55 ] };
> + key <AE09> { [ 0x1000E15, 0x1000E56 ] };
> + key <AE10> { [ 0x1000E08, 0x1000E57 ] };
> + key <AE11> { [ 0x1000E02, 0x1000E58 ] };
> + key <AE12> { [ 0x1000E0A, 0x1000E59 ] };
> +
> + key <AD01> { [ 0x1000E46, 0x1000E50 ] };
> + key <AD02> { [ 0x1000E44, quotedbl ] };
> + key <AD03> { [ 0x1000E33, 0x1000E0E ] };
> + key <AD04> { [ 0x1000E1E, 0x1000E11 ] };
> + key <AD05> { [ 0x1000E30, 0x1000E18 ] };
> + key <AD06> { [ 0x1000E31, 0x1000E4D ] };
> + key <AD07> { [ 0x1000E35, 0x1000E4A ] };
> + key <AD08> { [ 0x1000E23, 0x1000E13 ] };
> + key <AD09> { [ 0x1000E19, 0x1000E2F ] };
> + key <AD10> { [ 0x1000E22, 0x1000E0D ] };
> + key <AD11> { [ 0x1000E1A, 0x1000E10 ] };
> + key <AD12> { [ 0x1000E25, comma ] };
> +
> + key <AC01> { [ 0x1000E1F, 0x1000E24 ] };
> + key <AC02> { [ 0x1000E2B, 0x1000E06 ] };
> + key <AC03> { [ 0x1000E01, 0x1000E0F ] };
> + key <AC04> { [ 0x1000E14, 0x1000E42 ] };
> + key <AC05> { [ 0x1000E40, 0x1000E0C ] };
> + key <AC06> { [ 0x1000E49, 0x1000E47 ] };
> + key <AC07> { [ 0x1000E48, 0x1000E4B ] };
> + key <AC08> { [ 0x1000E32, 0x1000E29 ] };
> + key <AC09> { [ 0x1000E2A, 0x1000E28 ] };
> + key <AC10> { [ 0x1000E27, 0x1000E0B ] };
> + key <AC11> { [ 0x1000E07, period ] };
> + key <BKSL> { [ 0x1000E05, 0x1000E03 ] };
> +
> + key <AB01> { [ 0x1000E1C, parenleft ] };
> + key <AB02> { [ 0x1000E1B, parenright ] };
> + key <AB03> { [ 0x1000E41, 0x1000E09 ] };
> + key <AB04> { [ 0x1000E2D, 0x1000E2E ] };
> + key <AB05> { [ 0x1000E34, 0x1000E3A ] };
> + key <AB06> { [ 0x1000E37, 0x1000E4C ] };
> + key <AB07> { [ 0x1000E17, question ] };
> + key <AB08> { [ 0x1000E21, 0x1000E12 ] };
> + key <AB09> { [ 0x1000E43, 0x1000E2C ] };
> + key <AB10> { [ 0x1000E1D, 0x1000E26 ] };
> +
> + key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
> +};
> Index: symbols/tr
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/tr,v
> retrieving revision 1.10
> diff -u -p -u -p -r1.10 tr
> --- symbols/tr 22 Mar 2006 23:02:42 -0000 1.10
> +++ symbols/tr 16 Sep 2007 03:36:44 -0000
> @@ -226,3 +226,12 @@ xkb_symbols "ku_alt" {
> key <AD08> { [ i, I, icircumflex, Icircumflex ] };
> key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
> };
> +
> +
> +partial alphanumeric_keys
> +xkb_symbols "olpc" {
> + name[Group1]= "Turkish";
> + include "tr(f)"
> +
> + key <I219> { [ less, greater, bar, brokenbar ] };
> +};
> Index: symbols/us
> ===================================================================
> RCS file: /cvs/xlibs/xkbdesc/xkeyboard-config/symbols/us,v
> retrieving revision 1.33
> diff -u -p -u -p -r1.33 us
> --- symbols/us 24 Aug 2007 22:01:29 -0000 1.33
> +++ symbols/us 16 Sep 2007 03:36:45 -0000
> @@ -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 <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
> + key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
> + key <AE02> { [ 2, at, notsign, notsign ] };
> + key <AE03> { [ 3, numbersign, 0x1000301, 0x1000301 ] }; // combining acute
> + key <AE04> { [ 4, dollar, 0x1000300, 0x1000300 ] }; // combining grave
> + 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)"
> + name[Group1]= "USA with Group Switch";
> + key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
> +};
>
>
>
> --
> // Bernardo Innocenti - http://www.codewiz.org/
> \X/ One Laptop Per Child - http://www.laptop.org/
>
More information about the xorg
mailing list