// based on a keyboard map from an 'xkb/symbols/no' file default partial alphanumeric_keys xkb_symbols "basic" { // Describes the differences between a very simple en_US // keyboard and a Norwegian keyboard with dead key support // and all of ISO-8859-1 characters available. include "latin(type2)" name[Group1]="Norwegian"; key { [ period, colon, ellipsis, periodcentered ] }; key { [ minus, underscore, endash, emdash ] }; key { [ r, R, registered, trademark ] }; key { [ p, P, Greek_pi, Greek_PI ] }; key { [ 5, percent, onehalf, 0x1002030 ] }; key { [ plus, question, plusminus, questiondown ] }; key { [ backslash, dead_grave, dead_acute, notsign ] }; key { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; key { [ ae, AE, dead_circumflex, dead_caron] }; key { [ bar, section, brokenbar, paragraph ] }; key { [apostrophe, asterisk, dead_doubleacute, multiply ] }; key { [ less, greater, onehalf, threequarters] }; include "nbsp(level3n)" include "keypad(ossmath)" include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { // Modifies the basic Norwegian layout to no dead keys include "no(basic)" name[Group1]="Norwegian (no dead keys)"; key { [ backslash, grave, acute, ogonek ] }; key { [ diaeresis, asciicircum, asciitilde, macron ] }; key { [ oslash, Ooblique, acute, doubleacute ] }; key { [ ae, AE, asciicircum, caron ] }; key { [ comma, semicolon, cedilla, ogonek ] }; key { [ period, colon, periodcentered, abovedot ] }; }; partial alphanumeric_keys xkb_symbols "winkeys" { include "no(basic)" name[Group1]="Norwegian (Win keys)"; include "eurosign(5)" }; // Norwegian Dvorak partial alphanumeric_keys xkb_symbols "dvorak" { include "us(dvorak)" name[Group1]="Norwegian (Dvorak)"; key { [ bar, section, brokenbar, paragraph ] }; key { [ 1, exclam, exclamdown, onesuperior ] }; key { [ 2, quotedbl, at, twosuperior ] }; key { [ 3, numbersign, sterling, threesuperior ] }; key { [ 4, currency, dollar, onequarter ] }; key { [ 5, percent, onehalf, onehalf ] }; key { [ 6, ampersand, threequarters, threequarters ] }; key { [ 7, slash, braceleft, division ] }; key { [ 8, parenleft, bracketleft ] }; key { [ 9, parenright, bracketright ] }; key { [ 0, equal, braceright ] }; key { [ plus, question, plusminus, questiondown ] }; key { [ backslash, grave, dead_acute, dead_grave ] }; key { [ aring, Aring, braceright, bracketright ] }; key { [ comma, semicolon, dead_cedilla, cedilla ] }; key { [ period, colon, periodcentered ] }; key { [ p, P, thorn, THORN ] }; key { [ y, Y, yen ] }; key { [ f, F, ordfeminine ] }; key { [ c, C, ccedilla, copyright ] }; key { [ r, R, registered ] }; key { [ apostrophe, asterisk, dead_circumflex, acute ] }; key { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] }; key { [ e, E, EuroSign, cent ] }; key { [ i, I, idotless, Iabovedot] }; key { [ d, D, eth, ETH ] }; key { [ s, S, ssharp ] }; key { [ minus, underscore, hyphen, diaeresis] }; key { [ ae, AE, braceleft, bracketleft] }; key { [ x, X, multiply ] }; key { [ m, M, mu ] }; key { [ less, greater, guillemotleft, guillemotright ] }; key { [ space, space, nobreakspace, nobreakspace] }; key { [ oslash, Ooblique, bar, backslash ] }; // fixed https://bugs.freedesktop.org/show_bug.cgi?id=4397 include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "smi" { // Northern Sami keyboards for Finland, Norway and Sweden // // Describes the differences between a very simple en_US // keyboard and a Norwegian Northern Sami keyboard (with // dead-key support) according to the spec on // http://www.hum.uit.no/a/trond/se-lat9-no-keys.html // Written by Børre Gaup . include "latin" name[Group1]= "Northern Saami (Norway)"; key { [ 1, exclam, copyright, exclamdown ] }; key { [ 2, quotedbl, at, registered ] }; key { [ 3, numbersign, sterling, less ] }; key { [ 4, dollar, dollar, greater ] }; key { [ 5, percent, U2022, U2030 ] }; key { [ 6, ampersand, section, paragraph ] }; key { [ 7, slash, braceleft, bar ] }; key { [ 8, parenleft, bracketleft, braceleft ] }; key { [ 9, parenright, bracketright, braceright ] }; key { [ 0, equal, braceright, notequal ] }; key { [ plus, question, division, questiondown ] }; key { [ backslash, grave, acute, asciitilde ] }; key { [ aacute, Aacute, q, Q ] }; key { [ scaron, Scaron, w, W ] }; key { [ e, E, eacute, Eacute ] }; key { [ r, R, registered, trademark ] }; key { [ y, Y, yacute, Yacute ] }; key { [ u, U, udiaeresis, Udiaeresis ] }; key { [ i, I, idiaeresis, Idiaeresis ] }; key { [ o, O, oe, OE ] }; key { [ aring, Aring, acircumflex, Acircumflex ] }; key { [ eng, ENG, quotedbl, asciicircum ] }; key { [ a, A, agrave, Agrave ] }; key { [ s, S, ssharp, apostrophe ] }; key { [ f, F, ordfeminine, ordfeminine ] }; key { [ g, G, gcaron, Gcaron ] }; key { [ h, H, U01E5, U01E4 ] }; key { [ j, J, notsign, multiply ] }; key { [ k, K, U01E9, U01E8 ] }; key { [ l, L, degree, hyphen ] }; key { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; key { [ ae, AE, adiaeresis, Adiaeresis ] }; key { [ bar, section, brokenbar, paragraph ] }; key { [ dstroke, Dstroke, apostrophe, asterisk ] }; key { [ z, Z, U0292, U01B7 ] }; key { [ ccaron, Ccaron, x, X ] }; key { [ c, C, ccedilla, Ccedilla ] }; key { [ v, V, lessthanequal, guillemotleft ] }; key { [ b, B, greaterthanequal, guillemotright ] }; key { [ n, N, leftsinglequotemark, leftdoublequotemark ] }; key { [ m, M, rightsinglequotemark, rightdoublequotemark ] }; key { [ comma, semicolon, singlelowquotemark, doublelowquotemark ] }; key { [ period, colon, ellipsis, periodcentered ] }; key { [ minus, underscore, endash, emdash ] }; key { type[Group1] = "FOUR_LEVEL", [ zcaron, Zcaron, U01EF, U01EE ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "smi_nodeadkeys" { // Modifies the basic Norwegian layout to no dead keys include "no(smi)" name[Group1]= "Northern Saami (Norway, no dead keys)"; key { [ backslash, grave, acute, ogonek ] }; }; // Copied from macintosh_vndr/no partial alphanumeric_keys xkb_symbols "mac" { // Describes the differences between a very simple en_US // keyboard and a very simple Norwegian keyboard. include "latin(type4)" name[Group1]= "Norwegian (Macintosh)"; key { [ bar, section ] }; key { [ 3, numbersign, sterling, sterling ] }; key { [ 4, currency, dollar, dollar ] }; key { [ 6, ampersand, threequarters, fiveeighths ] }; key { [ 7, slash, bar, backslash ] }; key { [ 8, parenleft, bracketleft, braceleft ] }; key { [ 9, parenright, bracketright, braceright ] }; key { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; key { [ plus, question ] }; key { [ ae, AE ] }; key { [ aring, Aring ] }; key { [ dead_grave, dead_acute, acute, dead_ogonek ] }; key { [ diaeresis, asciicircum, asciitilde, dead_macron ] }; key { [ at, asterisk ] }; }; partial alphanumeric_keys xkb_symbols "mac_nodeadkeys" { // Modifies the basic Norwegian layout to no dead keys include "no(mac)" name[Group1]= "Norwegian (Macintosh, no dead keys)"; key { [ grave, acute, acute, ogonek ] }; key { [ diaeresis, asciicircum, asciitilde, macron ] }; }; partial alphanumeric_keys xkb_symbols "colemak" { // Colemak layout - http://colemak.com/ // Q W F P G J L U Y Ø Å ¨ // A R S T D H N E I O Æ ' // < Z X C V B K M , . - include "no(basic)" name[Group1]= "Norwegian (Colemak)"; key { [ k, K, kra, ampersand ] }; key { [ r, R, registered, trademark ] }; key { [ s, S, ssharp, section ] }; key { [ t, T, thorn, THORN ] }; key { [ d, D, eth, ETH ] }; key { [ n, N ] }; key { [ e, E, EuroSign, cent ] }; key { [ i, I, rightarrow, idotless ] }; key { [ o, O, oe, OE ] }; key { [ f, F, dstroke, ordfeminine ] }; key { [ p, P, Greek_pi, Greek_PI ] }; key { [ g, G, eng, ENG ] }; key { [ j, J ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ u, U, downarrow, uparrow ] }; key { [ y, Y, leftarrow, yen ] }; key { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/no(sun_type6)" }; // --> OEystein "DreymaR" Bech-Aase (formerly Bech Gadmar), 2012-01: Additions to xkb/symbols/no // Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Norwegian. // 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout. // See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales // The 'keep local symbols' variant keeps the national symbol and special letter setup. partial alphanumeric_keys xkb_symbols "cmk_ed_ks" { include "no(basic)" include "colemak(cmk_ed_letters)" name[Group1]= "Norwegian (Colemak[eD], keep local symbols)"; // NOTE: Symbols on letter keys may be lost in cmk_ed_ks if they are not on Colemak[eD] letter keys. // EuroSign is often on 'E'. The latin(intl) and locale(winkeys) layout variants use '5'. // Colemak[eD] has EuroSign on 'E' and mu on '5'. // key { [ NoSymbol, NoSymbol, mu, onehalf ] }; // key { [ NoSymbol, NoSymbol, EuroSign, onehalf ] }; // onehalf is moved, permille is lost key { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; // from }; // The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard. // For Norwegian, necessary local letters are added to designated flexible spots in the layout. // For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown. partial alphanumeric_keys xkb_symbols "cmk_ed_us" { include "colemak(cmk_ed_letters)" include "colemak(cmk_ed_symbols)" include "level3(ralt_switch)" name[Group1]= "Norwegian (Colemak[eD], unified symbols)"; // key { [ bracketleft, braceleft, aring, Aring ] }; // key { [ bracketright, braceright, ae, AE ] }; key { [ aring, Aring, bracketleft, braceleft ] }; // from key { [ ae, AE, bracketright, braceright ] }; // from key { [ oslash, Ooblique, oe, OE ] }; // from // NOTE: The Scandinavian layouts (dk/fi/no/se) have been harmonized. This shouldn't affect typing efficiency. }; // <-- DreymaR: Additions to xkb/symbols/no