rm-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 };