URI: 
       trm-680 - arm-sdk - os build toolkit for various embedded devices
  HTML git clone https://git.parazyd.org/arm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       trm-680 (39843B)
       ---
            1 // Instructions
            2 //
            3 // 1. Set basic layout by:
            4 //    setxkbmap -rules evdev -model nokiarm680 -layout cz
            5 //
            6 // 2. Set variant by:
            7 //    setxkbmap -rules evdev -model nokiarm680 -layout cz -variant qwerty
            8 //    In practice this is equivalent to:
            9 //    setxkbmap -rules evdev -model nokiarm680 -layout cz_qwerty
           10 //    However, the latter form isn't portable so always use the -variant option.
           11 //
           12 // 3. Set multilayout by:
           13 //    setxkbmap -rules evdev -model nokiarm680 -layout "us,cz" -variant ",qwerty" -option grp:ctrl_shift_toggle
           14 //    This sets the basic us layout active. You can switch to qwerty
           15 //    variant of cz layout by pressing ctrl+shift.
           16 //
           17 // Pitfalls
           18 //
           19 // 1. Many to one mappings
           20 //
           21 // Higher level input method components don't necessarily handle many to
           22 // one mappings correctly. They may assume that there exists only a one
           23 // to one mapping between a hardware key and a symbol. Therefore you
           24 // should take care not to introduce many to one mappings for keys that
           25 // are going to be reverse mapped from a symbol to a hardware key.
           26 //
           27 // Currently at least the modifier keys are affected. Clients may set
           28 // states, such as autorepeat, for hardware keys by reverse mapping a
           29 // modifier symbol to a hardware key and then setting the state for the
           30 // first hardware key that maps to the symbol. The correct way would be
           31 // to modify the state of all hardware keys mapping to a given symbol.
           32 //
           33 // We are nice and keep the mappings one to one for clients that don't
           34 // choose to handle many to one mappings.
           35 
           36 
           37 
           38 default partial alphanumeric_keys
           39 xkb_symbols "common" {
           40     include "nokia_vndr/rm-680(common-keys)"
           41     include "nokia_vndr/rm-680(modifiers)"
           42 
           43     // This section should not be included by any other section. It's
           44     // referenced only once by rule file to allow multiple layout
           45     // configurations.
           46 };
           47 
           48 // setxkbmap -model nokiarm680 -layout gb
           49 partial alphanumeric_keys
           50 xkb_symbols "gb" {
           51     include "nokia_vndr/rm-680(english-base)"
           52 
           53     name[Group1] = "English UK";
           54 };
           55 
           56 // setxkbmap -model nokiarm680 -layout us
           57 partial alphanumeric_keys
           58 xkb_symbols "us" {
           59     include "nokia_vndr/rm-680(english-base)"
           60 
           61     name[Group1] = "English US";
           62 };
           63 
           64 // setxkbmap -model nokiarm680 -layout ca
           65 partial alphanumeric_keys
           66 xkb_symbols "ca" {
           67     include "nokia_vndr/rm-680(english-base)"
           68 
           69     name[Group1] = "French Canadian";
           70 };
           71 
           72 // setxkbmap -model nokiarm680 -layout nl
           73 partial alphanumeric_keys
           74 xkb_symbols "nl" {
           75     include "nokia_vndr/rm-680(english-base)"
           76 
           77     name[Group1] = "Dutch";
           78 };
           79 
           80 // setxkbmap -model nokiarm680 -layout id
           81 partial alphanumeric_keys
           82 xkb_symbols "id" {
           83     include "nokia_vndr/rm-680(english-base)"
           84 
           85     name[Group1] = "Indonesian";
           86 };
           87 
           88 // setxkbmap -model nokiarm680 -layout my
           89 partial alphanumeric_keys
           90 xkb_symbols "my" {
           91     include "nokia_vndr/rm-680(english-base)"
           92 
           93     name[Group1] = "Malay";
           94 };
           95 
           96 // setxkbmap -model nokiarm680 -layout pl
           97 partial alphanumeric_keys
           98 xkb_symbols "pl" {
           99     include "nokia_vndr/rm-680(english-base)"
          100 
          101     name[Group1] = "Polish";
          102 };
          103 
          104 // setxkbmap -model nokiarm680 -layout ro
          105 partial alphanumeric_keys
          106 xkb_symbols "ro" {
          107     include "nokia_vndr/rm-680(english-base)"
          108 
          109     name[Group1] = "Romanian";
          110 };
          111 
          112 // setxkbmap -model nokiarm680 -layout fi
          113 partial alphanumeric_keys
          114 xkb_symbols "fi" {
          115     include "nokia_vndr/rm-680(nordic-base)"
          116 
          117     name[Group1] = "Finnish";
          118 
          119     // 3. row
          120     key <AB08>        { [        odiaeresis,        Odiaeresis,        colon,                colon                ] };
          121     key <AB09>        { [        adiaeresis,        Adiaeresis,        semicolon,        semicolon        ] };
          122 
          123 };
          124 
          125 // setxkbmap -model nokiarm680 -layout se
          126 partial alphanumeric_keys
          127 xkb_symbols "se" {
          128     include "nokia_vndr/rm-680(fi)"
          129 
          130     name[Group1] = "Swedish";
          131 };
          132 
          133 // setxkbmap -model nokiarm680 -layout no
          134 partial alphanumeric_keys
          135 xkb_symbols "no" {
          136     include "nokia_vndr/rm-680(nordic-base)"
          137 
          138     name[Group1] = "Norwegian";
          139 
          140     // 3. row
          141     key <AB08>        { [        oslash,                Oslash,                colon,                colon                ] };
          142     key <AB09>        { [        ae,                AE,                semicolon,        semicolon        ] };
          143 };
          144 
          145 // setxkbmap -model nokiarm680 -layout da
          146 partial alphanumeric_keys
          147 xkb_symbols "da" {
          148     include "nokia_vndr/rm-680(no)"
          149 
          150     name[Group1] = "Danish";
          151 };
          152 
          153 // setxkbmap -model nokiarm680 -layout pt
          154 partial alphanumeric_keys
          155 xkb_symbols "pt" {
          156     include "nokia_vndr/rm-680(english-base)"
          157 
          158     name[Group1] = "Portuguese";
          159 
          160     // 2. row
          161     key <AC02>        { [        s,                S,                apostrophe,        apostrophe        ] };
          162     key <AC03>        { [        d,                D,                quotedbl,        quotedbl        ] };
          163     key <AC04>        { [        f,                F,                percent,        percent                ] };
          164     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
          165     key <AC06>        { [        h,                H,                minus,                minus                ] };
          166     key <AC07>        { [        j,                J,                plus,                plus                ] };
          167     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
          168     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
          169     key <AC11>        { [        ccedilla,        Ccedilla,        question,        question        ] };
          170 
          171     // 3. row
          172     key <AB01>        { [        z,                Z,                EuroSign,        EuroSign        ] };
          173     key <AB03>        { [        c,                C,                ampersand,        ampersand        ] };
          174     key <AB04>        { [        v,                V,                backslash,        backslash        ] };
          175     key <AB05>        { [        b,                B,                parenleft,        parenleft        ] };
          176     key <AB06>        { [        n,                N,                parenright,        parenright        ] };
          177     key <AB08>        { [        dead_acute,        dead_grave,        colon,                colon                ] };
          178     key <AB09>        { [        dead_tilde,        dead_circumflex,semicolon,        semicolon        ] };
          179 
          180     // 4. row
          181     key <AC12>        { [        period,                comma,                comma,                comma                ] };
          182 };
          183 
          184 // setxkbmap -model nokiarm680 -layout br
          185 partial alphanumeric_keys
          186 xkb_symbols "br" {
          187     include "nokia_vndr/rm-680(pt)"
          188 
          189     name[Group1] = "Brazilian Portuguese";
          190 };
          191 
          192 // setxkbmap -model nokiarm680 -layout es
          193 partial alphanumeric_keys
          194 xkb_symbols "es" {
          195     include "nokia_vndr/rm-680(english-base)"
          196 
          197     name[Group1] = "Spanish";
          198 
          199     // 2. row
          200     key <AC02>        { [        s,                S,                question,        question        ] };
          201     key <AC03>        { [        d,                D,                apostrophe,        apostrophe        ] };
          202     key <AC04>        { [        f,                F,                quotedbl,        quotedbl        ] };
          203     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
          204     key <AC06>        { [        h,                H,                minus,                minus                ] };
          205     key <AC07>        { [        j,                J,                plus,                plus                ] };
          206     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
          207     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
          208     key <AC11>        { [        ntilde,                Ntilde,                ccedilla,        Ccedilla        ] };
          209 
          210     // 3. row
          211     key <AB01>        { [        z,                Z,                exclamdown,        exclamdown        ] };
          212     key <AB02>        { [        x,                X,                questiondown,        questiondown        ] };
          213     key <AB03>        { [        c,                C,                parenleft,        parenleft        ] };
          214     key <AB04>        { [        v,                V,                parenright,        parenright        ] };
          215     key <AB05>        { [        b,                B,                ampersand,        ampersand        ] };
          216     key <AB08>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          217     key <AB09>        { [        period,                colon,                colon,                colon                ] };
          218 
          219     // 4. row
          220     key <AC12>        { [        dead_acute,        dead_diaeresis,        dead_diaeresis,        dead_diaeresis        ] };
          221 };
          222 
          223 // setxkbmap -model nokiarm680 -layout es -variant american
          224 partial alphanumeric_keys
          225 xkb_symbols "es_american" {
          226     include "nokia_vndr/rm-680(es)"
          227 
          228     name[Group1] = "American Spanish";
          229 };
          230 
          231 // setxkbmap -model nokiarm680 -layout fr
          232 partial alphanumeric_keys
          233 xkb_symbols "fr" {
          234     include "nokia_vndr/rm-680(english-base)"
          235 
          236     name[Group1] = "French";
          237 
          238     // 1. row
          239     key <AD01>        { [        a,                A,                1,                1                ] };
          240     key <AD02>        { [        z,                Z,                2,                2                ] };
          241 
          242     // 2. row
          243     key <AC01>        { [        q,                Q,                EuroSign,        EuroSign        ] };
          244     key <AC02>        { [        s,                S,                equal,                equal                ] };
          245     key <AC03>        { [        d,                D,                parenleft,        parenleft        ] };
          246     key <AC04>        { [        f,                F,                parenright,        parenright        ] };
          247     key <AC05>        { [        g,                G,                percent,        percent                ] };
          248     key <AC06>        { [        h,                H,                ampersand,        ampersand        ] };
          249     key <AC07>        { [        j,                J,                eacute,                Eacute                ] };
          250     key <AC08>        { [        k,                K,                ecircumflex,        Ecircumflex        ] };
          251     key <AC09>        { [        l,                L,                egrave,                Egrave                ] };
          252     key <AC11>        { [        m,                M,                apostrophe,        apostrophe        ] };
          253 
          254     // 3. row
          255     key <AB01>        { [        w,                W,                underscore,        underscore        ] };
          256     key <AB02>        { [        x,                X,                minus,                minus                ] };
          257     key <AB03>        { [        c,                C,                plus,                plus                ] };
          258     key <AB04>        { [        v,                V,                numbersign,        numbersign        ] };
          259     key <AB05>        { [        b,                B,                asterisk,        asterisk        ] };
          260     key <AB06>        { [        n,                N,                backslash,        backslash        ] };
          261     key <AB07>        { [        comma,                question,        ccedilla,        Ccedilla        ] };
          262     key <AB08>        { [        period,                semicolon,        agrave,                Agrave                ] };
          263     key <AB09>        { [        colon,                exclam,                quotedbl,        quotedbl        ] };
          264 
          265     // 4. row
          266     key <AC12>        { [        dead_circumflex,dead_diaeresis,        dead_diaeresis,        dead_diaeresis        ] };
          267 };
          268 
          269 // setxkbmap -model nokiarm680 -layout de
          270 partial alphanumeric_keys
          271 xkb_symbols "de" {
          272     include "nokia_vndr/rm-680(english-base)"
          273 
          274     name[Group1] = "German";
          275 
          276     // 1. row
          277     key <AD06>        { [        z,                Z,                6,                6                ] };
          278 
          279     // 2. row
          280     key <AC01>        { [        a,                A,                exclam,                exclam                ] };
          281     key <AC02>        { [        s,                S,                apostrophe,        apostrophe        ] };
          282     key <AC03>        { [        d,                D,                quotedbl,        quotedbl        ] };
          283     key <AC04>        { [        f,                F,                percent,        percent                ] };
          284     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
          285     key <AC06>        { [        h,                H,                minus,                minus                ] };
          286     key <AC07>        { [        j,                J,                plus,                plus                ] };
          287     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
          288     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
          289     key <AC11>        { [        udiaeresis,        Udiaeresis,        question,        question        ] };
          290 
          291     // 3. row
          292     key <AB01>        { [        y,                Y,                less,                less                ] };
          293     key <AB02>        { [        x,                X,                greater,        greater                ] };
          294     key <AB03>        { [        c,                C,                ampersand,        ampersand        ] };
          295     key <AB04>        { [        v,                V,                parenleft,        parenrleft        ] };
          296     key <AB05>        { [        b,                B,                parenright,        parenright        ] };
          297     key <AB06>        { [        n,                N,                equal,                equal                ] };
          298     key <AB07>        { [        m,                M,                ssharp,                ssharp                ] };
          299     key <AB08>        { [        odiaeresis,        Odiaeresis,        colon,                colon                ] };
          300     key <AB09>        { [        adiaeresis,        Adiaeresis,        semicolon,        semicolon        ] };
          301 
          302     // 4. row
          303     key <AC12>        { [        period,                comma,                comma,                comma                ] };
          304 };
          305 
          306 // setxkbmap -model nokiarm680 -layout hu
          307 partial alphanumeric_keys
          308 xkb_symbols "hu" {
          309     include "nokia_vndr/rm-680(english-base)"
          310 
          311     name[Group1] = "Hungarian";
          312 
          313     // 1. row
          314     key <AD06>        { [        z,                Z,                6,                6                ] };
          315 
          316     // 2. row
          317     key <AC01>        { [        a,                A,                quotedbl,        quotedbl        ] };
          318     key <AC02>        { [        s,                S,                parenleft,        parenleft        ] };
          319     key <AC03>        { [        d,                D,                parenright,        parenright        ] };
          320     key <AC04>        { [        f,                F,                percent,        percent                ] };
          321     key <AC05>        { [        g,                G,                odiaeresis,        Odiaeresis        ] };
          322     key <AC06>        { [        h,                H,                odoubleacute,        Odoubleacute        ] };
          323     key <AC07>        { [        j,                J,                oacute,                Oacute                ] };
          324     key <AC08>        { [        k,                K,                udiaeresis,        Udiaeresis        ] };
          325     key <AC09>        { [        l,                L,                udoubleacute,        Udoubleacute        ] };
          326     key <AC11>        { [        exclam,                question,        question,        question        ] };
          327 
          328     // 3. row
          329     key <AB01>        { [        y,                Y,                minus,                minus                ] };
          330     key <AB02>        { [        x,                X,                plus,                plus                ] };
          331     key <AB03>        { [        c,                C,                numbersign,        numbersign        ] };
          332     key <AB04>        { [        v,                V,                asterisk,        asterisk        ] };
          333     key <AB05>        { [        b,                B,                equal,                equal                ] };
          334     key <AB06>        { [        n,                N,                iacute,                Iacute                ] };
          335     key <AB07>        { [        m,                M,                eacute,                Eacute                ] };
          336     key <AB08>        { [        comma,                semicolon,        aacute,                Aacute                ] };
          337     key <AB09>        { [        period,                colon,                uacute,                Uacute                ] };
          338 
          339     // 4. row
          340     key <AC12>        { [        apostrophe,        ampersand,        ampersand,        ampersand        ] };
          341 };
          342 
          343 // setxkbmap -model nokiarm680 -layout ch -variant french
          344 partial alphanumeric_keys
          345 xkb_symbols "ch_french" {
          346     include "nokia_vndr/rm-680(english-base)"
          347 
          348     name[Group1] = "Swiss French";
          349 
          350     // 1. row
          351     key <AD06>        { [        z,                Z,                6,                6                ] };
          352 
          353     // 2. row
          354     key <AC02>        { [        s,                S,                apostrophe,        apostrophe        ] };
          355     key <AC03>        { [        d,                D,                quotedbl,        quotedbl        ] };
          356     key <AC04>        { [        f,                F,                percent,        percent                ] };
          357     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
          358     key <AC06>        { [        h,                H,                minus,                minus                ] };
          359     key <AC07>        { [        j,                J,                plus,                plus                ] };
          360     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
          361     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
          362     key <AC11>        { [        egrave,                Egrave,                question,        question        ] };
          363 
          364     // 3. row
          365     key <AB01>        { [        y,                Y,                EuroSign,        EuroSign        ] };
          366     key <AB02>        { [        x,                X,                parenleft,        parenleft        ] };
          367     key <AB03>        { [        c,                C,                parenright,        parenright        ] };
          368     key <AB04>        { [        v,                V,                backslash,        backslash        ] };
          369     key <AB05>        { [        b,                B,                ampersand,        ampersand        ] };
          370     key <AB06>        { [        n,                N,                equal,                equal                ] };
          371     key <AB07>        { [        m,                M,                ccedilla,        Ccedilla        ] };
          372     key <AB08>        { [        eacute,                Eacute,                colon,                colon                ] };
          373     key <AB09>        { [        agrave,                Agrave,                semicolon,        semicolon        ] };
          374 
          375     // 4. row
          376     key <AC12>        { [        period,                dead_circumflex,comma,                comma                ] };
          377 };
          378 
          379 // setxkbmap -model nokiarm680 -layout ch -variant german
          380 partial alphanumeric_keys
          381 xkb_symbols "ch_german" {
          382     include "nokia_vndr/rm-680(ch_french)"
          383 
          384     name[Group1] = "Swiss German";
          385 
          386     // 2. row
          387     key <AC11>        { [        udiaeresis,        Udiaeresis,        question,        question        ] };
          388 
          389     // 3. row
          390     key <AB08>        { [        odiaeresis,        Odiaeresis,        colon,                colon                ] };
          391     key <AB09>        { [        adiaeresis,        Adiaeresis,        semicolon,        semicolon        ] };
          392 };
          393 
          394 // setxkbmap -model nokiarm680 -layout ru -variant latin
          395 partial alphanumeric_keys
          396 xkb_symbols "ru_latin" {
          397     include "nokia_vndr/rm-680(english-base)"
          398 
          399     name[Group1] = "Russian Latin";
          400 
          401     // 2. row
          402     key <AC01>        { [        a,                A,                numbersign,                numbersign                ] };
          403     key <AC02>        { [        s,                S,                asterisk,                asterisk                ] };
          404     key <AC03>        { [        d,                D,                plus,                        plus                        ] };
          405     key <AC04>        { [        f,                F,                equal,                        equal                        ] };
          406     key <AC05>        { [        g,                G,                minus,                        minus                        ] };
          407     key <AC06>        { [        h,                H,                exclam,                        exclam                        ] };
          408     key <AC07>        { [        j,                J,                question,                question                ] };
          409     key <AC08>        { [        k,                K,                parenleft,                parenleft                ] };
          410     key <AC09>        { [        l,                L,                parenright,                parenright                ] };
          411     key <AC11>        { [        VoidSymbol,        VoidSymbol,        VoidSymbol,                VoidSymbol                ] };
          412 
          413     // 3. row
          414     key <AB01>        { [        z,                Z,                apostrophe,                apostrophe                ] };
          415     key <AB02>        { [        x,                X,                quotedbl,                quotedbl                ] };
          416     key <AB03>        { [        c,                C,                percent,                percent                        ] };
          417     key <AB04>        { [        v,                V,                ampersand,                ampersand                ] };
          418     key <AB05>        { [        b,                B,                underscore,                underscore                ] };
          419     key <AB06>        { [        n,                N,                semicolon,                semicolon                ] };
          420     key <AB07>        { [        m,                M,                colon,                        colon                        ] };
          421     key <AB08>        { [        VoidSymbol,     VoidSymbol,        VoidSymbol,                VoidSymbol                ] };
          422     key <AB09>        { [        VoidSymbol,        VoidSymbol,        VoidSymbol,                VoidSymbol                ] };
          423 
          424     // 4. row
          425     key <AC12>        { [        period,                comma,                comma,                        comma                        ] };
          426 };
          427 
          428 // setxkbmap -model nokiarm680 -layout ru -variant cyrillic
          429 partial alphanumeric_keys
          430 xkb_symbols "ru_cyrillic" {
          431     include "nokia_vndr/rm-680(ru_latin)"
          432 
          433     name[Group1] = "Russian Cyrillic";
          434 
          435     // 1. row
          436     key <AD01>        { [        Cyrillic_shorti,        Cyrillic_SHORTI,        1,                        1                        ] };
          437     key <AD02>        { [        Cyrillic_tse,                Cyrillic_TSE,                2,                        2                        ] };
          438     key <AD03>        { [        Cyrillic_u,                Cyrillic_U,                3,                        3                        ] };
          439     key <AD04>        { [        Cyrillic_ka,                Cyrillic_KA,                4,                        4                        ] };
          440     key <AD05>        { [        Cyrillic_ie,                Cyrillic_IE,                5,                        5                        ] };
          441     key <AD06>        { [        Cyrillic_en,                Cyrillic_EN,                6,                        6                        ] };
          442     key <AD07>        { [        Cyrillic_ghe,                Cyrillic_GHE,                7,                        7                        ] };
          443     key <AD08>        { [        Cyrillic_sha,                Cyrillic_SHA,                8,                        8                        ] };
          444     key <AD09>        { [        Cyrillic_shcha,                Cyrillic_SHCHA,                9,                        9                        ] };
          445     key <AD10>        { [        Cyrillic_ze,                Cyrillic_ZE,                0,                        0                        ] };
          446 
          447     // 2. row
          448     key <AC01>        { [        Cyrillic_ef,                Cyrillic_EF,                numbersign,                numbersign                ] };
          449     key <AC02>        { [        Cyrillic_yeru,                Cyrillic_YERU,                asterisk,                asterisk                ] };
          450     key <AC03>        { [        Cyrillic_ve,                Cyrillic_VE,                plus,                        plus                        ] };
          451     key <AC04>        { [        Cyrillic_a,                Cyrillic_A,                equal,                        equal                        ] };
          452     key <AC05>        { [        Cyrillic_pe,                Cyrillic_PE,                minus,                        minus                        ] };
          453     key <AC06>        { [        Cyrillic_er,                Cyrillic_ER,                exclam,                        exclam                        ] };
          454     key <AC07>        { [        Cyrillic_o,                Cyrillic_O,                question,                question                ] };
          455     key <AC08>        { [        Cyrillic_el,                Cyrillic_EL,                parenleft,                parenleft                ] };
          456     key <AC09>        { [        Cyrillic_de,                Cyrillic_DE,                parenright,                parenright                ] };
          457     key <AC11>        { [        Cyrillic_zhe,                Cyrillic_ZHE,                Cyrillic_ha,                Cyrillic_HA                ] };
          458 
          459     // 3. row
          460     key <AB01>        { [        Cyrillic_ya,                Cyrillic_YA,                apostrophe,                apostrophe                ] };
          461     key <AB02>        { [        Cyrillic_che,                Cyrillic_CHE,                quotedbl,                quotedbl                ] };
          462     key <AB03>        { [        Cyrillic_es,                Cyrillic_ES,                percent,                percent                        ] };
          463     key <AB04>        { [        Cyrillic_em,                Cyrillic_EM,                ampersand,                ampersand                ] };
          464     key <AB05>        { [        Cyrillic_i,                Cyrillic_I,                underscore,                underscore                ] };
          465     key <AB06>        { [        Cyrillic_te,                Cyrillic_TE,                semicolon,                semicolon                ] };
          466     key <AB07>        { [        Cyrillic_softsign,        Cyrillic_SOFTSIGN,        colon,                        colon                        ] };
          467     key <AB08>        { [        Cyrillic_be,                Cyrillic_BE,                Cyrillic_hardsign,        Cyrillic_HARDSIGN        ] };
          468     key <AB09>        { [        Cyrillic_yu,                Cyrillic_YU,                Cyrillic_e,                Cyrillic_E                ] };
          469 };
          470 
          471 // setxkbmap -model nokiarm680 -layout ua -variant latin
          472 partial alphanumeric_keys
          473 xkb_symbols "ua_latin" {
          474     include "nokia_vndr/rm-680(ru_latin)"
          475 
          476     name[Group1] = "Ukrainian Latin";
          477 };
          478 
          479 // setxkbmap -model nokiarm680 -layout ua -variant cyrillic
          480 partial alphanumeric_keys
          481 xkb_symbols "ua_cyrillic" {
          482     include "nokia_vndr/rm-680(ru_cyrillic)"
          483 
          484     name[Group1] = "Ukrainian Cyrillic";
          485 
          486 };
          487 
          488 // setxkbmap -model nokiarm680 -layout it
          489 partial alphanumeric_keys
          490 xkb_symbols "it" {
          491     include "nokia_vndr/rm-680(english-base)"
          492 
          493     name[Group1] = "Italian";
          494 
          495     // 2. row
          496     key <AC01>        { [        a,                A,                EuroSign,        EuroSign        ] };
          497     key <AC02>        { [        s,                S,                quotedbl,        quotedbl        ] };
          498     key <AC03>        { [        d,                D,                equal,                equal                ] };
          499     key <AC04>        { [        f,                F,                percent,        percent                ] };
          500     key <AC05>        { [        g,                G,                parenleft,        parenleft        ] };
          501     key <AC06>        { [        h,                H,                parenright,        parenright        ] };
          502     key <AC07>        { [        j,                J,                igrave,                Igrave                ] };
          503     key <AC08>        { [        k,                K,                eacute,                Eacute                ] };
          504     key <AC09>        { [        l,                L,                egrave,                Egrave                ] };
          505     key <AC11>        { [        question,        exclam,                exclam,                exclam                ] };
          506 
          507     // 3. row
          508     key <AB01>        { [        z,                Z,                underscore,        underscore        ] };
          509     key <AB02>        { [        x,                X,                minus,                minus                ] };
          510     key <AB03>        { [        c,                C,                plus,                plus                ] };
          511     key <AB04>        { [        v,                V,                numbersign,        numbersign        ] };
          512     key <AB05>        { [        b,                B,                asterisk,        asterisk        ] };
          513     key <AB06>        { [        n,                N,                backslash,        backslash        ] };
          514     key <AB07>        { [        m,                M,                ograve,                Ograve                ] };
          515     key <AB08>        { [        comma,                semicolon,        agrave,                Agrave                ] };
          516     key <AB09>        { [        period,                colon,                ugrave,                Ugrave                ] };
          517 
          518     // 4. row
          519     key <AC12>        { [        apostrophe,        ampersand,        ampersand,        ampersand        ] };
          520 };
          521 
          522 // setxkbmap -model nokiarm680 -layout cz
          523 partial alphanumeric_keys
          524 xkb_symbols "cz" {
          525     include "nokia_vndr/rm-680(english-base)"
          526 
          527     name[Group1] = "Czech";
          528 
          529     // 1. row
          530     key <AD06>        { [        z,                Z,                6,                6                ] };
          531 
          532     // 2. row
          533     key <AC01>        { [        a,                A,                minus,                minus                ] };
          534     key <AC02>        { [        s,                S,                ecaron,                Ecaron                ] };
          535     key <AC03>        { [        d,                D,                scaron,                Scaron                ] };
          536     key <AC04>        { [        f,                F,                ccaron,                Ccaron                ] };
          537     key <AC05>        { [        g,                G,                rcaron,                Rcaron                ] };
          538     key <AC06>        { [        h,                H,                zcaron,                Zcaron                ] };
          539     key <AC07>        { [        j,                J,                yacute,                Yacute                ] };
          540     key <AC08>        { [        k,                K,                aacute,                Aacute                ] };
          541     key <AC09>        { [        l,                L,                iacute,                Iacute                ] };
          542     key <AC11>        { [        question,        question,        eacute,                Eacute                ] };
          543 
          544     // 3. row
          545     key <AB01>        { [        y,                Y,                plus,                plus                ] };
          546     key <AB02>        { [        x,                X,                numbersign,        numbersign        ] };
          547     key <AB03>        { [        c,                C,                asterisk,        asterisk        ] };
          548     key <AB04>        { [        v,                V,                apostrophe,        apostrophe        ] };
          549     key <AB05>        { [        b,                B,                parenleft,        parenleft        ] };
          550     key <AB06>        { [        n,                N,                parenright,        parenright        ] };
          551     key <AB07>        { [        m,                M,                uring,                Uring                ] };
          552     key <AB08>        { [        comma,                semicolon,        uacute,                Uacute                ] };
          553     key <AB09>        { [        period,                colon,                exclam,                exclam                ] };
          554 
          555     // 4. row
          556     key <AC12>        { [        dead_acute,        dead_caron,        dead_caron,        dead_caron        ] };
          557 };
          558 
          559 // setxkbmap -model nokiarm680 -layout cz -variant qwerty
          560 partial alphanumeric_keys
          561 xkb_symbols "cz_qwerty" {
          562     include "nokia_vndr/rm-680(cz)"
          563 
          564     name[Group1] = "Czech - qwerty";
          565 
          566     // 1. row
          567     key <AD06>        { [        y,                Y,                6,                6                ] };
          568 
          569     // 3. row
          570     key <AB01>        { [        z,                Z,                plus,                plus                ] };
          571 };
          572 
          573 // setxkbmap -model nokiarm680 -layout sk
          574 partial alphanumeric_keys
          575 xkb_symbols "sk" {
          576     include "nokia_vndr/rm-680(english-base)"
          577 
          578     name[Group1] = "Slovak";
          579 
          580     // 1. row
          581     key <AD06>        { [        z,                Z,                6,                6                ] };
          582 
          583     // 2. row
          584     key <AC01>        { [        a,                A,                U013E,                U013D                ] };
          585     key <AC02>        { [        s,                S,                scaron,                Scaron                ] };
          586     key <AC03>        { [        d,                D,                ccaron,                Ccaron                ] };
          587     key <AC04>        { [        f,                F,                U0165,                U0164                ] };
          588     key <AC05>        { [        g,                G,                zcaron,                Zcaron                ] };
          589     key <AC06>        { [        h,                H,                yacute,                Yacute                ] };
          590     key <AC07>        { [        j,                J,                aacute,                Aacute                ] };
          591     key <AC08>        { [        k,                K,                iacute,                Iacute                ] };
          592     key <AC09>        { [        l,                L,                eacute,                Eacute                ] };
          593     key <AC11>        { [        question,        exclam,                uacute,                Uacute                ] };
          594 
          595     // 3. row
          596     key <AB01>        { [        y,                Y,                plus,                plus                ] };
          597     key <AB02>        { [        x,                X,                minus,                minus                ] };
          598     key <AB03>        { [        c,                C,                equal,                equal                ] };
          599     key <AB04>        { [        v,                V,                numbersign,        numbersign        ] };
          600     key <AB05>        { [        b,                B,                asterisk,        asterisk        ] };
          601     key <AB06>        { [        n,                N,                parenleft,        parenleft        ] };
          602     key <AB07>        { [        m,                M,                parenright,        parenright        ] };
          603     key <AB08>        { [        comma,                dead_acute,        semicolon,        semicolon        ] };
          604     key <AB09>        { [        period,                EuroSign,        colon,                colon                ] };
          605 
          606     // 4. row
          607     key <AC12>        { [        dead_caron,        dead_circumflex,dead_circumflex,dead_circumflex        ] };
          608 };
          609 
          610 // setxkbmap -model nokiarm680 -layout tr
          611 partial alphanumeric_keys
          612 xkb_symbols "tr" {
          613     include "nokia_vndr/rm-680(english-base)"
          614 
          615     name[Group1] = "Turkish";
          616 
          617     // 2. row
          618     key <AC01>        { [        a,                A,                equal,                equal                ] };
          619     key <AC02>        { [        s,                S,                quotedbl,        quotedbl        ] };
          620     key <AC03>        { [        d,                D,                percent,        percent                ] };
          621     key <AC04>        { [        f,                F,                gcaron,                Gcaron                ] };
          622     key <AC05>        { [        g,                G,                udiaeresis,        Udiaeresis        ] };
          623     key <AC06>        { [        h,                H,                scedilla,        Scedilla        ] };
          624     key <AC07>        { [        j,                J,                idotless,        Iabovedot        ] };
          625     key <AC08>        { [        k,                K,                odiaeresis,        Odiaeresis        ] };
          626     key <AC09>        { [        l,                L,                ccedilla,        Ccedilla        ] };
          627     key <AC11>        { [        exclam,                apostrophe,        apostrophe,        apostrophe        ] };
          628 
          629     // 3. row
          630     key <AB01>        { [        z,                Z,                minus,                minus                ] };
          631     key <AB02>        { [        x,                X,                plus,                plus                ] };
          632     key <AB03>        { [        c,                C,                numbersign,        numbersign        ] };
          633     key <AB04>        { [        v,                V,                asterisk,        asterisk        ] };
          634     key <AB05>        { [        b,                B,                ampersand,        ampersand        ] };
          635     key <AB06>        { [        n,                N,                parenleft,        parenleft        ] };
          636     key <AB07>        { [        m,                M,                parenright,        parenright        ] };
          637     key <AB08>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          638     key <AB09>        { [        period,                colon,                colon,                colon                ] };
          639 };
          640 
          641 // setxkbmap -model nokiarm680 -layout ara
          642 //
          643 // Decomposition of any unicode ligatures is left to higher level input
          644 // method components. It is easier to map ligatures consisting of multiple
          645 // unicode characters to a single unicode presentation form. The used
          646 // presentation forms are given below.
          647 //
          648 // FEF6/0644+0622: ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
          649 // FEF7/0644+0623: ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
          650 // FEF9/0644+0625: ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
          651 // FEFB/0644+0627: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
          652 
          653 partial alphanumeric_keys
          654 xkb_symbols "ara" {
          655     include "nokia_vndr/rm-680(english-base)"
          656 
          657     name[Group1] = "Arabic";
          658 
          659     // 1. row
          660     key <AD01>        { [        Arabic_dad,                Arabic_thal,                1,                        1                        ] };
          661     key <AD02>        { [        Arabic_sad,                Arabic_sad,                2,                        2                        ] };
          662     key <AD03>        { [        Arabic_theh,                Arabic_theh,                3,                        3                        ] };
          663     key <AD04>        { [        Arabic_qaf,                Arabic_qaf,                4,                        4                        ] };
          664     key <AD05>        { [        Arabic_feh,                UFEF9,                        5,                        5                        ] };
          665     key <AD06>        { [        Arabic_ghain,                Arabic_hamzaunderalef,        6,                        6                        ] };
          666     key <AD07>        { [        Arabic_ain,                Arabic_ain,                7,                        7                        ] };
          667     key <AD08>        { [        Arabic_ha,                Arabic_ha,                8,                        8                        ] };
          668     key <AD09>        { [        Arabic_hah,                Arabic_khah,                9,                        9                        ] };
          669     key <AD10>        { [        Arabic_jeem,                Arabic_dal,                0,                        0                        ] };
          670 
          671     // 2. row
          672     key <AC01>        { [        Arabic_sheen,                Arabic_sheen,                apostrophe,                apostrophe                ] };
          673     key <AC02>        { [        Arabic_seen,                Arabic_seen,                quotedbl,                quotedbl                ] };
          674     key <AC03>        { [        Arabic_yeh,                Arabic_yeh,                percent,                percent                        ] };
          675     key <AC04>        { [        Arabic_beh,                Arabic_beh,                ampersand,                ampersand                ] };
          676     key <AC05>        { [        Arabic_lam,                UFEF7,                        underscore,                underscore                ] };
          677     key <AC06>        { [        Arabic_alef,                Arabic_hamzaonalef,        minus,                        minus                        ] };
          678     key <AC07>        { [        Arabic_teh,                Arabic_teh,                plus,                        plus                        ] };
          679     key <AC08>        { [        Arabic_noon,                Arabic_kaf,                numbersign,                numbersign                ] };
          680     key <AC09>        { [        Arabic_meem,                Arabic_tah,                asterisk,                asterisk                ] };
          681     key <AC11>        { [        Arabic_question_mark,        exclam,                        exclam,                        exclam                        ] };
          682 
          683     // 3. row
          684     key <AB01>        { [        Arabic_hamzaonyeh,        Arabic_hamzaonyeh,        sterling,                sterling                ] };
          685     key <AB02>        { [        Arabic_hamza,                Arabic_hamza,                dollar,                        dollar                        ] };
          686     key <AB03>        { [        Arabic_hamzaonwaw,        Arabic_hamzaonwaw,        EuroSign,                EuroSign                ] };
          687     key <AB04>        { [        Arabic_ra,                Arabic_ra,                backslash,                backslash                ] };
          688     key <AB05>        { [        UFEFB,                        UFEF6,                        parenleft,                parenleft                ] };
          689     key <AB06>        { [        Arabic_alefmaksura,        Arabic_hamzaonalef,        parenright,                parenright                ] };
          690     key <AB07>        { [        Arabic_tehmarbuta,        Arabic_tehmarbuta,        equal,                        equal                        ] };
          691     key <AB08>        { [        Arabic_waw,                Arabic_waw,                Arabic_semicolon,        Arabic_semicolon        ] };
          692     key <AB09>        { [        Arabic_zain,                Arabic_zah,                colon,                        colon                        ] };
          693 
          694     // 4. row
          695     key <AC12>        { [        period,                        Arabic_comma,                Arabic_comma,                Arabic_comma                ] };
          696 };
          697 
          698 // setxkbmap -model nokiarm680 -layout ara -variant latin
          699 partial alphanumeric_keys
          700 xkb_symbols "ara_latin" {
          701     include "nokia_vndr/rm-680(english-base)"
          702 
          703     name[Group1] = "Arabic Latin";
          704 
          705     // 2. row
          706     key <AC01>        { [        a,                A,                apostrophe,        apostrophe        ] };
          707     key <AC03>        { [        d,                D,                percent,        percent                ] };
          708     key <AC04>        { [        f,                F,                ampersand,        ampersand        ] };
          709     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
          710     key <AC06>        { [        h,                H,                minus,                minus                ] };
          711     key <AC07>        { [        j,                J,                plus,                plus                ] };
          712     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
          713     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
          714     key <AC11>        { [        question,        exclam,                exclam,                exclam                ] };
          715 
          716     // 3. row
          717     key <AB04>        { [        v,                V,                backslash,        backslash        ] };
          718     key <AB05>        { [        b,                B,                parenleft,        parenleft        ] };
          719     key <AB06>        { [        n,                N,                parenright,        parenright        ] };
          720     key <AB08>        { [        semicolon,        semicolon,        semicolon,        semicolon        ] };
          721     key <AB09>        { [        colon,                colon,                colon,                colon                ] };
          722 
          723     // 4. row
          724     key <AC12>        { [        period,                comma,                comma,                comma                ] };
          725 };
          726 
          727 // setxkbmap -model nokiarm680 -layout ara -variant indic
          728 partial alphanumeric_keys
          729 xkb_symbols "ara_indic" {
          730     include "nokia_vndr/rm-680(ara)"
          731 
          732     name[Group1] = "Arabic Indic";
          733 
          734     // 2. row
          735     key <AC03>        { [        Arabic_yeh,        Arabic_yeh,        Arabic_percent,        Arabic_percent        ] };
          736 };
          737 
          738 // setxkbmap -model nokiarm680 -layout cn -variant latin-cangjie
          739 partial alphanumeric_keys
          740 xkb_symbols "cn_latin-cangjie" {
          741     include "nokia_vndr/rm-680(chinese-base)"
          742 
          743     name[Group1] = "Chinese Latin-Cangjie";
          744 
          745     // 2. row
          746     key <AC02>        { [        s,                S,                asciicircum,        asciicircum        ] };
          747 
          748     // 3. row
          749     key <AB04>        { [        v,                V,                backslash,        backslash        ] };  
          750     key <AB08>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          751     key <AB09>        { [        period,                colon,                colon,                colon                ] };
          752 };
          753 
          754 // setxkbmap -model nokiarm680 -layout zh -variant hk-latin
          755 partial alphanumeric_keys
          756 xkb_symbols "zh_hk-latin" {
          757     include "nokia_vndr/rm-680(cn_latin-cangjie)"
          758 
          759     name[Group1] = "Chinese Latin-Cangjie";
          760 };
          761 
          762 // setxkbmap -model nokiarm680 -layout cn -variant cangjie
          763 partial alphanumeric_keys
          764 xkb_symbols "cn_cangjie" {
          765     include "nokia_vndr/rm-680(cn_latin-cangjie)"
          766 
          767     name[Group1] = "Chinese Cangjie";
          768 
          769     // 1. row
          770     key <AD01>        { [        U624B,                U624B,                1,                1                ] };
          771     key <AD02>        { [        U7530,                U7530,                2,                2                ] };
          772     key <AD03>        { [        U6C34,                U6C34,                3,                3                ] };
          773     key <AD04>        { [        U53E3,                U53E3,                4,                4                ] };
          774     key <AD05>        { [        U5EFF,                U5EFF,                5,                5                ] };
          775     key <AD06>        { [        U535C,                U535C,                6,                6                ] };
          776     key <AD07>        { [        U5C71,                U5C71,                7,                7                ] };
          777     key <AD08>        { [        U6208,                U6208,                8,                8                ] };
          778     key <AD09>        { [        U4EBA,                U4EBA,                9,                9                ] };
          779     key <AD10>        { [        U5FC3,                U5FC3,                0,                0                ] };
          780 
          781     // 2. row
          782     key <AC01>        { [        U65E5,                U65E5,                UFF07,                UFF07                ] };
          783     key <AC02>        { [        U5C38,                U5C38,                UFF3E,                UFF3E                ] };
          784     key <AC03>        { [        U6728,                U6728,                UFF05,                UFF05                ] };
          785     key <AC04>        { [        U706B,                U706B,                UFE51,                UFE51                ] };
          786     key <AC05>        { [        U571F,                U571F,                UFF3F,                UFF3F                ] };
          787     key <AC06>        { [        U7AF9,                U7AF9,                UFF0D,                UFF0D                ] };
          788     key <AC07>        { [        U5341,                U5341,                plus,                plus                ] };
          789     key <AC08>        { [        U5927,                U5927,                numbersign,        numbersign        ] };
          790     key <AC09>        { [        U4E2D,                U4E2D,                asterisk,        asterisk        ] };
          791     key <AC11>        { [        UFF1F,                UFF01,                UFF01,                UFF01                ] };
          792 
          793     // 3. row
          794     key <AB01>        { [        VoidSymbol,        VoidSymbol,        EuroSign,        EuroSign        ] };
          795     key <AB02>        { [        U96E3,                U96E3,                UFF04,                UFF04                ] };
          796     key <AB03>        { [        U91D1,                U91D1,                UFF06,                UFF06                ] };
          797     key <AB04>        { [        U5973,                U5973,                UFF3C,                UFF3C                ] };
          798     key <AB05>        { [        U6708,                U6708,                UFF08,                UFF08                ] };
          799     key <AB06>        { [        U5F13,                U5F13,                UFF09,                UFF09                ] };
          800     key <AB07>        { [        U4E00,                U4E00,                UFF1D,                UFF1D                ] };
          801     key <AB08>        { [        UFF0C,                UFF1B,                UFF1B,                UFF1B                ] };
          802     key <AB09>        { [        U3002,                UFF1A,                UFF1A,                UFF1A                ] };
          803 
          804     // 4. row
          805     key <AB10>        { [        UFF20,                UFF0F,                UFF0F,                UFF0F                ] };
          806 };
          807 
          808 // setxkbmap -model nokiarm680 -layout zh -variant hk
          809 partial alphanumeric_keys
          810 xkb_symbols "zh_hk" {
          811     include "nokia_vndr/rm-680(cn_cangjie)"
          812 
          813     name[Group1] = "Chinese Cangjie";
          814 };
          815 
          816 // setxkbmap -model nokiarm680 -layout cn -variant latin-pinyin
          817 partial alphanumeric_keys
          818 xkb_symbols "cn_latin-pinyin" {
          819     include "nokia_vndr/rm-680(chinese-base)"
          820 
          821     name[Group1] = "Chinese Latin-Pinyin";
          822 
          823   // 2. row
          824     key <AC02>        { [        s,                S,                ampersand,        ampersand        ] };  
          825 
          826     // 3. row
          827     key <AB03>        { [        c,                C,                yen,                yen                ] };
          828     key <AB04>        { [        v,                V,                backslash,        backslash        ] };  
          829     key <AB08>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          830     key <AB09>        { [        period,                colon,                colon,                colon                ] };
          831 };
          832 
          833 // setxkbmap -model nokiarm680 -layout zh -variant latin
          834 partial alphanumeric_keys
          835 xkb_symbols "zh_latin" {
          836     include "nokia_vndr/rm-680(cn_latin-pinyin)"
          837 
          838     name[Group1] = "Chinese Latin-Pinyin";
          839 };
          840 
          841 // setxkbmap -model nokiarm680 -layout cn -variant pinyin
          842 partial alphanumeric_keys
          843 xkb_symbols "cn_pinyin" {
          844     include "nokia_vndr/rm-680(cn_latin-pinyin)"
          845 
          846     name[Group1] = "Chinese Pinyin";
          847 
          848     // 2. row
          849     key <AC01>        { [        a,                A,                UFF07,                UFF07                ] };
          850     key <AC02>        { [        s,                S,                UFF06,                UFF06                ] };
          851     key <AC03>        { [        d,                D,                UFF05,                UFF05                ] };
          852     key <AC05>        { [        g,                G,                UFF3F,                UFF3F                ] };
          853     key <AC06>        { [        h,                H,                UFF0D,                UFF0D                ] };
          854     key <AC11>        { [        UFF1F,                UFF01,                UFF01,                UFF01                ] };
          855 
          856     // 3. row
          857     key <AB03>        { [        c,                C,                UFFE5,                UFFE5                ] };
          858     key <AB04>        { [        v,                V,                UFF3C,                UFF3C                ] };
          859     key <AB05>        { [        b,                B,                UFF08,                UFF08                ] };
          860     key <AB06>        { [        n,                N,                UFF09,                UFF09                ] };
          861     key <AB07>        { [        m,                M,                UFF1D,                UFF1D                ] };
          862     key <AB08>        { [        UFF0C,                UFF1B,                UFF1B,                UFF1B                ] };
          863     key <AB09>        { [        U3002,                UFF1A,                UFF1A,                UFF1A                ] };
          864 
          865     // 4. row
          866     key <AB10>        { [        UFF20,                UFF0F,                UFF0F,                UFF0F                ] };
          867 };
          868 
          869 // setxkbmap -model nokiarm680 -layout zh
          870 partial alphanumeric_keys
          871 xkb_symbols "zh" {
          872     include "nokia_vndr/rm-680(cn_pinyin)"
          873 
          874     name[Group1] = "Chinese Pinyin";
          875 };
          876 
          877 // setxkbmap -model nokiarm680 -layout cn -variant latin-zhuyin
          878 partial alphanumeric_keys
          879 xkb_symbols "cn_latin-zhuyin" {
          880     include "nokia_vndr/rm-680(chinese-base)"
          881 
          882     name[Group1] = "Chinese Latin-Zhuyin";
          883 
          884     // 2. row
          885     key <AC02>        { [        s,                S,                asciicircum,        asciicircum        ] };
          886     key <AC04>        { [        f,                F,                ampersand,        ampersand        ] };
          887     key <AC11>        { [        period,                colon,                colon,                colon                ] };
          888 
          889     // 3. row
          890     key <AB03>        { [        c,                C,                parenleft,        parenleft        ] };
          891     key <AB04>        { [        v,                V,                parenright,        parenright        ] };
          892     key <AB05>        { [        b,                B,                backslash,        backslash        ] };
          893     key <AB06>        { [        n,                N,                equal,                equal                ] };
          894     key <AB07>        { [        m,                M,                exclam,                exclam                ] };
          895     key <AB08>        { [        question,        question,        question,        question        ] };
          896     key <AB09>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          897 
          898 };
          899 
          900 // setxkbmap -model nokiarm680 -layout zh -variant tw-latin
          901 partial alphanumeric_keys
          902 xkb_symbols "zh_tw-latin" {
          903     include "nokia_vndr/rm-680(cn_latin-zhuyin)"
          904 
          905     name[Group1] = "Chinese Latin-Zhuyin";
          906 };
          907 
          908 // setxkbmap -model nokiarm680 -layout cn -variant zhuyin
          909 partial alphanumeric_keys
          910 xkb_symbols "cn_zhuyin" {
          911     include "nokia_vndr/rm-680(cn_latin-zhuyin)"
          912 
          913     name[Group1] = "Chinese Zhuyin";
          914 
          915     // 1. row
          916     key <AD01>        { [        U3105,                U3105,                1,                1                ] };
          917     key <AD02>        { [        U3109,                U3109,                2,                2                ] };
          918     key <AD03>        { [        U02C7,                U02C7,                3,                3                ] };
          919     key <AD04>        { [        U02CB,                U02CB,                4,                4                ] };
          920     key <AD05>        { [        U3113,                U3113,                5,                5                ] };
          921     key <AD06>        { [        U02CA,                U02CA,                6,                6                ] };
          922     key <AD07>        { [        U02D9,                U02D9,                7,                7                ] };
          923     key <AD08>        { [        U311B,                U311A,                8,                8                ] };
          924     key <AD09>        { [        U311F,                U311E,                9,                9                ] };
          925     key <AD10>        { [        U3123,                U3122,                0,                0                ] };
          926 
          927     // 2. row
          928     key <AC01>        { [        U3107,                U3106,                UFF07,                UFF07                ] };
          929     key <AC02>        { [        U310B,                U310A,                UFF3E,                UFF3E                ] };
          930     key <AC03>        { [        U310E,                U310D,                UFF05,                UFF05                ] };
          931     key <AC04>        { [        U3111,                U3110,                UFF06,                UFF06                ] };
          932     key <AC05>        { [        U3115,                U3114,                UFF3F,                UFF3F                ] };
          933     key <AC06>        { [        U3118,                U3117,                UFF0D,                UFF0D                ] };
          934     key <AC07>        { [        U3128,                U3127,                plus,                plus                ] };
          935     key <AC08>        { [        U311D,                U311C,                numbersign,        numbersign        ] };
          936     key <AC09>        { [        U3121,                U3120,                asterisk,        asterisk        ] };
          937     key <AC11>        { [        U3002,                UFF1A,                UFF1A,                UFF1A                ] };
          938 
          939     // 3. row
          940     key <AB01>        { [        U3108,                U3108,                EuroSign,        EuroSign        ] };
          941     key <AB02>        { [        U310C,                U310C,                dollar,                dollar                ] };
          942     key <AB03>        { [        U310F,                U310F,                UFF08,                UFF08                ] };
          943     key <AB04>        { [        U3112,                U3112,                UFF09,                UFF09                ] };
          944     key <AB05>        { [        U3116,                U3116,                UFF3C,                UFF3C                ] };
          945     key <AB06>        { [        U3119,                U3119,                UFF1D,                UFF1D                ] };
          946     key <AB07>        { [        U3126,                U3129,                UFF01,                UFF01                ] };
          947     key <AB08>        { [        U3125,                U3124,                UFF1F,                UFF1F                ] };
          948     key <AB09>        { [        UFF0C,                UFF1B,                UFF1B,                UFF1B                ] };
          949 
          950     // 4. row
          951     key <AB10>        { [        UFF20,                UFF0F,                UFF0F,                UFF0F                ] };
          952 };
          953 
          954 // setxkbmap -model nokiarm680 -layout zh -variant tw
          955 partial alphanumeric_keys
          956 xkb_symbols "zh_tw" {
          957     include "nokia_vndr/rm-680(cn_zhuyin)"
          958 
          959     name[Group1] = "Chinese Zhuyin";
          960 };
          961 
          962 partial hidden alphanumeric_keys
          963 xkb_symbols "english-base" {
          964     // 1. row
          965     key <AD01>        { [        q,                Q,                1,                1                ] };
          966     key <AD02>        { [        w,                W,                2,                2                ] };
          967     key <AD03>        { [        e,                E,                3,                3                ] };
          968     key <AD04>        { [        r,                R,                4,                4                ] };
          969     key <AD05>        { [        t,                T,                5,                5                ] };
          970     key <AD06>        { [        y,                Y,                6,                6                ] };
          971     key <AD07>        { [        u,                U,                7,                7                ] };
          972     key <AD08>        { [        i,                I,                8,                8                ] };
          973     key <AD09>        { [        o,                O,                9,                9                ] };
          974     key <AD10>        { [        p,                P,                0,                0                ] };
          975 
          976     // 2. row
          977     key <AC01>        { [        a,                A,                exclam,                exclam                ] };
          978     key <AC02>        { [        s,                S,                quotedbl,        quotedbl        ] };
          979     key <AC03>        { [        d,                D,                ampersand,        ampersand        ] };
          980     key <AC04>        { [        f,                F,                parenleft,        parenleft        ] };
          981     key <AC05>        { [        g,                G,                parenright,        parenright        ] };
          982     key <AC06>        { [        h,                H,                underscore,        underscore        ] };
          983     key <AC07>        { [        j,                J,                minus,                minus                ] };
          984     key <AC08>        { [        k,                K,                plus,                plus                ] };
          985     key <AC09>        { [        l,                L,                numbersign,        numbersign        ] };
          986     key <AC11>        { [        apostrophe,        asterisk,        asterisk,        asterisk        ] };
          987 
          988     // 3. row
          989     key <AB01>        { [        z,                Z,                sterling,        sterling        ] };
          990     key <AB02>        { [        x,                X,                dollar,                dollar                ] };
          991     key <AB03>        { [        c,                C,                EuroSign,        EuroSign        ] };
          992     key <AB04>        { [        v,                V,                less,                less                ] };
          993     key <AB05>        { [        b,                B,                greater,        greater                ] };
          994     key <AB06>        { [        n,                N,                percent,        percent                ] };
          995     key <AB07>        { [        m,                M,                equal,                equal                ] };
          996     key <AB08>        { [        comma,                semicolon,        semicolon,        semicolon        ] };
          997     key <AB09>        { [        period,                colon,                colon,                colon                ] };
          998 
          999     // 4. row
         1000     key <AB10>        { [        at,                slash,                slash,                slash                ] };
         1001     key <AC12>        { [        question,        backslash,        backslash,        backslash        ] };
         1002 };
         1003 
         1004 partial hidden alphanumeric_keys
         1005 xkb_symbols "nordic-base" {
         1006     include "nokia_vndr/rm-680(english-base)"
         1007 
         1008     // 2. row
         1009     key <AC02>        { [        s,                S,                apostrophe,        apostrophe        ] };
         1010     key <AC03>        { [        d,                D,                quotedbl,        quotedbl        ] };
         1011     key <AC04>        { [        f,                F,                percent,        percent                ] };
         1012     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
         1013     key <AC06>        { [        h,                H,                minus,                minus                ] };
         1014     key <AC07>        { [        j,                J,                plus,                plus                ] };
         1015     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
         1016     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
         1017     key <AC11>        { [        aring,                Aring,                question,        question        ] };
         1018 
         1019     // 3. row
         1020     key <AB01>        { [        z,                Z,                EuroSign,        EuroSign        ] };
         1021     key <AB03>        { [        c,                C,                ampersand,        ampersand        ] };
         1022     key <AB04>        { [        v,                V,                backslash,        backslash        ] };
         1023     key <AB05>        { [        b,                B,                parenleft,        parenleft        ] };
         1024     key <AB06>        { [        n,                N,                parenright,        parenright        ] };
         1025 
         1026     // 4. row
         1027     key <AC12>        { [        period,                comma,                comma,                comma                ] };
         1028 };
         1029 
         1030 partial hidden alphanumeric_keys
         1031 xkb_symbols "chinese-base" {
         1032     include "nokia_vndr/rm-680(english-base)"
         1033 
         1034     // 2. row
         1035     key <AC01>        { [        a,                A,                apostrophe,        apostrophe        ] };
         1036     key <AC02>        { [        s,                S,                quotedbl,        quotedbl        ] };
         1037     key <AC03>        { [        d,                D,                percent,        percent                ] };
         1038     key <AC04>        { [        f,                F,                UFE51,                UFE51                ] };
         1039     key <AC05>        { [        g,                G,                underscore,        underscore        ] };
         1040     key <AC06>        { [        h,                H,                minus,                minus                ] };
         1041     key <AC07>        { [        j,                J,                plus,                plus                ] };
         1042     key <AC08>        { [        k,                K,                numbersign,        numbersign        ] };
         1043     key <AC09>        { [        l,                L,                asterisk,        asterisk        ] };
         1044 
         1045     key <AC11>        { [        question,        exclam,                exclam,                exclam                ] };
         1046 
         1047     // 3. row
         1048     key <AB01>        { [        z,                Z,                EuroSign,        EuroSign        ] };
         1049     key <AB03>        { [        c,                C,                ampersand,        ampersand        ] };
         1050     key <AB05>        { [        b,                B,                parenleft,        parenleft        ] };
         1051     key <AB06>        { [        n,                N,                parenright,        parenright        ] };
         1052     key <AB07>        { [        m,                M,                equal,                equal                ] };
         1053 
         1054     // 4. row
         1055     key <AB10>        { [        at,                slash,                slash,                slash                ] }; 
         1056     key <AC12>        { [        quotedbl,        U2026,                U2026,                U2026                ] };
         1057 
         1058 };
         1059 
         1060 partial hidden alphanumeric_keys
         1061 xkb_symbols "common-keys" {
         1062     key <BKSP>        { [        BackSpace,        Delete,                BackSpace,        Delete                ] };
         1063     key <RTRN>        { [        Return                ] };
         1064     key <SPCE>        { [        space                ] };
         1065     // Normal second level must not be enumerated to allow text selection
         1066     // with Shift key. In other words, since Shift is used for selecting text
         1067     // with arrow keys, care must be taken so that we don't define any shift
         1068     // level symbols for arrow keys. We use a custom type that can be only
         1069     // used to define symbols without modifiers and with the Fn modifier.
         1070     key <UP>        { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [        Up,        Page_Up                ] };
         1071     key <LEFT>        { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [        Left,        Home                ] };
         1072     key <DOWN>        { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [        Down,        Page_Down        ] };
         1073     key <RGHT>        { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [        Right,        End                ] };
         1074 };
         1075 
         1076 partial hidden alphanumeric_keys modifier_keys
         1077 xkb_symbols "modifiers" {
         1078     // Shift switches between first and second levels. Right Shift doesn't
         1079     // exist on the keypad anymore. Previously it was overridden on some
         1080     // layouts to provide punctuation characters.
         1081     key <LFSH>        { type[Group1] = "ONE_LEVEL", symbols[Group1] = [        Shift_L                ] };
         1082     modifier_map Shift { Shift_L };
         1083 
         1084     // Sym key is used for virtual symbol table (Multi_key). Left Control
         1085     // doesn't exist on the keypad anymore. Previously it was defined as Sym
         1086     // for compatibility with rx51, but now we are using Compose for the Sym
         1087     // key. The true control key on the device is the Right Control key.   
         1088     key <COMP>        { type[Group1] = "ONE_LEVEL", symbols[Group1] = [        Multi_key        ] };
         1089     modifier_map Mod4 { Multi_key };
         1090     key <RCTL>        { type[Group1] = "ONE_LEVEL", symbols[Group1] = [        Control_R        ] };
         1091     modifier_map Control { Control_R };
         1092 
         1093     // Fn key switches to third level. When Fn is down, Shift switches
         1094     // between third and fourth levels.
         1095     include "level3(lwin_switch)"
         1096 
         1097     // For flexibility, it would be nice to map multiple hardware keys to
         1098     // a symbol. However, we choose to disable the extra mappings to
         1099     // avoid problems with clients that don't handle many to one mappings
         1100     // correctly.
         1101     // include "level3(lalt_switch)"
         1102     // include "level3(ralt_switch)"
         1103 };