User:Awwaiid/rx-51

(New page: Contents of my /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 Remaps: * meta+left - home * meta+right end * meta+up - pgup * meta+down - pgdown * euro - pipe * meta+enter - tab * meta+backs...)
 
Line 10: Line 10:
* meta+backspac- esc
* meta+backspac- esc
-
<nowiki>
+
<pre>
default partial alphanumeric_keys
default partial alphanumeric_keys
Line 91: Line 91:
     // 2. row
     // 2. row
-
     key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+
     key <AB09>   { [   odiaeresis,   Odiaeresis,   exclam,       exclam       ] };
-
     key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+
     key <UP>   { [   adiaeresis,   Adiaeresis,   question,   question   ] };
};
};
Line 105: Line 105:
     // 2. row
     // 2. row
-
     key <AB09> { [ oslash, Oslash, exclam, exclam ] };
+
     key <AB09>   { [   oslash,       Oslash,       exclam,       exclam       ] };
-
     key <UP> { [ ae, AE, question, question ] };
+
     key <UP>   { [   ae,       AE,       question,   question   ] };
};
};
Line 121: Line 121:
     // 2. row
     // 2. row
-
     key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] };
+
     key <AB09>   { [   odiaeresis,   Odiaeresis,   exclam,       exclam,       oslash,       Oslash,       exclam,       exclam       ] };
-
     key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] };
+
     key <UP>   { [   adiaeresis,   Adiaeresis,   question,   question,   ae,       AE,       question,   question   ] };
};
};
Line 135: Line 135:
     // 1. row
     // 1. row
-
     key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] };
+
     key <AB08>   { [   dead_acute,   dead_acute,   dead_grave,   dead_grave   ] };
     // 2. row
     // 2. row
-
     key <AC05> { [ g, G, exclamdown, exclamdown ] };
+
     key <AC05>   { [   g,       G,       exclamdown,   exclamdown   ] };
-
     key <AC06> { [ h, H, exclam, exclam ] };
+
     key <AC06>   { [   h,       H,       exclam,       exclam       ] };
-
     key <AC07> { [ j, J, questiondown, questiondown ] };
+
     key <AC07>   { [   j,       J,       questiondown,   questiondown   ] };
-
     key <AC08> { [ k, K, question, question ] };
+
     key <AC08>   { [   k,       K,       question,   question   ] };
-
     key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] };
+
     key <AC09>   { [   l,       L,       dead_diaeresis,   dead_diaeresis   ] };
-
     key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] };
+
     key <AB09>   { [   ntilde,       Ntilde,       dead_tilde,   dead_tilde   ] };
-
     key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] };
+
     key <UP>   { [   ccedilla,   Ccedilla,   dead_circumflex,dead_circumflex   ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, parenleft, parenleft ] };
+
     key <AB01>   { [   z,       Z,       parenleft,   parenleft   ] };
-
     key <AB02> { [ x, X, parenright, parenright ] };
+
     key <AB02>   { [   x,       X,       parenright,   parenright     ] };
-
     key <AB03> { [ c, C, slash, slash ] };
+
     key <AB03>   { [   c,       C,       slash,       slash       ] };
-
     key <AB04> { [ v, V, quotedbl, quotedbl ] };
+
     key <AB04>   { [   v,       V,       quotedbl,   quotedbl   ] };
-
     key <AB05> { [ b, B, apostrophe, apostrophe ] };
+
     key <AB05>   { [   b,       B,       apostrophe,   apostrophe   ] };
-
     key <AB06> { [ n, N, colon, colon ] };
+
     key <AB06>   { [   n,       N,       colon,       colon       ] };
-
     key <AB07> { [ m, M, semicolon, semicolon ] };
+
     key <AB07>   { [   m,       M,       semicolon,   semicolon   ] };
-
     key <LEFT> { [ period, comma, comma, comma ] };
+
     key <LEFT>   { [   period,       comma,       comma,       comma       ] };
};
};
Line 167: Line 167:
     // 1. row
     // 1. row
-
     key <AD01> { [ a, A, 1, 1 ] };
+
     key <AD01>   { [   a,       A,       1,       1       ] };
-
     key <AD02> { [ z, Z, 2, 2 ] };
+
     key <AD02>   { [   z,       Z,       2,       2       ] };
-
     key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] };
+
     key <AB08>   { [   agrave,       Agrave,       ccedilla,   Ccedilla   ] };
     // 2. row
     // 2. row
-
     key <AC01> { [ q, Q, asterisk, asterisk ] };
+
     key <AC01>   { [   q,       Q,       asterisk,   asterisk   ] };
-
     key <AC02> { [ s, S, plus, plus ] };
+
     key <AC02>   { [   s,       S,       plus,       plus       ] };
-
     key <AC03> { [ d, D, numbersign, numbersign ] };
+
     key <AC03>   { [   d,       D,       numbersign,   numbersign   ] };
-
     key <AC04> { [ f, F, minus, minus ] };
+
     key <AC04>   { [   f,       F,       minus,     minus       ] };
-
     key <AC05> { [ g, G, underscore, underscore ] };
+
     key <AC05>   { [   g,       G,       underscore,   underscore   ] };
-
     key <AC06> { [ h, H, exclam, exclam ] };
+
     key <AC06>   { [   h,       H,       exclam,       exclam       ] };
-
     key <AC07> { [ j, J, question, question ] };
+
     key <AC07>   { [   j,       J,       question,   question   ] };
-
     key <AC08> { [ k, K, colon, colon ] };
+
     key <AC08>   { [   k,       K,       colon,       colon       ] };
-
     key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] };
+
     key <AC09>   { [   l,       L,       dead_circumflex,dead_circumflex   ] };
-
     key <AB09> { [ m, M, ugrave, Ugrave ] };
+
     key <AB09>   { [   m,       M,       ugrave,       Ugrave       ] };
-
     key <UP> { [ eacute, Eacute, egrave, Egrave ] };
+
     key <UP>   { [   eacute,       Eacute,       egrave,       Egrave       ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ w, W, EuroSign,      EuroSign ] };
+
     key <AB01>   { [   w,       W,       EuroSign,      EuroSign   ] };
-
     key <AB03> { [ c, C, parenleft, parenleft ] };
+
     key <AB03>   { [   c,       C,       parenleft,   parenleft   ] };
-
     key <AB04> { [ v, V, parenright, parenright ] };
+
     key <AB04>   { [   v,       V,       parenright,   parenright   ] };
-
     key <AB05> { [ b, B, slash, slash ] };
+
     key <AB05>   { [   b,       B,       slash,       slash       ] };
-
     key <AB07> { [ comma, comma, apostrophe, apostrophe ] };
+
     key <AB07>   { [   comma,       comma,       apostrophe,   apostrophe   ] };
-
     key <LEFT> { [ semicolon, period, period, period ] };
+
     key <LEFT>   { [   semicolon,   period,       period,       period       ] };
};
};
Line 203: Line 203:
     // 1. row
     // 1. row
-
     key <AD06> { [ z, Z, 6, 6 ] };
+
     key <AD06>   { [   z,       Z,       6,       6       ] };
-
     key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] };
+
     key <AB08>   { [   udiaeresis,   Udiaeresis,   ssharp,       ssharp       ] };
     // 2. row
     // 2. row
-
     key <AC08> { [ k, K, semicolon, semicolon ] };
+
     key <AC08>   { [   k,       K,       semicolon,   semicolon   ] };
-
     key <AC09> { [ l, L, colon, colon ] };
+
     key <AC09>   { [   l,       L,       colon,       colon       ] };
-
     key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] };
+
     key <AB09>   { [   odiaeresis,   Odiaeresis,   exclam,       exclam       ] };
-
     key <UP> { [ adiaeresis, Adiaeresis, question, question ] };
+
     key <UP>   { [   adiaeresis,   Adiaeresis,   question,   question   ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ y, Y, EuroSign, EuroSign ] };
+
     key <AB01>   { [   y,       Y,       EuroSign,   EuroSign   ] };
-
     key <AB03> { [ c, C, equal, equal ] };
+
     key <AB03>   { [   c,       C,       equal,       equal       ] };
-
     key <LEFT> { [ period, comma, comma, comma ] };
+
     key <LEFT>   { [   period,       comma,       comma,       comma       ] };
};
};
Line 230: Line 230:
     // 1. row
     // 1. row
-
     key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] };
+
     key <AD01>   { [   q,       Q,       1,           1,           Cyrillic_shorti,   Cyrillic_SHORTI,   1,           1           ] };
-
     key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] };
+
     key <AD02>   { [   w,       W,       2,           2,           Cyrillic_tse,       Cyrillic_TSE,       2,           2           ] };
-
     key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] };
+
     key <AD03>   { [   e,       E,       3,           3,           Cyrillic_u,       Cyrillic_U,       3,           3           ] };
-
     key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] };
+
     key <AD04>   { [   r,       R,       4,           4,           Cyrillic_ka,       Cyrillic_KA,       4,           4           ] };
-
     key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] };
+
     key <AD05>   { [   t,       T,       5,           5,           Cyrillic_ie,       Cyrillic_IE,       5,           5           ] };
-
     key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] };
+
     key <AD06>   { [   y,       Y,       6,           6,           Cyrillic_en,       Cyrillic_EN,       6,           6           ] };
-
     key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] };
+
     key <AD07>   { [   u,       U,       7,           7,           Cyrillic_ghe,       Cyrillic_GHE,       7,           7           ] };
-
     key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] };
+
     key <AD08>   { [   i,       I,       8,           8,           Cyrillic_sha,       Cyrillic_SHA,       8,           8           ] };
-
     key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] };
+
     key <AD09>   { [   o,       O,       9,           9,           Cyrillic_shcha,       Cyrillic_SHCHA,       9,           9           ] };
-
     key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] };
+
     key <AD10>   { [   p,       P,       0,           0,           Cyrillic_ze,       Cyrillic_ZE,       0,           0           ] };
-
     key <AB08>  { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+
     key <AB08>  { [   Cyrillic_ha,   Cyrillic_HA,   Cyrillic_hardsign,   Cyrillic_HARDSIGN,   Cyrillic_ha,       Cyrillic_HA,       Cyrillic_hardsign,   Cyrillic_HARDSIGN   ] };
     // 2. row
     // 2. row
-
     key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] };
+
     key <AC01>   { [   a,       A,       asterisk,       asterisk,       Cyrillic_ef,       Cyrillic_EF,       asterisk,       asterisk       ] };
-
     key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] };
+
     key <AC02>   { [   s,       S,       plus,           plus,           Cyrillic_yeru,       Cyrillic_YERU,       plus,           plus           ] };
-
     key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] };
+
     key <AC03>   { [   d,       D,       numbersign,       numbersign,       Cyrillic_ve,       Cyrillic_VE,       numbersign,       numbersign       ] };
-
     key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] };
+
     key <AC04>   { [   f,       F,       minus,           minus,           Cyrillic_a,       Cyrillic_A,       minus,           minus           ] };
-
     key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] };
+
     key <AC05>   { [   g,       G,       underscore,       underscore,       Cyrillic_pe,       Cyrillic_PE,       underscore,       underscore       ] };
-
     key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] };
+
     key <AC06>   { [   h,       H,       exclam,           exclam,           Cyrillic_er,       Cyrillic_ER,       exclam,           exclam           ] };
-
     key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] };
+
     key <AC07>   { [   j,       J,       question,       question,       Cyrillic_o,       Cyrillic_O,       question,       question       ] };
-
     key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] };
+
     key <AC08>   { [   k,       K,       semicolon,       semicolon,       Cyrillic_el,       Cyrillic_EL,       semicolon,       semicolon       ] };
-
     key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] };
+
     key <AC09>   { [   l,       L,       colon,           colon,           Cyrillic_de,       Cyrillic_DE,       colon,           colon           ] };
-
     key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] };
+
     key <AB09>   { [   comma,       comma,       comma,           comma,           Cyrillic_zhe,       Cyrillic_ZHE,       comma,           comma           ] };
-
     key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] };
+
     key <UP>   { [   period,       period,       period,           period,           Cyrillic_e,       Cyrillic_E,       period,           period           ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] };
+
     key <AB01>   { [   z,       Z,       dollar,           dollar,           Cyrillic_ya,       Cyrillic_YA,       dollar,           dollar           ] };
-
     key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] };
+
     key <AB02>   { [   x,       X,       EuroSign,       EuroSign,       Cyrillic_che,       Cyrillic_CHE,       EuroSign,       EuroSign       ] };
-
     key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] };
+
     key <AB03>   { [   c,       C,       slash,           slash,           Cyrillic_es,       Cyrillic_ES,       slash,           slash           ] };
-
     key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] };
+
     key <AB04>   { [   v,       V,       parenleft,       parenleft,       Cyrillic_em,       Cyrillic_EM,       parenleft,       parenleft       ] };
-
     key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] };
+
     key <AB05>   { [   b,       B,       parenright,       parenright,       Cyrillic_i,       Cyrillic_I,       parenright,       parenright       ] };
-
     key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] };
+
     key <AB06>   { [   n,       N,       quotedbl,       quotedbl,       Cyrillic_te,       Cyrillic_TE,       quotedbl,       quotedbl       ] };
-
     key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] };
+
     key <AB07>   { [   m,       M,       apostrophe,       apostrophe,       Cyrillic_softsign,   Cyrillic_SOFTSIGN,   apostrophe,       apostrophe       ] };
-
     key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] };
+
     key <LEFT>   { [   Cyrillic_be,   Cyrillic_BE,   Cyrillic_yu,       Cyrillic_YU,       Cyrillic_be,       Cyrillic_BE,       Cyrillic_yu,       Cyrillic_YU       ] };
};
};
Line 276: Line 276:
     // 1. row
     // 1. row
-
     key <AB08> { [ egrave, Egrave, eacute, Eacute ] };
+
     key <AB08>   { [   egrave,       Egrave,       eacute,       Eacute       ] };
     // 2. row
     // 2. row
-
     key <AC06> { [ h, H, semicolon, semicolon ] };
+
     key <AC06>   { [   h,       H,       semicolon,   semicolon   ] };
-
     key <AC07> { [ j, J, colon, colon ] };
+
     key <AC07>   { [   j,       J,       colon,       colon       ] };
-
     key <AC08> { [ k, K, exclam, exclam ] };
+
     key <AC08>   { [   k,       K,       exclam,       exclam       ] };
-
     key <AC09> { [ l, L, question, question ] };
+
     key <AC09>   { [   l,       L,       question,   question   ] };
-
     key <AB09> { [ ograve, Ograve, igrave, Igrave ] };
+
     key <AB09>   { [   ograve,       Ograve,       igrave,       Igrave       ] };
-
     key <UP> { [ agrave, Agrave, ugrave, Ugrave ] };
+
     key <UP>   { [   agrave,       Agrave,       ugrave,       Ugrave       ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+
     key <AB01>   { [   z,       Z,       EuroSign,   EuroSign   ] };
-
     key <AB02> { [ x, X, parenleft, parenleft ] };
+
     key <AB02>   { [   x,       X,       parenleft,   parenleft   ] };
-
     key <AB03> { [ c, C, parenright, parenright ] };
+
     key <AB03>   { [   c,       C,       parenright,   parenright   ] };
-
     key <LEFT> { [ period, comma, comma, comma ] };
+
     key <LEFT>   { [   period,       comma,       comma,       comma       ] };
};
};
Line 303: Line 303:
     // 1. row
     // 1. row
-
     key <AD06> { [ z, Z, 6, 6 ] };
+
     key <AD06>   { [   z,       Z,       6,       6       ] };
-
     key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] };
+
     key <AB08>   { [   dead_acute,   dead_acute,   sterling,   sterling   ] };
     // 2. row
     // 2. row
-
     key <AC08> { [ k, K, semicolon, semicolon ] };
+
     key <AC08>   { [   k,       K,       semicolon,   semicolon   ] };
-
     key <AC09> { [ l, L, colon, colon ] };
+
     key <AC09>   { [   l,       L,       colon,       colon       ] };
-
     key <AB09> { [ uring, Uring, EuroSign, EuroSign ] };
+
     key <AB09>   { [   uring,       Uring,       EuroSign,   EuroSign   ] };
-
     key <UP> { [ dead_caron, dead_caron, dollar, dollar ] };
+
     key <UP>   { [   dead_caron,   dead_caron,   dollar,       dollar       ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ y, Y, equal, equal ] };
+
     key <AB01>   { [   y,       Y,       equal,       equal       ] };
-
     key <AB02> { [ x, X, slash, slash ] };
+
     key <AB02>   { [   x,       X,       slash,       slash       ] };
-
     key <AB03> { [ c, C, backslash, backslash ] };
+
     key <AB03>   { [   c,       C,       backslash,   backslash   ] };
-
     key <AB04> { [ v, V, apostrophe, apostrophe ] };
+
     key <AB04>   { [   v,       V,       apostrophe,   apostrophe   ] };
-
     key <AB05> { [ b, B, quotedbl, quotedbl ] };
+
     key <AB05>   { [   b,       B,       quotedbl,   quotedbl   ] };
-
     key <AB06> { [ n, N, exclam, exclam ] };
+
     key <AB06>   { [   n,       N,       exclam,       exclam       ] };
-
     key <AB07> { [ m, M, question, question ] };
+
     key <AB07>   { [   m,       M,       question,   question   ] };
-
     key <LEFT> { [ period, comma, comma, comma ] };
+
     key <LEFT>   { [   period,       comma,       comma,       comma       ] };
};
};
Line 334: Line 334:
     // 1. row
     // 1. row
-
     key <AD06> { [ y, Y, 6, 6 ] };
+
     key <AD06>   { [   y,       Y,       6,       6       ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, percent, percent ] };
+
     key <AB01>   { [   z,       Z,       percent,   percent       ] };
};
};
Line 349: Line 349:
     // 1. row
     // 1. row
-
     key <AB08> { [ aring, Aring, equal, equal ] };
+
     key <AB08>   { [   aring,       Aring,       equal,       equal       ] };
     // 2. row
     // 2. row
-
     key <AC08> { [ k, K, semicolon, semicolon ] };
+
     key <AC08>   { [   k,       K,       semicolon,   semicolon   ] };
-
     key <AC09> { [ l, L, colon, colon ] };
+
     key <AC09>   { [   l,       L,       colon,       colon       ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, EuroSign, EuroSign ] };
+
     key <AB01>   { [   z,       Z,       EuroSign,   EuroSign   ] };
-
     key <AB03> { [ c, C, sterling, sterling ] };
+
     key <AB03>   { [   c,       C,       sterling,   sterling   ] };
-
     key <LEFT> { [ period, comma, comma, comma ] };
+
     key <LEFT>   { [   period,       comma,       comma,       comma       ] };
};
};
Line 365: Line 365:
     // 1. row
     // 1. row
-
     key <AD01> { [ q, Q, 1, 1 ] };
+
     key <AD01>   { [   q,       Q,       1,       1       ] };
-
     key <AD02> { [ w, W, 2, 2 ] };
+
     key <AD02>   { [   w,       W,       2,       2       ] };
-
     key <AD03> { [ e, E, 3, 3 ] };
+
     key <AD03>   { [   e,       E,       3,       3       ] };
-
     key <AD04> { [ r, R, 4, 4 ] };
+
     key <AD04>   { [   r,       R,       4,       4       ] };
-
     key <AD05> { [ t, T, 5, 5 ] };
+
     key <AD05>   { [   t,       T,       5,       5       ] };
-
     key <AD06> { [ y, Y, 6, 6 ] };
+
     key <AD06>   { [   y,       Y,       6,       6       ] };
-
     key <AD07> { [ u, U, 7, 7 ] };
+
     key <AD07>   { [   u,       U,       7,       7       ] };
-
     key <AD08> { [ i, I, 8, 8 ] };
+
     key <AD08>   { [   i,       I,       8,       8       ] };
-
     key <AD09> { [ o, O, 9, 9 ] };
+
     key <AD09>   { [   o,       O,       9,       9       ] };
-
     key <AD10> { [ p, P, 0, 0 ] };
+
     key <AD10>   { [   p,       P,       0,       0       ] };
-
     key <AB08> { [ comma, semicolon, equal, equal ] };
+
     key <AB08>   { [   comma,       semicolon,   equal,       equal       ] };
     // 2. row
     // 2. row
-
     key <AC01> { [ a, A, asterisk, asterisk ] };
+
     key <AC01>   { [   a,       A,       asterisk,   asterisk   ] };
-
     key <AC02> { [ s, S, plus, plus ] };
+
     key <AC02>   { [   s,       S,       plus,       plus       ] };
-
     key <AC03> { [ d, D, numbersign, numbersign ] };
+
     key <AC03>   { [   d,       D,       numbersign,   numbersign   ] };
-
     key <AC04> { [ f, F, minus, minus ] };
+
     key <AC04>   { [   f,       F,       minus,       minus       ] };
-
     key <AC05> { [ g, G, underscore, underscore ] };
+
     key <AC05>   { [   g,       G,       underscore,   underscore   ] };
-
     key <AC06> { [ h, H, parenleft, parenleft ] };
+
     key <AC06>   { [   h,       H,       parenleft,   parenleft   ] };
-
     key <AC07> { [ j, J, parenright, parenright ] };
+
     key <AC07>   { [   j,       J,       parenright,   parenright   ] };
-
     key <AC08> { [ k, K, ampersand, ampersand ] };
+
     key <AC08>   { [   k,       K,       ampersand,   ampersand   ] };
-
     key <AC09> { [ l, L, exclam, exclam ] };
+
     key <AC09>   { [   l,       L,       exclam,       exclam       ] };
-
     key <AB09> { [ period, colon, question, question ] };
+
     key <AB09>   { [   period,       colon,       question,   question   ] };
     // 3. row
     // 3. row
-
     key <AB01> { [ z, Z, caret, caret] };
+
     key <AB01>   { [   z,       Z,       caret,   caret] };
-
     key <AB02> { [ x, X, dollar, dollar ] };
+
     key <AB02>   { [   x,       X,       dollar,       dollar       ] };
-
     key <AB03> { [ c, C, bar, bar ] };
+
     key <AB03>   { [   c,       C,       bar,       bar       ] };
-
     key <AB04> { [ v, V, slash, slash ] };
+
     key <AB04>   { [   v,       V,       slash,       slash       ] };
-
     key <AB05> { [ b, B, backslash, backslash ] };
+
     key <AB05>   { [   b,       B,       backslash,   backslash   ] };
-
     key <AB06> { [ n, N, quotedbl, quotedbl ] };
+
     key <AB06>   { [   n,       N,       quotedbl,   quotedbl   ] };
-
     key <AB07> { [ m, M, apostrophe, apostrophe ] };
+
     key <AB07>   { [   m,       M,       apostrophe,   apostrophe   ] };
-
     key <SPCE> { [ space, Tab, at, at ] };
+
     key <SPCE>   { [   space,       Tab,       at,       at       ] };
};
};
Line 404: Line 404:
     // all other common keys
     // all other common keys
-
     // key <BKSP> { [ BackSpace ] };
+
     // key <BKSP>   { [   BackSpace   ] };
-
     key <BKSP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ BackSpace,Escape ] };
+
     key <BKSP>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   BackSpace,Escape       ] };
-
     key <TAB> { [ Tab ] };
+
     key <TAB>   { [   Tab       ] };
     // broken UI spec.
     // broken UI spec.
-
     // key <RTRN> { [ KP_Enter ] };
+
     // key <RTRN>   { [   KP_Enter   ] };
-
     key <RTRN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ KP_Enter,Tab ] };
+
     key <RTRN>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   KP_Enter,Tab       ] };
-
     key <KPEN> { [ Return, Escape, Escape, Escape ] };
+
     key <KPEN>   { [   Return, Escape, Escape, Escape       ] };
-
     key <ESC> { [ Escape ] };
+
     key <ESC>   { [   Escape       ] };
-
     key <FK01> { [ F1 ] };
+
     key <FK01>   { [   F1   ] };
-
     key <FK02> { [ F2 ] };
+
     key <FK02>   { [   F2   ] };
-
     key <FK03> { [ F3 ] };
+
     key <FK03>   { [   F3   ] };
-
     key <FK04> { [ F4 ] };
+
     key <FK04>   { [   F4   ] };
-
     key <FK05> { [ F5 ] };
+
     key <FK05>   { [   F5   ] };
-
     key <FK06> { [ F6 ] };
+
     key <FK06>   { [   F6   ] };
     // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
     // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
Line 431: Line 431:
     // use the real meanings of the keys. This special case and management of
     // use the real meanings of the keys. This special case and management of
     // +/- keys in general is handled in maemo-statusmenu-volume.
     // +/- keys in general is handled in maemo-statusmenu-volume.
-
     key <FK07> { [ F8 ] };
+
     key <FK07>   { [   F8   ] };
-
     key <FK08> { [ F7 ] };
+
     key <FK08>   { [   F7   ] };
-
     key <FK09> { [ F9 ] };
+
     key <FK09>   { [   F9   ] };
-
     key <FK10> { [ F10 ] };
+
     key <FK10>   { [   F10   ] };
-
     key <FK11> { [ F11 ] };
+
     key <FK11>   { [   F11   ] };
};
};
Line 442: Line 442:
xkb_symbols "modifiers" {
xkb_symbols "modifiers" {
     // Shift switches between current level and level+1
     // Shift switches between current level and level+1
-
     key <LFSH> {
+
     key <LFSH>   {
-
type[Group1] = "ONE_LEVEL",
+
    type[Group1] = "ONE_LEVEL",
-
symbols[Group1] = [ Shift_L ]
+
    symbols[Group1] = [   Shift_L   ]
     };
     };
     modifier_map Shift { Shift_L };
     modifier_map Shift { Shift_L };
Line 450: Line 450:
     // Fn+Ctrl virtual symbol table (Multi_key)
     // Fn+Ctrl virtual symbol table (Multi_key)
     // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
     // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
-
     key <LCTL> {
+
     key <LCTL>   {
-
type[Group1] = "FOUR_LEVEL",
+
    type[Group1] = "FOUR_LEVEL",
-
symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ]
+
    symbols[Group1] = [   Control_L,   Control_L,   Multi_key,   Multi_key   ]
     };
     };
     modifier_map Control { Control_L };
     modifier_map Control { Control_L };
Line 464: Line 464:
     // rx-51 specific arrows mapping
     // rx-51 specific arrows mapping
     // normal 2nd level must not be enumerated to allow text selection with Shift key
     // normal 2nd level must not be enumerated to allow text selection with Shift key
-
     key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] };
+
     key <DOWN>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Left,   Up   ] };
-
     key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] };
+
     key <RGHT>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Right,   Down   ] };
};
};
Line 472: Line 472:
     // standard arrows mapping
     // standard arrows mapping
     // normal 2nd level must not be enumerated to allow text selection with Shift key
     // normal 2nd level must not be enumerated to allow text selection with Shift key
-
     key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up,Page_Up ] };
+
     key <UP>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Up,Page_Up   ] };
-
     key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left,Home ] };
+
     key <LEFT>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Left,Home   ] };
-
     key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down,Page_Down ] };
+
     key <DOWN>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Down,Page_Down   ] };
-
     key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right,End ] };
+
     key <RGHT>   { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [   Right,End   ] };
};
};
-
</nowiki>
+
</pre>

Latest revision as of 21:09, 30 December 2009

Contents of my /usr/share/X11/xkb/symbols/nokia_vndr/rx-51

Remaps:

  • meta+left - home
  • meta+right end
  • meta+up - pgup
  • meta+down - pgdown
  • euro - pipe
  • meta+enter - tab
  • meta+backspac- esc

default partial alphanumeric_keys
xkb_symbols "common" {
    include "nokia_vndr/rx-51(common_keys)"
    include "nokia_vndr/rx-51(modifiers)"

    // This section should not be included by any other section.
    // It's referenced only once by rule file to allow multiple layout configurations.

    // More than one layout at the same time could be set for instance as follows:
    // setxkbmap -rules evdev \
    //           -model nokiarx51 \
    //           -option grp:ctrl_shift_toggle \
    //           -layout us,cz \
    //           -variant ",qwerty"

    // Notice the similarity:
    //   "pc+us+cz(qwerty):2+grp:XYZ" vs.
    //   "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ"
    // where XYZ is one of xkb_symbols section usually located in file symbols/group.

    // Bear in mind that option XYZ could replace current keys configuration!!!

    // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys
    // which may disallow opening of virtual symbol table (Multi_key).
    // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle
    // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore
    // pressing Ctrl+Shift will switch to previous layout, not to the next one.

    // For RX-51 device there is a lot of restrictions if more than one layout is
    // is configured at the same time because some modifiers and special cases are
    // handled by hildon layer (especially with eight-level layout):
    //  - settings may be done from terminal only (GUI doesn't and won't support it)
    //  - virtual symbol table is not updated according to current layout
    //  - for unknown reasons the eight-level layout (nordic,ru) works properly
    //    only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru")
    //    otherwise it's not possible to access levels 5-8
    //  - Ctrl+Space related problems:
    //     - If eight-level layout is used as first layout one of eight-level layouts has to
    //       be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled
    //     - Ctrl+Space has no effect if only four-level layouts are chosen
    //       (don't forget the layout configured in GUI - despite of it's not reachable)
    //     - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?)
    //       in case eight- and four-level layouts are configured simultaneously
    //     - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts
    //       in case eight- and four-level layouts are configured simultaneously
    //     - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on"
    //       in case the 2nd, 3rd or 4th layout is eight-level layout
};

////////////////////////////////////////////////////////////////////////////////

partial alphanumeric_keys
xkb_symbols "us" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_4btns)"

    name[Group1] = "U.S. English";
};



partial alphanumeric_keys
xkb_symbols "pl" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_4btns)"

    name[Group1] = "Polish";
};



partial alphanumeric_keys
xkb_symbols "fise" {
    include "nokia_vndr/rx-51(nordic_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Finnish/Swedish";

    // 2. row
    key <AB09>    { [    odiaeresis,    Odiaeresis,    exclam,        exclam        ] };
    key <UP>    { [    adiaeresis,    Adiaeresis,    question,    question    ] };
};



partial alphanumeric_keys
xkb_symbols "dano" {
    include "nokia_vndr/rx-51(nordic_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Danish/Norwegian";

    // 2. row
    key <AB09>    { [    oslash,        Oslash,        exclam,        exclam        ] };
    key <UP>    { [    ae,        AE,        question,    question    ] };
};



partial alphanumeric_keys
xkb_symbols "nordic" {
    include "nokia_vndr/rx-51(nordic_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Danish/Finnish/Norwegian/Swedish";

    key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";

    // 2. row
    key <AB09>    { [    odiaeresis,    Odiaeresis,    exclam,        exclam,        oslash,        Oslash,        exclam,        exclam        ] };
    key <UP>    { [    adiaeresis,    Adiaeresis,    question,    question,    ae,        AE,        question,    question    ] };
};



partial alphanumeric_keys
xkb_symbols "ptes" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Portuguese/Spanish";

    // 1. row
    key <AB08>    { [    dead_acute,    dead_acute,    dead_grave,    dead_grave    ] };

    // 2. row
    key <AC05>    { [    g,        G,        exclamdown,    exclamdown    ] };
    key <AC06>    { [    h,        H,        exclam,        exclam        ] };
    key <AC07>    { [    j,        J,        questiondown,    questiondown    ] };
    key <AC08>    { [    k,        K,        question,    question    ] };
    key <AC09>    { [    l,        L,        dead_diaeresis,    dead_diaeresis    ] };
    key <AB09>    { [    ntilde,        Ntilde,        dead_tilde,    dead_tilde    ] };
    key <UP>    { [    ccedilla,    Ccedilla,    dead_circumflex,dead_circumflex    ] };

    // 3. row
    key <AB01>    { [    z,        Z,        parenleft,    parenleft    ] };
    key <AB02>    { [    x,        X,        parenright,    parenright     ] };
    key <AB03>    { [    c,        C,        slash,        slash        ] };
    key <AB04>    { [    v,        V,        quotedbl,    quotedbl    ] };
    key <AB05>    { [    b,        B,        apostrophe,    apostrophe    ] };
    key <AB06>    { [    n,        N,        colon,        colon        ] };
    key <AB07>    { [    m,        M,        semicolon,    semicolon    ] };
    key <LEFT>    { [    period,        comma,        comma,        comma        ] };
};



partial alphanumeric_keys
xkb_symbols "fr" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "French";

    // 1. row
    key <AD01>    { [    a,        A,        1,        1        ] };
    key <AD02>    { [    z,        Z,        2,        2        ] };
    key <AB08>    { [    agrave,        Agrave,        ccedilla,    Ccedilla    ] };

    // 2. row
    key <AC01>    { [    q,        Q,        asterisk,    asterisk    ] };
    key <AC02>    { [    s,        S,        plus,        plus        ] };
    key <AC03>    { [    d,        D,        numbersign,    numbersign    ] };
    key <AC04>    { [    f,        F,        minus,      minus        ] };
    key <AC05>    { [    g,        G,        underscore,    underscore    ] };
    key <AC06>    { [    h,        H,        exclam,        exclam        ] };
    key <AC07>    { [    j,        J,        question,    question    ] };
    key <AC08>    { [    k,        K,        colon,        colon        ] };
    key <AC09>    { [    l,        L,        dead_circumflex,dead_circumflex    ] };
    key <AB09>    { [    m,        M,        ugrave,        Ugrave        ] };
    key <UP>    { [    eacute,        Eacute,        egrave,        Egrave        ] };

    // 3. row
    key <AB01>    { [    w,        W,        EuroSign,       EuroSign    ] };
    key <AB03>    { [    c,        C,        parenleft,    parenleft    ] };
    key <AB04>    { [    v,        V,        parenright,    parenright    ] };
    key <AB05>    { [    b,        B,        slash,        slash        ] };
    key <AB07>    { [    comma,        comma,        apostrophe,    apostrophe    ] };
    key <LEFT>    { [    semicolon,    period,        period,        period        ] };
};



partial alphanumeric_keys
xkb_symbols "de" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "German";

    // 1. row
    key <AD06>    { [    z,        Z,        6,        6        ] };
    key <AB08>    { [    udiaeresis,    Udiaeresis,    ssharp,        ssharp        ] };

    // 2. row
    key <AC08>    { [    k,        K,        semicolon,    semicolon    ] };
    key <AC09>    { [    l,        L,        colon,        colon        ] };
    key <AB09>    { [    odiaeresis,    Odiaeresis,    exclam,        exclam        ] };
    key <UP>    { [    adiaeresis,    Adiaeresis,    question,    question    ] };

    // 3. row
    key <AB01>    { [    y,        Y,        EuroSign,    EuroSign    ] };
    key <AB03>    { [    c,        C,        equal,        equal        ] };
    key <LEFT>    { [    period,        comma,        comma,        comma        ] };
};


// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons.
partial alphanumeric_keys
xkb_symbols "ru" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Russian";

    key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";

    // 1. row
    key <AD01>    { [    q,        Q,        1,            1,            Cyrillic_shorti,    Cyrillic_SHORTI,    1,            1            ] };
    key <AD02>    { [    w,        W,        2,            2,            Cyrillic_tse,        Cyrillic_TSE,        2,            2            ] };
    key <AD03>    { [    e,        E,        3,            3,            Cyrillic_u,        Cyrillic_U,        3,            3            ] };
    key <AD04>    { [    r,        R,        4,            4,            Cyrillic_ka,        Cyrillic_KA,        4,            4            ] };
    key <AD05>    { [    t,        T,        5,            5,            Cyrillic_ie,        Cyrillic_IE,        5,            5            ] };
    key <AD06>    { [    y,        Y,        6,            6,            Cyrillic_en,        Cyrillic_EN,        6,            6            ] };
    key <AD07>    { [    u,        U,        7,            7,            Cyrillic_ghe,        Cyrillic_GHE,        7,            7            ] };
    key <AD08>    { [    i,        I,        8,            8,            Cyrillic_sha,        Cyrillic_SHA,        8,            8            ] };
    key <AD09>    { [    o,        O,        9,            9,            Cyrillic_shcha,        Cyrillic_SHCHA,        9,            9            ] };
    key <AD10>    { [    p,        P,        0,            0,            Cyrillic_ze,        Cyrillic_ZE,        0,            0            ] };
    key <AB08>  { [    Cyrillic_ha,    Cyrillic_HA,    Cyrillic_hardsign,    Cyrillic_HARDSIGN,    Cyrillic_ha,        Cyrillic_HA,        Cyrillic_hardsign,    Cyrillic_HARDSIGN    ] };

    // 2. row
    key <AC01>    { [    a,        A,        asterisk,        asterisk,        Cyrillic_ef,        Cyrillic_EF,        asterisk,        asterisk        ] };
    key <AC02>    { [    s,        S,        plus,            plus,            Cyrillic_yeru,        Cyrillic_YERU,        plus,            plus            ] };
    key <AC03>    { [    d,        D,        numbersign,        numbersign,        Cyrillic_ve,        Cyrillic_VE,        numbersign,        numbersign        ] };
    key <AC04>    { [    f,        F,        minus,            minus,            Cyrillic_a,        Cyrillic_A,        minus,            minus            ] };
    key <AC05>    { [    g,        G,        underscore,        underscore,        Cyrillic_pe,        Cyrillic_PE,        underscore,        underscore        ] };
    key <AC06>    { [    h,        H,        exclam,            exclam,            Cyrillic_er,        Cyrillic_ER,        exclam,            exclam            ] };
    key <AC07>    { [    j,        J,        question,        question,        Cyrillic_o,        Cyrillic_O,        question,        question        ] };
    key <AC08>    { [    k,        K,        semicolon,        semicolon,        Cyrillic_el,        Cyrillic_EL,        semicolon,        semicolon        ] };
    key <AC09>    { [    l,        L,        colon,            colon,            Cyrillic_de,        Cyrillic_DE,        colon,            colon            ] };
    key <AB09>    { [    comma,        comma,        comma,            comma,            Cyrillic_zhe,        Cyrillic_ZHE,        comma,            comma            ] };
    key <UP>    { [    period,        period,        period,            period,            Cyrillic_e,        Cyrillic_E,        period,            period            ] };

    // 3. row
    key <AB01>    { [    z,        Z,        dollar,            dollar,            Cyrillic_ya,        Cyrillic_YA,        dollar,            dollar            ] };
    key <AB02>    { [    x,        X,        EuroSign,        EuroSign,        Cyrillic_che,        Cyrillic_CHE,        EuroSign,        EuroSign        ] };
    key <AB03>    { [    c,        C,        slash,            slash,            Cyrillic_es,        Cyrillic_ES,        slash,            slash            ] };
    key <AB04>    { [    v,        V,        parenleft,        parenleft,        Cyrillic_em,        Cyrillic_EM,        parenleft,        parenleft        ] };
    key <AB05>    { [    b,        B,        parenright,        parenright,        Cyrillic_i,        Cyrillic_I,        parenright,        parenright        ] };
    key <AB06>    { [    n,        N,        quotedbl,        quotedbl,        Cyrillic_te,        Cyrillic_TE,        quotedbl,        quotedbl        ] };
    key <AB07>    { [    m,        M,        apostrophe,        apostrophe,        Cyrillic_softsign,    Cyrillic_SOFTSIGN,    apostrophe,        apostrophe        ] };
    key <LEFT>    { [    Cyrillic_be,    Cyrillic_BE,    Cyrillic_yu,        Cyrillic_YU,        Cyrillic_be,        Cyrillic_BE,        Cyrillic_yu,        Cyrillic_YU        ] };
};



partial alphanumeric_keys
xkb_symbols "it" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Italian";

    // 1. row
    key <AB08>    { [    egrave,        Egrave,        eacute,        Eacute        ] };

    // 2. row
    key <AC06>    { [    h,        H,        semicolon,    semicolon    ] };
    key <AC07>    { [    j,        J,        colon,        colon        ] };
    key <AC08>    { [    k,        K,        exclam,        exclam        ] };
    key <AC09>    { [    l,        L,        question,    question    ] };
    key <AB09>    { [    ograve,        Ograve,        igrave,        Igrave        ] };
    key <UP>    { [    agrave,        Agrave,        ugrave,        Ugrave        ] };

    // 3. row
    key <AB01>    { [    z,        Z,        EuroSign,    EuroSign    ] };
    key <AB02>    { [    x,        X,        parenleft,    parenleft    ] };
    key <AB03>    { [    c,        C,        parenright,    parenright    ] };
    key <LEFT>    { [    period,        comma,        comma,        comma        ] };
};



partial alphanumeric_keys
xkb_symbols "cz" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_2btns)"

    name[Group1] = "Czech";

    // 1. row
    key <AD06>    { [    z,        Z,        6,        6        ] };
    key <AB08>    { [    dead_acute,    dead_acute,    sterling,    sterling    ] };

    // 2. row
    key <AC08>    { [    k,        K,        semicolon,    semicolon    ] };
    key <AC09>    { [    l,        L,        colon,        colon        ] };
    key <AB09>    { [    uring,        Uring,        EuroSign,    EuroSign    ] };
    key <UP>    { [    dead_caron,    dead_caron,    dollar,        dollar        ] };

    // 3. row
    key <AB01>    { [    y,        Y,        equal,        equal        ] };
    key <AB02>    { [    x,        X,        slash,        slash        ] };
    key <AB03>    { [    c,        C,        backslash,    backslash    ] };
    key <AB04>    { [    v,        V,        apostrophe,    apostrophe    ] };
    key <AB05>    { [    b,        B,        quotedbl,    quotedbl    ] };
    key <AB06>    { [    n,        N,        exclam,        exclam        ] };
    key <AB07>    { [    m,        M,        question,    question    ] };
    key <LEFT>    { [    period,        comma,        comma,        comma        ] };
};

partial alphanumeric_keys
xkb_symbols "cz_qwerty" {
    include "nokia_vndr/rx-51(cz)"

    name[Group1] = "Czech - qwerty";

    // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled.
    // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51.
    // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty".

    // 1. row
    key <AD06>    { [    y,        Y,        6,        6        ] };

    // 3. row
    key <AB01>    { [    z,        Z,        percent,    percent        ] };
};



////////////////////////////////////////////////////////////////////////////////

partial hidden alphanumeric_keys
xkb_symbols "nordic_base" {
    include "nokia_vndr/rx-51(english_base)"

    // 1. row
    key <AB08>    { [    aring,        Aring,        equal,        equal        ] };

    // 2. row
    key <AC08>    { [    k,        K,        semicolon,    semicolon    ] };
    key <AC09>    { [    l,        L,        colon,        colon        ] };

    // 3. row
    key <AB01>    { [    z,        Z,        EuroSign,    EuroSign    ] };
    key <AB03>    { [    c,        C,        sterling,    sterling    ] };
    key <LEFT>    { [    period,        comma,        comma,        comma        ] };
};

partial hidden alphanumeric_keys
xkb_symbols "english_base" {

    // 1. row
    key <AD01>    { [    q,        Q,        1,        1        ] };
    key <AD02>    { [    w,        W,        2,        2        ] };
    key <AD03>    { [    e,        E,        3,        3        ] };
    key <AD04>    { [    r,        R,        4,        4        ] };
    key <AD05>    { [    t,        T,        5,        5        ] };
    key <AD06>    { [    y,        Y,        6,        6        ] };
    key <AD07>    { [    u,        U,        7,        7        ] };
    key <AD08>    { [    i,        I,        8,        8        ] };
    key <AD09>    { [    o,        O,        9,        9        ] };
    key <AD10>    { [    p,        P,        0,        0        ] };
    key <AB08>    { [    comma,        semicolon,    equal,        equal        ] };

    // 2. row
    key <AC01>    { [    a,        A,        asterisk,    asterisk    ] };
    key <AC02>    { [    s,        S,        plus,        plus        ] };
    key <AC03>    { [    d,        D,        numbersign,    numbersign    ] };
    key <AC04>    { [    f,        F,        minus,        minus        ] };
    key <AC05>    { [    g,        G,        underscore,    underscore    ] };
    key <AC06>    { [    h,        H,        parenleft,    parenleft    ] };
    key <AC07>    { [    j,        J,        parenright,    parenright    ] };
    key <AC08>    { [    k,        K,        ampersand,    ampersand    ] };
    key <AC09>    { [    l,        L,        exclam,        exclam        ] };
    key <AB09>    { [    period,        colon,        question,    question    ] };

    // 3. row
    key <AB01>    { [    z,        Z,        caret,    caret] };
    key <AB02>    { [    x,        X,        dollar,        dollar        ] };
    key <AB03>    { [    c,        C,        bar,        bar        ] };
    key <AB04>    { [    v,        V,        slash,        slash        ] };
    key <AB05>    { [    b,        B,        backslash,    backslash    ] };
    key <AB06>    { [    n,        N,        quotedbl,    quotedbl    ] };
    key <AB07>    { [    m,        M,        apostrophe,    apostrophe    ] };
    key <SPCE>    { [    space,        Tab,        at,        at        ] };
};

partial hidden alphanumeric_keys
xkb_symbols "common_keys" {
    // all other common keys

    // key <BKSP>    { [    BackSpace    ] };
    key <BKSP>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    BackSpace,Escape        ] };
    key <TAB>    { [    Tab        ] };

    // broken UI spec.
    // key <RTRN>    { [    KP_Enter    ] };
    key <RTRN>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    KP_Enter,Tab        ] };


    key <KPEN>    { [    Return, Escape, Escape, Escape        ] };
    key <ESC>    { [    Escape        ] };

    key <FK01>    { [    F1    ] };
    key <FK02>    { [    F2    ] };
    key <FK03>    { [    F3    ] };
    key <FK04>    { [    F4    ] };
    key <FK05>    { [    F5    ] };
    key <FK06>    { [    F6    ] };

    // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically
    // on left/right and up/down in landscape/portrait orientation. This does
    // not feel natural for the user and therefore we want the VOL+/VOL- keys
    // map to -/+.
    //
    // The only exception is an active call in portrait mode where we want to
    // use the real meanings of the keys. This special case and management of
    // +/- keys in general is handled in maemo-statusmenu-volume.
    key <FK07>    { [    F8    ] };
    key <FK08>    { [    F7    ] };

    key <FK09>    { [    F9    ] };
    key <FK10>    { [    F10    ] };
    key <FK11>    { [    F11    ] };
};

partial hidden alphanumeric_keys modifier_keys
xkb_symbols "modifiers" {
    // Shift switches between current level and level+1
    key <LFSH>    {
    type[Group1] = "ONE_LEVEL",
    symbols[Group1] = [    Shift_L    ]
    };
    modifier_map Shift { Shift_L };

    // Fn+Ctrl virtual symbol table (Multi_key)
    // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon)
    key <LCTL>    {
    type[Group1] = "FOUR_LEVEL",
    symbols[Group1] = [    Control_L,    Control_L,    Multi_key,    Multi_key    ]
    };
    modifier_map Control { Control_L };

    // Fn key (right alt) switches to 3rd level
    include "level3(ralt_switch)"
};

partial hidden alphanumeric_keys
xkb_symbols "arrows_2btns" {
    // rx-51 specific arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift key
    key <DOWN>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Left,    Up    ] };
    key <RGHT>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Right,    Down    ] };
};

partial hidden alphanumeric_keys
xkb_symbols "arrows_4btns" {
    // standard arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift key
    key <UP>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Up,Page_Up    ] };
    key <LEFT>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Left,Home    ] };
    key <DOWN>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Down,Page_Down    ] };
    key <RGHT>    { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [    Right,End    ] };
};