su-8w revision 1.1.1.6 1 partial alphanumeric_keys default
2 xkb_symbols "no" {
3
4 include "nokia_vndr/su-8w(base)"
5
6 name[Group1]= "Norwegian/Danish";
7
8 key <AE01> { [ 1, exclam, dead_circumflex ] };
9 key <AE02> { [ 2, quotedbl, at ] };
10 key <AE03> { [ 3, numbersign, EuroSign ] };
11 key <AE04> { [ 4, currency, dollar ] };
12 key <AE05> { [ 5, percent, sterling ] };
13 key <AE06> { [ 6, ampersand ] };
14 key <AE07> { [ 7, slash, braceleft ] };
15 key <AE08> { [ 8, parenleft, bracketleft ] };
16 key <AE09> { [ 9, parenright, bracketright ] };
17 key <AE10> { [ 0, equal, braceright ] };
18 key <AE11> { [ plus, question ] };
19 key <AE12> { [ dead_acute, dead_grave, backslash ] };
20
21 key <AD01> { [ q, Q, dead_circumflex ] };
22 key <AD02> { [ w, W, at ] };
23 key <AD03> { [ e, E, EuroSign ] };
24 key <AD04> { [ r, R, dollar ] };
25 key <AD05> { [ t, T, sterling ] };
26 key <AD06> { [ y, Y ] };
27 key <AD07> { [ u, U, braceleft ] };
28 key <AD08> { [ i, I, bracketleft ] };
29 key <AD09> { [ o, O, bracketright ] };
30 key <AD10> { [ p, P, braceright ] };
31 key <AD11> { [ aring, Aring ] };
32 key <AD12> { [ ssharp, U1E9E, backslash ] };
33
34 key <AC01> { [ a, A ] };
35 key <AC02> { [ s, S ] };
36 key <AC03> { [ d, D ] };
37 key <AC04> { [ f, F ] };
38 key <AC05> { [ g, G ] };
39 key <AC06> { [ h, H ] };
40 key <AC07> { [ j, J ] };
41 key <AC08> { [ k, K ] };
42 key <AC09> { [ l, L ] };
43 key <AC10> { [ oslash, Oslash ] };
44 key <AC11> { [ ae, AE ] };
45
46 key <AB01> { [ z, Z ] };
47 key <AB02> { [ x, X ] };
48 key <AB03> { [ c, C ] };
49 key <AB04> { [ v, V ] };
50 key <AB05> { [ b, B ] };
51 key <AB06> { [ n, N ] };
52 key <AB07> { [ m, M ] };
53 key <AB08> { [ comma, semicolon, less ] };
54 key <AB09> { [ period, colon, greater ] };
55 key <AB10> { [ minus, underscore, dead_diaeresis ] };
56
57 include "level3(ralt_switch)"
58 };
59
60 partial alphanumeric_keys
61 xkb_symbols "no_nodeadkeys" {
62
63 include "nokia_vndr/su-8w(no)"
64
65 name[Group1] = "Norwegian/Danish (no dead keys)";
66
67 key <AE01> { [ 1, exclam, asciicircum ] };
68 key <AE12> { [ acute, grave, backslash ] };
69 key <AD01> { [ q, Q, asciicircum ] };
70 };
71
72 partial alphanumeric_keys default
73 xkb_symbols "dk" {
74 include "nokia_vndr/su-8w(no)"
75 };
76
77 partial alphanumeric_keys default
78 xkb_symbols "dk_nodeadkeys" {
79 include "nokia_vndr/su-8w(no_nodeadkeys)"
80 };
81
82
83
84 partial alphanumeric_keys default
85 xkb_symbols "de" {
86
87 include "nokia_vndr/su-8w(base)"
88
89 name[Group1]= "German";
90
91 key <AE01> { [ 1, exclam, dead_circumflex ] };
92 key <AE02> { [ 2, quotedbl, at ] };
93 key <AE03> { [ 3, numbersign, EuroSign ] };
94 key <AE04> { [ 4, currency, dollar ] };
95 key <AE05> { [ 5, percent, sterling ] };
96 key <AE06> { [ 6, ampersand ] };
97 key <AE07> { [ 7, slash, braceleft ] };
98 key <AE08> { [ 8, parenleft, bracketleft ] };
99 key <AE09> { [ 9, parenright, bracketright ] };
100 key <AE10> { [ 0, equal, braceright ] };
101 key <AE11> { [ plus, question ] };
102 key <AE12> { [ dead_acute, dead_grave, backslash ] };
103
104 key <AD01> { [ q, Q, dead_circumflex ] };
105 key <AD02> { [ w, W, at ] };
106 key <AD03> { [ e, E, EuroSign ] };
107 key <AD04> { [ r, R, dollar ] };
108 key <AD05> { [ t, T, sterling ] };
109 key <AD06> { [ z, Z ] };
110 key <AD07> { [ u, U, braceleft ] };
111 key <AD08> { [ i, I, bracketleft ] };
112 key <AD09> { [ o, O, bracketright ] };
113 key <AD10> { [ p, P, braceright ] };
114 key <AD11> { [ udiaeresis, Udiaeresis ] };
115 key <AD12> { [ ssharp, U1E9E, backslash ] };
116
117 key <AC01> { [ a, A ] };
118 key <AC02> { [ s, S ] };
119 key <AC03> { [ d, D ] };
120 key <AC04> { [ f, F ] };
121 key <AC05> { [ g, G ] };
122 key <AC06> { [ h, H ] };
123 key <AC07> { [ j, J ] };
124 key <AC08> { [ k, K ] };
125 key <AC09> { [ l, L ] };
126 key <AC10> { [ odiaeresis, Odiaeresis ] };
127 key <AC11> { [ adiaeresis, Adiaeresis ] };
128
129 key <AB01> { [ y, Y ] };
130 key <AB02> { [ x, X ] };
131 key <AB03> { [ c, C ] };
132 key <AB04> { [ v, V ] };
133 key <AB05> { [ b, B ] };
134 key <AB06> { [ n, N ] };
135 key <AB07> { [ m, M ] };
136 key <AB08> { [ comma, semicolon, less ] };
137 key <AB09> { [ period, colon, greater ] };
138 // Inexplicably, the diaeresis is dead on other layouts, but not German. Go figure.
139 key <AB10> { [ minus, underscore, diaeresis ] };
140
141 include "level3(ralt_switch)"
142 };
143
144 partial alphanumeric_keys
145 xkb_symbols "de_nodeadkeys" {
146
147 include "nokia_vndr/su-8w(de)"
148
149 name[Group1] = "German (no dead keys)";
150
151 key <AE01> { [ 1, exclam, asciicircum ] };
152 key <AE12> { [ acute, grave, backslash ] };
153 key <AD01> { [ q, Q, asciicircum ] };
154 };
155
156
157
158 partial alphanumeric_keys default
159 xkb_symbols "se" {
160
161 include "nokia_vndr/su-8w(base)"
162
163 name[Group1]= "Finnish/Swedish";
164
165 key <AE01> { [ 1, exclam, dead_circumflex ] };
166 key <AE02> { [ 2, quotedbl, at ] };
167 key <AE03> { [ 3, numbersign, EuroSign ] };
168 key <AE04> { [ 4, currency, dollar ] };
169 key <AE05> { [ 5, percent, sterling ] };
170 key <AE06> { [ 6, ampersand ] };
171 key <AE07> { [ 7, slash, braceleft ] };
172 key <AE08> { [ 8, parenleft, bracketleft ] };
173 key <AE09> { [ 9, parenright, bracketright ] };
174 key <AE10> { [ 0, equal, braceright ] };
175 key <AE11> { [ plus, question ] };
176 key <AE12> { [ dead_acute, dead_grave, backslash ] };
177
178 key <AD01> { [ q, Q, dead_circumflex ] };
179 key <AD02> { [ w, W, at ] };
180 key <AD03> { [ e, E, EuroSign ] };
181 key <AD04> { [ r, R, dollar ] };
182 key <AD05> { [ t, T, sterling ] };
183 key <AD06> { [ y, Y ] };
184 key <AD07> { [ u, U, braceleft ] };
185 key <AD08> { [ i, I, bracketleft ] };
186 key <AD09> { [ o, O, bracketright ] };
187 key <AD10> { [ p, P, braceright ] };
188 key <AD11> { [ aring, Aring ] };
189 key <AD12> { [ ssharp, U1E9E, backslash ] };
190
191 key <AC01> { [ a, A ] };
192 key <AC02> { [ s, S ] };
193 key <AC03> { [ d, D ] };
194 key <AC04> { [ f, F ] };
195 key <AC05> { [ g, G ] };
196 key <AC06> { [ h, H ] };
197 key <AC07> { [ j, J ] };
198 key <AC08> { [ k, K ] };
199 key <AC09> { [ l, L ] };
200 key <AC10> { [ odiaeresis, Odiaeresis ] };
201 key <AC11> { [ adiaeresis, Adiaeresis ] };
202
203 key <AB01> { [ z, Z ] };
204 key <AB02> { [ x, X ] };
205 key <AB03> { [ c, C ] };
206 key <AB04> { [ v, V ] };
207 key <AB05> { [ b, B ] };
208 key <AB06> { [ n, N ] };
209 key <AB07> { [ m, M ] };
210 key <AB08> { [ comma, semicolon, less ] };
211 key <AB09> { [ period, colon, greater ] };
212 key <AB10> { [ minus, underscore, dead_diaeresis ] };
213
214 include "level3(ralt_switch)"
215 };
216
217 partial alphanumeric_keys
218 xkb_symbols "se_nodeadkeys" {
219
220 include "nokia_vndr/su-8w(se)"
221
222 name[Group1] = "Finnish/Swedish (no dead keys)";
223
224 key <AE01> { [ 1, exclam, asciicircum ] };
225 key <AE12> { [ acute, grave, backslash ] };
226 key <AD01> { [ q, Q, asciicircum ] };
227 key <AB10> { [ minus, underscore, diaeresis ] };
228 };
229
230 partial alphanumeric_keys default
231 xkb_symbols "fi" {
232 include "nokia_vndr/su-8w(se)"
233 };
234
235 xkb_symbols "fi_nodeadkeys" {
236 include "nokia_vndr/su-8w(se_nodeadkeys)"
237 };
238
239
240
241 partial alphanumeric_keys default
242 xkb_symbols "ru" {
243
244 // Russian layout on first two levels, US layout on third and fourth.
245
246 include "nokia_vndr/su-8w(base)"
247
248 name[Group1]= "Russian";
249
250 key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave ] };
251 key <AE01> { [ 1, exclam, exclam, exclam ] };
252 key <AE02> { [ 2, at, quotedbl, at ] };
253 key <AE03> { [ 3, numbersign, numbersign, numbersign ] };
254 key <AE04> { [ 4, dollar, currency, dollar ] };
255 key <AE05> { [ 5, percent, percent, percent ] };
256 key <AE06> { [ 6, dead_circumflex, ampersand, asciicircum ] };
257 key <AE07> { [ 7, ampersand, slash, ampersand ] };
258 key <AE08> { [ 8, asterisk, parenleft, asterisk ] };
259 key <AE09> { [ 9, parenleft, parenright, parenleft ] };
260 key <AE10> { [ 0, parenright, equal, parenright ] };
261 key <AE11> { [ minus, underscore, plus, question ] };
262 key <AE12> { [ equal, plus, equal, plus ] };
263
264 key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] };
265 key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] };
266 key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] };
267 key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] };
268 key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] };
269 key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] };
270 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] };
271 key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] };
272 key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] };
273 key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] };
274 key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] };
275 key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] };
276
277 key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] };
278 key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] };
279 key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] };
280 key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] };
281 key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] };
282 key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] };
283 key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] };
284 key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] };
285 key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] };
286 key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
287 key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] };
288
289 key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] };
290 key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] };
291 key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] };
292 key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] };
293 key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] };
294 key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] };
295 key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, m, M ] };
296 key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
297 key <AB09> { [ Cyrillic_yu, Cyrillic_YU, period, greater ] };
298 key <AB10> { [ slash, question, slash, question ] };
299
300 include "level3(ralt_switch)"
301 };
302
303 partial alphanumeric_keys
304 xkb_symbols "ru_nodeadkeys" {
305
306 include "nokia_vndr/su-8w(ru)"
307
308 name[Group1] = "Russian (no dead keys)";
309
310 key <AE06> { [ 6, asciicircum, ampersand, asciicircum ] };
311 };
312
313
314
315 partial alphanumeric_keys default
316 xkb_symbols "us" {
317
318 include "nokia_vndr/su-8w(base)"
319
320 name[Group1]= "U.S. English (international)";
321
322 key <AE01> { [ 1, exclam, exclamdown ] };
323 key <AE02> { [ 2, at, twosuperior ] };
324 key <AE03> { [ 3, numbersign ] };
325 key <AE04> { [ 4, dollar, currency ] };
326 key <AE05> { [ 5, percent, EuroSign ] };
327 key <AE06> { [ 6, asciicircum, onequarter ] };
328 key <AE07> { [ 7, ampersand, onehalf ] };
329 key <AE08> { [ 8, asterisk, threequarters ] };
330 key <AE09> { [ 9, parenleft, leftsinglequotemark ] };
331 key <AE10> { [ 0, parenright, rightsinglequotemark ] };
332 key <AE11> { [ minus, underscore, yen ] };
333 key <AE12> { [ equal, plus, multiply ] };
334
335 key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
336 key <AD02> { [ w, W, aring, Aring ] };
337 key <AD03> { [ e, E, eacute, Eacute ] };
338 key <AD04> { [ r, R, registered ] };
339 key <AD05> { [ t, T, thorn, THORN ] };
340 key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
341 key <AD07> { [ u, U, uacute, Uacute ] };
342 key <AD08> { [ i, I, iacute, Iacute ] };
343 key <AD09> { [ o, O, oacute, Oacute ] };
344 key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
345 key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
346 key <AD12> { [ bracketright, braceright, guillemotright ] };
347
348 key <AC01> { [ a, A, aacute, Aacute ] };
349 key <AC02> { [ s, S, ssharp, section ] };
350 key <AC03> { [ d, D, eth, ETH ] };
351 key <AC04> { [ f, F ] };
352 key <AC05> { [ g, G ] };
353 key <AC06> { [ h, H ] };
354 key <AC07> { [ j, J ] };
355 key <AC08> { [ k, K ] };
356 key <AC09> { [ l, L, oslash, Oslash ] };
357 key <AC10> { [ semicolon, colon, paragraph, degree ] };
358 key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
359
360 key <AB01> { [ z, Z, ae, AE ] };
361 key <AB02> { [ x, X ] };
362 key <AB03> { [ c, C, copyright ] };
363 key <AB04> { [ v, V ] };
364 key <AB05> { [ b, B ] };
365 key <AB06> { [ n, N, ntilde, Ntilde ] };
366 key <AB07> { [ m, M, mu ] };
367 key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
368 key <AB09> { [ period, greater ] };
369 key <AB10> { [ slash, question, questiondown ] };
370
371 include "level3(ralt_switch)"
372 };
373
374 partial alphanumeric_keys
375 xkb_symbols "us_nodeadkeys" {
376
377 include "nokia_vndr/su-8w(us)"
378
379 name[Group1] = "U.S. English (international, no dead keys)";
380
381 key <AC11> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
382 };
383
384
385
386 default partial alphanumeric_keys
387 xkb_symbols "base" {
388
389 // Forked from pc(pc105) -- madness.
390
391 key <ESC> { [ Escape ] };
392
393 key <LSGT> { [ less, greater, bar, brokenbar ] };
394
395 key <BKSL> { [ backslash, bar ] };
396 key <SPCE> { [ space ] };
397
398 key <BKSP> { [ BackSpace ] };
399
400 key <TAB> { [ Tab, ISO_Left_Tab ] };
401 key <RTRN> { [ Return ] };
402
403 // We don't ever generate this key, but the VKB needs it always.
404 key <KPEN> { [ KP_Enter ] };
405 // This is generated from the headset, must always be in the map.
406 key <I29> { [ XF86Phone ] };
407
408 key <CAPS> { [ Caps_Lock ] };
409
410 key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
411
412 key <LFSH> { [ Shift_L ] };
413 key <LCTL> { [ Control_L ] };
414 key <LALT> { [ Alt_L, Meta_L ] };
415 key <LWIN> { [ Super_L ] };
416
417 key <RTSH> { [ Shift_R ] };
418 key <RCTL> { [ Control_R ] };
419 key <RALT> { [ Alt_R, Meta_R ] };
420 key <RWIN> { [ Super_R ] };
421
422 key <MENU> { [ Menu ] };
423
424 key <FK01> { [ F1 ] };
425 key <FK02> { [ F2 ] };
426 key <FK03> { [ F3 ] };
427 key <FK04> { [ F4 ] };
428 key <FK05> { [ F5 ] };
429 key <FK06> { [ F6 ] };
430 key <FK07> { [ F7 ] };
431 key <FK08> { [ F8 ] };
432 key <FK09> { [ F9 ] };
433 key <FK10> { [ F11 ] };
434 key <FK11> { [ F10 ] };
435 key <FK12> { [ F12 ] };
436
437 modifier_map Shift { Shift_L, Shift_R };
438 modifier_map Lock { Caps_Lock };
439 modifier_map Control{ Control_L, Control_R };
440 modifier_map Mod2 { Num_Lock };
441
442 // Fake keys for virtual<->real modifiers mapping:
443 key <LVL3> { [ ISO_Level3_Shift ] };
444 modifier_map Mod5 { <LVL3> };
445
446 key <LVL5> { [ ISO_Level5_Shift ] };
447 modifier_map Mod3 { <LVL5> };
448
449 key <ALT> { [ NoSymbol, Alt_L ] };
450 modifier_map Mod1 { <ALT>, <LALT> };
451
452 key <META> { [ NoSymbol, Meta_L ] };
453 modifier_map Mod1 { <META> };
454
455 key <SUPR> { [ NoSymbol, Super_L ] };
456 modifier_map Mod4 { <SUPR> };
457
458 key <HYPR> { [ NoSymbol, Hyper_L ] };
459 modifier_map Mod4 { <HYPR> };
460
461 key <INS> { [ Insert ] };
462 key <DELE> { [ Delete ] };
463 key <END> { [ End ] };
464 key <UP> { [ Up ] };
465 key <LEFT> { [ Left ] };
466 key <DOWN> { [ Down ] };
467 key <RGHT> { [ Right ] };
468
469 // True for all layouts (except for ru).
470 key <TLDE> { [ grave, asterisk, asciitilde ] };
471
472 // SU-8W uses 140 for Home, not the normal keycode. Very useful.
473 key <HOME> { [ NoSymbol ] };
474 // Ditto LWIN/RWIN and Page Up/Page Down.
475 key <PGUP> { [ none ] };
476 key <PGDN> { [ NoSymbol ] };
477
478 // The Win keys correspond to the 'select left' and 'select right' keys.
479 key <LWIN> { [ Prior ] };
480 key <RWIN> { [ Next ] };
481
482 // <FRNT> = 140 ~ <I140>
483 key <FRNT> { [ Home ] };
484 // <PROP> = 138 ~ <I138>
485 key <PROP> { [ Menu ] };
486 key <I163> { [ XF86Mail ] };
487
488 // Power button.
489 key <I5E> { [ Execute ] };
490 };
491