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