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