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