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