1// based on a keyboard map from an 'xkb/symbols/no' file 2 3default partial alphanumeric_keys 4xkb_symbols "basic" { 5 6 // Describes the differences between a very simple en_US 7 // keyboard and a Norwegian keyboard with dead key support 8 // and all of ISO-8859-1 characters available. 9 10 include "latin(type2)" 11 12 name[Group1]="Norwegian"; 13 14 key <AB09> { [ period, colon, ellipsis, periodcentered ] }; 15 key <AB10> { [ minus, underscore, endash, emdash ] }; 16 key <AD04> { [ r, R, registered, trademark ] }; 17 key <AD10> { [ p, P, Greek_pi, Greek_PI ] }; 18 key <AE05> { [ 5, percent, onehalf, 0x1002030 ] }; 19 20 key <AE11> { [ plus, question, plusminus, questiondown ] }; 21 key <AE12> { [ backslash, dead_grave, dead_acute, notsign ] }; 22 23 24 key <AC10> { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; 25 key <AC11> { [ ae, AE, dead_circumflex, dead_caron] }; 26 key <TLDE> { [ bar, section, brokenbar, paragraph ] }; 27 28 key <BKSL> { [apostrophe, asterisk, dead_doubleacute, multiply ] }; 29 key <LSGT> { [ less, greater, onehalf, threequarters] }; 30 31 include "nbsp(level3n)" 32 include "keypad(ossmath)" 33 include "kpdl(comma)" 34 35 include "level3(ralt_switch)" 36}; 37 38partial alphanumeric_keys 39xkb_symbols "nodeadkeys" { 40 41 // Modifies the basic Norwegian layout to no dead keys 42 43 include "no(basic)" 44 45 name[Group1]="Norwegian (no dead keys)"; 46 47 key <AE12> { [ backslash, grave, acute, ogonek ] }; 48 key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] }; 49 key <AC10> { [ oslash, Ooblique, acute, doubleacute ] }; 50 key <AC11> { [ ae, AE, asciicircum, caron ] }; 51 key <AB08> { [ comma, semicolon, cedilla, ogonek ] }; 52 key <AB09> { [ period, colon, periodcentered, abovedot ] }; 53}; 54 55partial alphanumeric_keys 56xkb_symbols "winkeys" { 57 58 include "no(basic)" 59 name[Group1]="Norwegian (Windows)"; 60 include "eurosign(5)" 61}; 62 63// Norwegian Dvorak 64partial alphanumeric_keys 65xkb_symbols "dvorak" { 66 include "us(dvorak)" 67 68 name[Group1]="Norwegian (Dvorak)"; 69 70 key <TLDE> { [ bar, section, brokenbar, paragraph ] }; 71 72 key <AE01> { [ 1, exclam, exclamdown, onesuperior ] }; 73 key <AE02> { [ 2, quotedbl, at, twosuperior ] }; 74 key <AE03> { [ 3, numbersign, sterling, threesuperior ] }; 75 key <AE04> { [ 4, currency, dollar, onequarter ] }; 76 key <AE05> { [ 5, percent, onehalf, onehalf ] }; 77 key <AE06> { [ 6, ampersand, threequarters, threequarters ] }; 78 key <AE07> { [ 7, slash, braceleft, division ] }; 79 key <AE08> { [ 8, parenleft, bracketleft ] }; 80 key <AE09> { [ 9, parenright, bracketright ] }; 81 key <AE10> { [ 0, equal, braceright ] }; 82 key <AE11> { [ plus, question, plusminus, questiondown ] }; 83 key <AE12> { [ backslash, grave, dead_acute, dead_grave ] }; 84 85 key <AD01> { [ aring, Aring, braceright, bracketright ] }; 86 key <AD02> { [ comma, semicolon, dead_cedilla, cedilla ] }; 87 key <AD03> { [ period, colon, periodcentered ] }; 88 key <AD04> { [ p, P, thorn, THORN ] }; 89 key <AD05> { [ y, Y, yen ] }; 90 key <AD06> { [ f, F, ordfeminine ] }; 91 key <AD08> { [ c, C, ccedilla, copyright ] }; 92 key <AD09> { [ r, R, registered ] }; 93 key <AD11> { [ apostrophe, asterisk, dead_circumflex, acute ] }; 94 key <AD12> { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] }; 95 96 key <AC03> { [ e, E, EuroSign, cent ] }; 97 key <AC05> { [ i, I, idotless, Iabovedot] }; 98 key <AC06> { [ d, D, eth, ETH ] }; 99 key <AC10> { [ s, S, ssharp, U1E9E ] }; 100 key <AC11> { [ minus, underscore, hyphen, diaeresis] }; 101 102 key <AB01> { [ ae, AE, braceleft, bracketleft] }; 103 key <AB05> { [ x, X, multiply ] }; 104 key <AB07> { [ m, M, mu ] }; 105 key <BKSL> { [ less, greater, guillemotleft, guillemotright ] }; 106 107 key <SPCE> { [ space, space, nobreakspace, nobreakspace] }; 108 109 key <LSGT> { [ oslash, Ooblique, bar, backslash ] }; 110 111 // fixed https://bugs.freedesktop.org/show_bug.cgi?id=4397 112 include "level3(ralt_switch)" 113}; 114 115partial alphanumeric_keys 116xkb_symbols "smi" { 117 118 // Northern Sami keyboards for Finland, Norway and Sweden 119 // 120 // Describes the differences between a very simple en_US 121 // keyboard and a Norwegian Northern Sami keyboard (with 122 // dead-key support) according to the spec on 123 // http://www.hum.uit.no/a/trond/se-lat9-no-keys.html 124 // Written by Børre Gaup <boerre.gaup@pc.nu>. 125 126 include "latin" 127 128 name[Group1]= "Northern Saami (Norway)"; 129 130 key <AE01> { [ 1, exclam, copyright, exclamdown ] }; 131 key <AE02> { [ 2, quotedbl, at, registered ] }; 132 key <AE03> { [ 3, numbersign, sterling, less ] }; 133 key <AE04> { [ 4, dollar, dollar, greater ] }; 134 key <AE05> { [ 5, percent, U2022, U2030 ] }; 135 key <AE06> { [ 6, ampersand, section, paragraph ] }; 136 key <AE07> { [ 7, slash, braceleft, bar ] }; 137 key <AE08> { [ 8, parenleft, bracketleft, braceleft ] }; 138 key <AE09> { [ 9, parenright, bracketright, braceright ] }; 139 key <AE10> { [ 0, equal, braceright, notequal ] }; 140 key <AE11> { [ plus, question, division, questiondown ] }; 141 key <AE12> { [ backslash, grave, acute, asciitilde ] }; 142 143 key <AD01> { [ aacute, Aacute, q, Q ] }; 144 key <AD02> { [ scaron, Scaron, w, W ] }; 145 key <AD03> { [ e, E, eacute, Eacute ] }; 146 key <AD04> { [ r, R, registered, trademark ] }; 147 key <AD06> { [ y, Y, yacute, Yacute ] }; 148 key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; 149 key <AD08> { [ i, I, idiaeresis, Idiaeresis ] }; 150 key <AD09> { [ o, O, oe, OE ] }; 151 key <AD11> { [ aring, Aring, acircumflex, Acircumflex ] }; 152 key <AD12> { [ eng, ENG, quotedbl, asciicircum ] }; 153 154 key <AC01> { [ a, A, agrave, Agrave ] }; 155 key <AC02> { [ s, S, ssharp, apostrophe ] }; 156 key <AC04> { [ f, F, ordfeminine, ordfeminine ] }; 157 key <AC05> { [ g, G, gcaron, Gcaron ] }; 158 key <AC06> { [ h, H, U01E5, U01E4 ] }; 159 key <AC07> { [ j, J, notsign, multiply ] }; 160 key <AC08> { [ k, K, U01E9, U01E8 ] }; 161 key <AC09> { [ l, L, degree, hyphen ] }; 162 key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; 163 key <AC11> { [ ae, AE, adiaeresis, Adiaeresis ] }; 164 key <TLDE> { [ bar, section, brokenbar, paragraph ] }; 165 166 key <BKSL> { [ dstroke, Dstroke, apostrophe, asterisk ] }; 167 key <AB01> { [ z, Z, U0292, U01B7 ] }; 168 key <AB02> { [ ccaron, Ccaron, x, X ] }; 169 key <AB03> { [ c, C, ccedilla, Ccedilla ] }; 170 key <AB04> { [ v, V, lessthanequal, guillemotleft ] }; 171 key <AB05> { [ b, B, greaterthanequal, guillemotright ] }; 172 key <AB06> { [ n, N, leftsinglequotemark, leftdoublequotemark ] }; 173 key <AB07> { [ m, M, rightsinglequotemark, rightdoublequotemark ] }; 174 key <AB08> { [ comma, semicolon, singlelowquotemark, doublelowquotemark ] }; 175 key <AB09> { [ period, colon, ellipsis, periodcentered ] }; 176 key <AB10> { [ minus, underscore, endash, emdash ] }; 177 178 key <LSGT> { type[Group1] = "FOUR_LEVEL", 179 [ zcaron, Zcaron, U01EF, U01EE ] }; 180 181 include "level3(ralt_switch)" 182}; 183 184partial alphanumeric_keys 185xkb_symbols "smi_nodeadkeys" { 186 187 // Modifies the basic Norwegian layout to no dead keys 188 189 include "no(smi)" 190 191 name[Group1]= "Northern Saami (Norway, no dead keys)"; 192 193 key <AE12> { [ backslash, grave, acute, ogonek ] }; 194}; 195 196// Copied from macintosh_vndr/no 197partial alphanumeric_keys 198xkb_symbols "mac" { 199 200 // Describes the differences between a very simple en_US 201 // keyboard and a very simple Norwegian keyboard. 202 203 include "latin(type4)" 204 name[Group1]= "Norwegian (Macintosh)"; 205 206 key <TLDE> { [ bar, section ] }; 207 key <AE03> { [ 3, numbersign, sterling, sterling ] }; 208 key <AE04> { [ 4, currency, dollar, dollar ] }; 209 key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] }; 210 key <AE07> { [ 7, slash, bar, backslash ] }; 211 key <AE08> { [ 8, parenleft, bracketleft, braceleft ] }; 212 key <AE09> { [ 9, parenright, bracketright, braceright ] }; 213 key <AC10> { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; 214 key <AE11> { [ plus, question ] }; 215 key <AC11> { [ ae, AE ] }; 216 key <AD11> { [ aring, Aring ] }; 217 key <AE12> { [ dead_grave, dead_acute, acute, dead_ogonek ] }; 218 key <AD12> { [ diaeresis, asciicircum, asciitilde, dead_macron ] }; 219 key <BKSL> { [ at, asterisk ] }; 220}; 221 222partial alphanumeric_keys 223xkb_symbols "mac_nodeadkeys" { 224 225 // Modifies the basic Norwegian layout to no dead keys 226 include "no(mac)" 227 name[Group1]= "Norwegian (Macintosh, no dead keys)"; 228 229 key <AE12> { [ grave, acute, acute, ogonek ] }; 230 key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] }; 231}; 232 233partial alphanumeric_keys 234xkb_symbols "colemak" { 235 236 // Colemak layout - http://colemak.com/ 237 // Q W F P G J L U Y Ø Å ¨ 238 // A R S T D H N E I O Æ ' 239 // < Z X C V B K M , . - 240 include "no(basic)" 241 name[Group1]= "Norwegian (Colemak)"; 242 243 key <AB06> { [ k, K, kra, ampersand ] }; 244 key <AC02> { [ r, R, registered, trademark ] }; 245 key <AC03> { [ s, S, ssharp, section ] }; 246 key <AC04> { [ t, T, thorn, THORN ] }; 247 key <AC05> { [ d, D, eth, ETH ] }; 248 key <AC07> { [ n, N ] }; 249 key <AC08> { [ e, E, EuroSign, cent ] }; 250 key <AC09> { [ i, I, rightarrow, idotless ] }; 251 key <AC10> { [ o, O, oe, OE ] }; 252 key <AD03> { [ f, F, dstroke, ordfeminine ] }; 253 key <AD04> { [ p, P, Greek_pi, Greek_PI ] }; 254 key <AD05> { [ g, G, eng, ENG ] }; 255 key <AD06> { [ j, J ] }; 256 key <AD07> { [ l, L, lstroke, Lstroke ] }; 257 key <AD08> { [ u, U, downarrow, uparrow ] }; 258 key <AD09> { [ y, Y, leftarrow, yen ] }; 259 key <AD10> { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; 260}; 261 262// EXTRAS: 263 264partial alphanumeric_keys 265 xkb_symbols "sun_type6" { 266 include "sun_vndr/no(sun_type6)" 267}; 268