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