rx-51 revision c067fea9
1c067fea9Sghendefault partial alphanumeric_keys 2c067fea9Sghenxkb_symbols "common" { 3c067fea9Sghen include "nokia_vndr/rx-51(common_keys)" 4c067fea9Sghen include "nokia_vndr/rx-51(modifiers)" 5c067fea9Sghen 6c067fea9Sghen // This section should not be included by any other section. 7c067fea9Sghen // It's referenced only once by rule file to allow multiple layout configurations. 8c067fea9Sghen 9c067fea9Sghen // More than one layout at the same time could be set for instance as follows: 10c067fea9Sghen // setxkbmap -rules evdev \ 11c067fea9Sghen // -model nokiarx51 \ 12c067fea9Sghen // -option grp:ctrl_shift_toggle \ 13c067fea9Sghen // -layout us,cz \ 14c067fea9Sghen // -variant ",qwerty" 15c067fea9Sghen 16c067fea9Sghen // Notice the similarity: 17c067fea9Sghen // "pc+us+cz(qwerty):2+grp:XYZ" vs. 18c067fea9Sghen // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ" 19c067fea9Sghen // where XYZ is one of xkb_symbols section usually located in file symbols/group. 20c067fea9Sghen 21c067fea9Sghen // Bear in mind that option XYZ could replace current keys configuration!!! 22c067fea9Sghen 23c067fea9Sghen // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys 24c067fea9Sghen // which may disallow opening of virtual symbol table (Multi_key). 25c067fea9Sghen // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle 26c067fea9Sghen // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore 27c067fea9Sghen // pressing Ctrl+Shift will switch to previous layout, not to the next one. 28c067fea9Sghen 29c067fea9Sghen // For RX-51 device there is a lot of restrictions if more than one layout is 30c067fea9Sghen // is configured at the same time because some modifiers and special cases are 31c067fea9Sghen // handled by hildon layer (especially with eight-level layout): 32c067fea9Sghen // - settings may be done from terminal only (GUI doesn't and won't support it) 33c067fea9Sghen // - virtual symbol table is not updated according to current layout 34c067fea9Sghen // - for unknown reasons the eight-level layout (nordic,ru) works properly 35c067fea9Sghen // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru") 36c067fea9Sghen // otherwise it's not possible to access levels 5-8 37c067fea9Sghen // - Ctrl+Space related problems: 38c067fea9Sghen // - If eight-level layout is used as first layout one of eight-level layouts has to 39c067fea9Sghen // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled 40c067fea9Sghen // - Ctrl+Space has no effect if only four-level layouts are chosen 41c067fea9Sghen // (don't forget the layout configured in GUI - despite of it's not reachable) 42c067fea9Sghen // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?) 43c067fea9Sghen // in case eight- and four-level layouts are configured simultaneously 44c067fea9Sghen // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts 45c067fea9Sghen // in case eight- and four-level layouts are configured simultaneously 46c067fea9Sghen // - four-level layout on first place doesn't work at all when Ctrl+Space is "turned on" 47c067fea9Sghen // in case the 2nd, 3rd or 4th layout is eight-level layout 48c067fea9Sghen}; 49c067fea9Sghen 50c067fea9Sghen//////////////////////////////////////////////////////////////////////////////// 51c067fea9Sghen 52c067fea9Sghenpartial alphanumeric_keys 53c067fea9Sghenxkb_symbols "us" { 54c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 55c067fea9Sghen include "nokia_vndr/rx-51(arrows_4btns)" 56c067fea9Sghen 57c067fea9Sghen name[Group1] = "U.S. English"; 58c067fea9Sghen}; 59c067fea9Sghen 60c067fea9Sghen 61c067fea9Sghen 62c067fea9Sghenpartial alphanumeric_keys 63c067fea9Sghenxkb_symbols "pl" { 64c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 65c067fea9Sghen include "nokia_vndr/rx-51(arrows_4btns)" 66c067fea9Sghen 67c067fea9Sghen name[Group1] = "Polish"; 68c067fea9Sghen}; 69c067fea9Sghen 70c067fea9Sghen 71c067fea9Sghen 72c067fea9Sghenpartial alphanumeric_keys 73c067fea9Sghenxkb_symbols "fise" { 74c067fea9Sghen include "nokia_vndr/rx-51(nordic_base)" 75c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 76c067fea9Sghen 77c067fea9Sghen name[Group1] = "Finnish/Swedish"; 78c067fea9Sghen 79c067fea9Sghen // 2. row 80c067fea9Sghen key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] }; 81c067fea9Sghen key <UP> { [ adiaeresis, Adiaeresis, question, question ] }; 82c067fea9Sghen}; 83c067fea9Sghen 84c067fea9Sghen 85c067fea9Sghen 86c067fea9Sghenpartial alphanumeric_keys 87c067fea9Sghenxkb_symbols "dano" { 88c067fea9Sghen include "nokia_vndr/rx-51(nordic_base)" 89c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 90c067fea9Sghen 91c067fea9Sghen name[Group1] = "Danish/Norwegian"; 92c067fea9Sghen 93c067fea9Sghen // 2. row 94c067fea9Sghen key <AB09> { [ oslash, Oslash, exclam, exclam ] }; 95c067fea9Sghen key <UP> { [ ae, AE, question, question ] }; 96c067fea9Sghen}; 97c067fea9Sghen 98c067fea9Sghen 99c067fea9Sghen 100c067fea9Sghenpartial alphanumeric_keys 101c067fea9Sghenxkb_symbols "nordic" { 102c067fea9Sghen include "nokia_vndr/rx-51(nordic_base)" 103c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 104c067fea9Sghen 105c067fea9Sghen name[Group1] = "Danish/Finnish/Norwegian/Swedish"; 106c067fea9Sghen 107c067fea9Sghen key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; 108c067fea9Sghen 109c067fea9Sghen // 2. row 110c067fea9Sghen key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] }; 111c067fea9Sghen key <UP> { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] }; 112c067fea9Sghen}; 113c067fea9Sghen 114c067fea9Sghen 115c067fea9Sghen 116c067fea9Sghenpartial alphanumeric_keys 117c067fea9Sghenxkb_symbols "ptes" { 118c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 119c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 120c067fea9Sghen 121c067fea9Sghen name[Group1] = "Portuguese/Spanish"; 122c067fea9Sghen 123c067fea9Sghen // 1. row 124c067fea9Sghen key <AB08> { [ dead_acute, dead_acute, dead_grave, dead_grave ] }; 125c067fea9Sghen 126c067fea9Sghen // 2. row 127c067fea9Sghen key <AC05> { [ g, G, exclamdown, exclamdown ] }; 128c067fea9Sghen key <AC06> { [ h, H, exclam, exclam ] }; 129c067fea9Sghen key <AC07> { [ j, J, questiondown, questiondown ] }; 130c067fea9Sghen key <AC08> { [ k, K, question, question ] }; 131c067fea9Sghen key <AC09> { [ l, L, dead_diaeresis, dead_diaeresis ] }; 132c067fea9Sghen key <AB09> { [ ntilde, Ntilde, dead_tilde, dead_tilde ] }; 133c067fea9Sghen key <UP> { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] }; 134c067fea9Sghen 135c067fea9Sghen // 3. row 136c067fea9Sghen key <AB01> { [ z, Z, parenleft, parenleft ] }; 137c067fea9Sghen key <AB02> { [ x, X, parenright, parenright ] }; 138c067fea9Sghen key <AB03> { [ c, C, slash, slash ] }; 139c067fea9Sghen key <AB04> { [ v, V, quotedbl, quotedbl ] }; 140c067fea9Sghen key <AB05> { [ b, B, apostrophe, apostrophe ] }; 141c067fea9Sghen key <AB06> { [ n, N, colon, colon ] }; 142c067fea9Sghen key <AB07> { [ m, M, semicolon, semicolon ] }; 143c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 144c067fea9Sghen}; 145c067fea9Sghen 146c067fea9Sghen 147c067fea9Sghen 148c067fea9Sghenpartial alphanumeric_keys 149c067fea9Sghenxkb_symbols "fr" { 150c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 151c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 152c067fea9Sghen 153c067fea9Sghen name[Group1] = "French"; 154c067fea9Sghen 155c067fea9Sghen // 1. row 156c067fea9Sghen key <AD01> { [ a, A, 1, 1 ] }; 157c067fea9Sghen key <AD02> { [ z, Z, 2, 2 ] }; 158c067fea9Sghen key <AB08> { [ agrave, Agrave, ccedilla, Ccedilla ] }; 159c067fea9Sghen 160c067fea9Sghen // 2. row 161c067fea9Sghen key <AC01> { [ q, Q, asterisk, asterisk ] }; 162c067fea9Sghen key <AC02> { [ s, S, plus, plus ] }; 163c067fea9Sghen key <AC03> { [ d, D, numbersign, numbersign ] }; 164c067fea9Sghen key <AC04> { [ f, F, minus, minus ] }; 165c067fea9Sghen key <AC05> { [ g, G, underscore, underscore ] }; 166c067fea9Sghen key <AC06> { [ h, H, exclam, exclam ] }; 167c067fea9Sghen key <AC07> { [ j, J, question, question ] }; 168c067fea9Sghen key <AC08> { [ k, K, colon, colon ] }; 169c067fea9Sghen key <AC09> { [ l, L, dead_circumflex,dead_circumflex ] }; 170c067fea9Sghen key <AB09> { [ m, M, ugrave, Ugrave ] }; 171c067fea9Sghen key <UP> { [ eacute, Eacute, egrave, Egrave ] }; 172c067fea9Sghen 173c067fea9Sghen // 3. row 174c067fea9Sghen key <AB01> { [ w, W, EuroSign, EuroSign ] }; 175c067fea9Sghen key <AB03> { [ c, C, parenleft, parenleft ] }; 176c067fea9Sghen key <AB04> { [ v, V, parenright, parenright ] }; 177c067fea9Sghen key <AB05> { [ b, B, slash, slash ] }; 178c067fea9Sghen key <AB07> { [ comma, comma, apostrophe, apostrophe ] }; 179c067fea9Sghen key <LEFT> { [ semicolon, period, period, period ] }; 180c067fea9Sghen}; 181c067fea9Sghen 182c067fea9Sghen 183c067fea9Sghen 184c067fea9Sghenpartial alphanumeric_keys 185c067fea9Sghenxkb_symbols "de" { 186c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 187c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 188c067fea9Sghen 189c067fea9Sghen name[Group1] = "German"; 190c067fea9Sghen 191c067fea9Sghen // 1. row 192c067fea9Sghen key <AD06> { [ z, Z, 6, 6 ] }; 193c067fea9Sghen key <AB08> { [ udiaeresis, Udiaeresis, ssharp, ssharp ] }; 194c067fea9Sghen 195c067fea9Sghen // 2. row 196c067fea9Sghen key <AC08> { [ k, K, semicolon, semicolon ] }; 197c067fea9Sghen key <AC09> { [ l, L, colon, colon ] }; 198c067fea9Sghen key <AB09> { [ odiaeresis, Odiaeresis, exclam, exclam ] }; 199c067fea9Sghen key <UP> { [ adiaeresis, Adiaeresis, question, question ] }; 200c067fea9Sghen 201c067fea9Sghen // 3. row 202c067fea9Sghen key <AB01> { [ y, Y, EuroSign, EuroSign ] }; 203c067fea9Sghen key <AB03> { [ c, C, equal, equal ] }; 204c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 205c067fea9Sghen}; 206c067fea9Sghen 207c067fea9Sghen 208c067fea9Sghen 209c067fea9Sghenpartial alphanumeric_keys 210c067fea9Sghenxkb_symbols "ch" { 211c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 212c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 213c067fea9Sghen 214c067fea9Sghen name[Group1] = "Swiss"; 215c067fea9Sghen 216c067fea9Sghen // 1. row 217c067fea9Sghen key <AD06> { [ z, Z, 6, 6 ] }; 218c067fea9Sghen key <AB08> { [ udiaeresis, Udiaeresis, egrave, Egrave ] }; 219c067fea9Sghen 220c067fea9Sghen // 2. row 221c067fea9Sghen key <AC06> { [ h, H, equal, equal ] }; 222c067fea9Sghen key <AC07> { [ j, J, parenleft, parenleft ] }; 223c067fea9Sghen key <AC08> { [ k, K, parenright, parenright ] }; 224c067fea9Sghen key <AC09> { [ l, L, colon, colon ] }; 225c067fea9Sghen key <AB09> { [ odiaeresis, Odiaeresis, eacute, Aacute ] }; 226c067fea9Sghen key <UP> { [ adiaeresis, Adiaeresis, agrave, Agrave ] }; 227c067fea9Sghen 228c067fea9Sghen // 3. row 229c067fea9Sghen key <AB01> { [ y, Y, question, question ] }; 230c067fea9Sghen key <AB02> { [ x, X, exclam, exclam ] }; 231c067fea9Sghen key <AB03> { [ c, C, ccedilla, Ccedilla ] }; 232c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 233c067fea9Sghen}; 234c067fea9Sghen 235c067fea9Sghen 236c067fea9Sghen 237c067fea9Sghen// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons. 238c067fea9Sghenpartial alphanumeric_keys 239c067fea9Sghenxkb_symbols "ru" { 240c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 241c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 242c067fea9Sghen 243c067fea9Sghen name[Group1] = "Russian"; 244c067fea9Sghen 245c067fea9Sghen key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; 246c067fea9Sghen 247c067fea9Sghen // 1. row 248c067fea9Sghen key <AD01> { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; 249c067fea9Sghen key <AD02> { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; 250c067fea9Sghen key <AD03> { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] }; 251c067fea9Sghen key <AD04> { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; 252c067fea9Sghen key <AD05> { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; 253c067fea9Sghen key <AD06> { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] }; 254c067fea9Sghen key <AD07> { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; 255c067fea9Sghen key <AD08> { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; 256c067fea9Sghen key <AD09> { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; 257c067fea9Sghen key <AD10> { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; 258c067fea9Sghen key <AB08> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; 259c067fea9Sghen 260c067fea9Sghen // 2. row 261c067fea9Sghen key <AC01> { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] }; 262c067fea9Sghen key <AC02> { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] }; 263c067fea9Sghen key <AC03> { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] }; 264c067fea9Sghen key <AC04> { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] }; 265c067fea9Sghen key <AC05> { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] }; 266c067fea9Sghen key <AC06> { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] }; 267c067fea9Sghen key <AC07> { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] }; 268c067fea9Sghen key <AC08> { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] }; 269c067fea9Sghen key <AC09> { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] }; 270c067fea9Sghen key <AB09> { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] }; 271c067fea9Sghen key <UP> { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] }; 272c067fea9Sghen 273c067fea9Sghen // 3. row 274c067fea9Sghen key <AB01> { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] }; 275c067fea9Sghen key <AB02> { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] }; 276c067fea9Sghen key <AB03> { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] }; 277c067fea9Sghen key <AB04> { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] }; 278c067fea9Sghen key <AB05> { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] }; 279c067fea9Sghen key <AB06> { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] }; 280c067fea9Sghen key <AB07> { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; 281c067fea9Sghen key <LEFT> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] }; 282c067fea9Sghen}; 283c067fea9Sghen 284c067fea9Sghen 285c067fea9Sghen 286c067fea9Sghenpartial alphanumeric_keys 287c067fea9Sghenxkb_symbols "it" { 288c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 289c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 290c067fea9Sghen 291c067fea9Sghen name[Group1] = "Italian"; 292c067fea9Sghen 293c067fea9Sghen // 1. row 294c067fea9Sghen key <AB08> { [ egrave, Egrave, eacute, Eacute ] }; 295c067fea9Sghen 296c067fea9Sghen // 2. row 297c067fea9Sghen key <AC06> { [ h, H, semicolon, semicolon ] }; 298c067fea9Sghen key <AC07> { [ j, J, colon, colon ] }; 299c067fea9Sghen key <AC08> { [ k, K, exclam, exclam ] }; 300c067fea9Sghen key <AC09> { [ l, L, question, question ] }; 301c067fea9Sghen key <AB09> { [ ograve, Ograve, igrave, Igrave ] }; 302c067fea9Sghen key <UP> { [ agrave, Agrave, ugrave, Ugrave ] }; 303c067fea9Sghen 304c067fea9Sghen // 3. row 305c067fea9Sghen key <AB01> { [ z, Z, EuroSign, EuroSign ] }; 306c067fea9Sghen key <AB02> { [ x, X, parenleft, parenleft ] }; 307c067fea9Sghen key <AB03> { [ c, C, parenright, parenright ] }; 308c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 309c067fea9Sghen}; 310c067fea9Sghen 311c067fea9Sghen 312c067fea9Sghen 313c067fea9Sghenpartial alphanumeric_keys 314c067fea9Sghenxkb_symbols "cz" { 315c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 316c067fea9Sghen include "nokia_vndr/rx-51(arrows_2btns)" 317c067fea9Sghen 318c067fea9Sghen name[Group1] = "Czech"; 319c067fea9Sghen 320c067fea9Sghen // 1. row 321c067fea9Sghen key <AD06> { [ z, Z, 6, 6 ] }; 322c067fea9Sghen key <AB08> { [ dead_acute, dead_acute, sterling, sterling ] }; 323c067fea9Sghen 324c067fea9Sghen // 2. row 325c067fea9Sghen key <AC08> { [ k, K, semicolon, semicolon ] }; 326c067fea9Sghen key <AC09> { [ l, L, colon, colon ] }; 327c067fea9Sghen key <AB09> { [ uring, Uring, EuroSign, EuroSign ] }; 328c067fea9Sghen key <UP> { [ dead_caron, dead_caron, dollar, dollar ] }; 329c067fea9Sghen 330c067fea9Sghen // 3. row 331c067fea9Sghen key <AB01> { [ y, Y, equal, equal ] }; 332c067fea9Sghen key <AB02> { [ x, X, slash, slash ] }; 333c067fea9Sghen key <AB03> { [ c, C, backslash, backslash ] }; 334c067fea9Sghen key <AB04> { [ v, V, apostrophe, apostrophe ] }; 335c067fea9Sghen key <AB05> { [ b, B, quotedbl, quotedbl ] }; 336c067fea9Sghen key <AB06> { [ n, N, exclam, exclam ] }; 337c067fea9Sghen key <AB07> { [ m, M, question, question ] }; 338c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 339c067fea9Sghen}; 340c067fea9Sghen 341c067fea9Sghenpartial alphanumeric_keys 342c067fea9Sghenxkb_symbols "cz_qwerty" { 343c067fea9Sghen include "nokia_vndr/rx-51(cz)" 344c067fea9Sghen 345c067fea9Sghen name[Group1] = "Czech - qwerty"; 346c067fea9Sghen 347c067fea9Sghen // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled. 348c067fea9Sghen // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51. 349c067fea9Sghen // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty". 350c067fea9Sghen 351c067fea9Sghen // 1. row 352c067fea9Sghen key <AD06> { [ y, Y, 6, 6 ] }; 353c067fea9Sghen 354c067fea9Sghen // 3. row 355c067fea9Sghen key <AB01> { [ z, Z, percent, percent ] }; 356c067fea9Sghen}; 357c067fea9Sghen 358c067fea9Sghen 359c067fea9Sghen 360c067fea9Sghen//////////////////////////////////////////////////////////////////////////////// 361c067fea9Sghen 362c067fea9Sghenpartial hidden alphanumeric_keys 363c067fea9Sghenxkb_symbols "nordic_base" { 364c067fea9Sghen include "nokia_vndr/rx-51(english_base)" 365c067fea9Sghen 366c067fea9Sghen // 1. row 367c067fea9Sghen key <AB08> { [ aring, Aring, equal, equal ] }; 368c067fea9Sghen 369c067fea9Sghen // 2. row 370c067fea9Sghen key <AC08> { [ k, K, semicolon, semicolon ] }; 371c067fea9Sghen key <AC09> { [ l, L, colon, colon ] }; 372c067fea9Sghen 373c067fea9Sghen // 3. row 374c067fea9Sghen key <AB01> { [ z, Z, EuroSign, EuroSign ] }; 375c067fea9Sghen key <AB03> { [ c, C, sterling, sterling ] }; 376c067fea9Sghen key <LEFT> { [ period, comma, comma, comma ] }; 377c067fea9Sghen}; 378c067fea9Sghen 379c067fea9Sghenpartial hidden alphanumeric_keys 380c067fea9Sghenxkb_symbols "english_base" { 381c067fea9Sghen 382c067fea9Sghen // 1. row 383c067fea9Sghen key <AD01> { [ q, Q, 1, 1 ] }; 384c067fea9Sghen key <AD02> { [ w, W, 2, 2 ] }; 385c067fea9Sghen key <AD03> { [ e, E, 3, 3 ] }; 386c067fea9Sghen key <AD04> { [ r, R, 4, 4 ] }; 387c067fea9Sghen key <AD05> { [ t, T, 5, 5 ] }; 388c067fea9Sghen key <AD06> { [ y, Y, 6, 6 ] }; 389c067fea9Sghen key <AD07> { [ u, U, 7, 7 ] }; 390c067fea9Sghen key <AD08> { [ i, I, 8, 8 ] }; 391c067fea9Sghen key <AD09> { [ o, O, 9, 9 ] }; 392c067fea9Sghen key <AD10> { [ p, P, 0, 0 ] }; 393c067fea9Sghen key <AB08> { [ comma, semicolon, equal, equal ] }; 394c067fea9Sghen 395c067fea9Sghen // 2. row 396c067fea9Sghen key <AC01> { [ a, A, asterisk, asterisk ] }; 397c067fea9Sghen key <AC02> { [ s, S, plus, plus ] }; 398c067fea9Sghen key <AC03> { [ d, D, numbersign, numbersign ] }; 399c067fea9Sghen key <AC04> { [ f, F, minus, minus ] }; 400c067fea9Sghen key <AC05> { [ g, G, underscore, underscore ] }; 401c067fea9Sghen key <AC06> { [ h, H, parenleft, parenleft ] }; 402c067fea9Sghen key <AC07> { [ j, J, parenright, parenright ] }; 403c067fea9Sghen key <AC08> { [ k, K, ampersand, ampersand ] }; 404c067fea9Sghen key <AC09> { [ l, L, exclam, exclam ] }; 405c067fea9Sghen key <AB09> { [ period, colon, question, question ] }; 406c067fea9Sghen 407c067fea9Sghen // 3. row 408c067fea9Sghen key <AB01> { [ z, Z, sterling, sterling ] }; 409c067fea9Sghen key <AB02> { [ x, X, dollar, dollar ] }; 410c067fea9Sghen key <AB03> { [ c, C, EuroSign, EuroSign ] }; 411c067fea9Sghen key <AB04> { [ v, V, slash, slash ] }; 412c067fea9Sghen key <AB05> { [ b, B, backslash, backslash ] }; 413c067fea9Sghen key <AB06> { [ n, N, quotedbl, quotedbl ] }; 414c067fea9Sghen key <AB07> { [ m, M, apostrophe, apostrophe ] }; 415c067fea9Sghen key <SPCE> { [ space, space, at, at ] }; 416c067fea9Sghen}; 417c067fea9Sghen 418c067fea9Sghenpartial hidden alphanumeric_keys 419c067fea9Sghenxkb_symbols "common_keys" { 420c067fea9Sghen // all other common keys 421c067fea9Sghen 422c067fea9Sghen key <BKSP> { [ BackSpace ] }; 423c067fea9Sghen key <TAB> { [ Tab ] }; 424c067fea9Sghen 425c067fea9Sghen // broken UI spec. 426c067fea9Sghen key <RTRN> { [ KP_Enter ] }; 427c067fea9Sghen 428c067fea9Sghen key <KPEN> { [ Return ] }; 429c067fea9Sghen key <ESC> { [ Escape ] }; 430c067fea9Sghen 431c067fea9Sghen key <FK01> { [ F1 ] }; 432c067fea9Sghen key <FK02> { [ F2 ] }; 433c067fea9Sghen key <FK03> { [ F3 ] }; 434c067fea9Sghen key <FK04> { [ F4 ] }; 435c067fea9Sghen key <FK05> { [ F5 ] }; 436c067fea9Sghen key <FK06> { [ F6 ] }; 437c067fea9Sghen 438c067fea9Sghen // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically 439c067fea9Sghen // on left/right and up/down in landscape/portrait orientation. This does 440c067fea9Sghen // not feel natural for the user and therefore we want the VOL+/VOL- keys 441c067fea9Sghen // map to -/+. 442c067fea9Sghen // 443c067fea9Sghen // The only exception is an active call in portrait mode where we want to 444c067fea9Sghen // use the real meanings of the keys. This special case and management of 445c067fea9Sghen // +/- keys in general is handled in maemo-statusmenu-volume. 446c067fea9Sghen key <FK07> { [ F8 ] }; 447c067fea9Sghen key <FK08> { [ F7 ] }; 448c067fea9Sghen 449c067fea9Sghen key <FK09> { [ F9 ] }; 450c067fea9Sghen key <FK10> { [ F10 ] }; 451c067fea9Sghen key <FK11> { [ F11 ] }; 452c067fea9Sghen}; 453c067fea9Sghen 454c067fea9Sghenpartial hidden alphanumeric_keys modifier_keys 455c067fea9Sghenxkb_symbols "modifiers" { 456c067fea9Sghen // Shift switches between current level and level+1 457c067fea9Sghen key <LFSH> { 458c067fea9Sghen type[Group1] = "ONE_LEVEL", 459c067fea9Sghen symbols[Group1] = [ Shift_L ] 460c067fea9Sghen }; 461c067fea9Sghen modifier_map Shift { Shift_L }; 462c067fea9Sghen 463c067fea9Sghen // Fn+Ctrl virtual symbol table (Multi_key) 464c067fea9Sghen // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon) 465c067fea9Sghen key <LCTL> { 466c067fea9Sghen type[Group1] = "FOUR_LEVEL", 467c067fea9Sghen symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ] 468c067fea9Sghen }; 469c067fea9Sghen modifier_map Control { Control_L }; 470c067fea9Sghen 471c067fea9Sghen // Fn key (right alt) switches to 3rd level 472c067fea9Sghen include "level3(ralt_switch)" 473c067fea9Sghen}; 474c067fea9Sghen 475c067fea9Sghenpartial hidden alphanumeric_keys 476c067fea9Sghenxkb_symbols "arrows_2btns" { 477c067fea9Sghen // rx-51 specific arrows mapping 478c067fea9Sghen // normal 2nd level must not be enumerated to allow text selection with Shift key 479c067fea9Sghen key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] }; 480c067fea9Sghen key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] }; 481c067fea9Sghen}; 482c067fea9Sghen 483c067fea9Sghenpartial hidden alphanumeric_keys 484c067fea9Sghenxkb_symbols "arrows_4btns" { 485c067fea9Sghen // standard arrows mapping 486c067fea9Sghen // normal 2nd level must not be enumerated to allow text selection with Shift key 487c067fea9Sghen key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] }; 488c067fea9Sghen key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] }; 489c067fea9Sghen key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] }; 490c067fea9Sghen key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] }; 491c067fea9Sghen}; 492