// 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 // // $XFree86$ // // Quick usage // For a Norwegian Northern Sami setup: // setxkbmap -layout sapmi // For a Swedish/Finnish Northern Sami setup: // setxkbmap -layout "sapmi(sefi)" // For a Swedish/Finnish Northern Sami setup, with an en_US keyboard as Group3: // setxkbmap "sapmi(sefi)+us_group3" partial alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Sámegiella"; key { [ bar, section ], [ brokenbar, paragraph ]}; key { [ 1, exclam ], [ copyright, exclamdown ]}; key { [ 2, quotedbl ], [ at, registered ]}; key { [ 3, numbersign ], [ sterling, less ]}; key { [ 4, dollar ], [ dollar, greater ]}; // 0x2022 BULLET and 0x2030 PER MILLE SIGN key { [ 5, percent ], [ 0x01002022, 0x01002030 ]}; 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 { [ t, T ], [ tslash, Tslash ]}; key { [ y, Y ], [ yacute, Yacute ]}; key { [ u, U ], [ udiaeresis, Udiaeresis ]}; key { [ i, I ], [ idiaeresis, Idiaeresis ]}; key { [ o, O ], [ oe, OE ]}; key { [ p, P ], [ thorn, THORN ]}; key { [ aring, Aring ], [ acircumflex, Acircumflex ]}; key { [ eng, ENG ], [ quotedbl, asciicircum ]}; key { [ a, A ], [ agrave, Agrave ]}; key { [ s, S ], [ ssharp, apostrophe ]}; key { [ d, D ], [ eth, ETH ]}; key { [ f, F ], [ ordfeminine, ordfeminine ]}; key { [ g, G ], [ gcaron, Gcaron ]}; // 0x01e5 LATIN SMALL LETTER G WITH STROKE and // 0x01e4 LATIN CAPITAL LETTER G WITH STROKE key { [ h, H ], [ 0x010001e5, 0x010001e4 ]}; key { [ j, J ], [ notsign, multiply ]}; // 0x01e9 LATIN SMALL LETTER K WITH CARON and // 0x01e8 LATIN CAPITAL LETTER K WITH CARON key { [ k, K ], [ 0x010001e9, 0x010001e8 ]}; key { [ l, L ], [ degree, hyphen ]}; key { [ oslash, Ooblique ], [ odiaeresis, Odiaeresis ]}; key { [ ae, AE ], [ adiaeresis, Adiaeresis ]}; key { [ dstroke, Dstroke ], [ apostrophe, asterisk ]}; // 0x01ef LATIN SMALL LETTER EZH WITH CARON and // 0x01ee LATIN CAPITAL LETTER EZH WITH CARON key { [ zcaron, Zcaron ], [ 0x010001ef, 0x010001ee ]}; // 0x0292 LATIN SMALL LETTER EZH and // 0x01b7 LATIN CAPITAL LETTER EZH key { [ z, Z ], [ 0x01000292, 0x010001b7 ]}; 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 { [ space, space ], [ nobreakspace, nobreakspace ]}; // End alphanumeric section // begin modifier mappings modifier_map Shift { Shift_L }; modifier_map Lock { Caps_Lock }; modifier_map Control{ Control_L }; modifier_map Mod3 { Mode_switch }; }; xkb_symbols "sefi" { // Describes the differences between a Norwegian Northern Sami // (keyboard with dead key support) and a Swedish/Finnish Sami // keyboard according to the specs at: // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html name[Group1]= "Sámegiella"; include "sapmi(basic)" key { [ odiaeresis, Odiaeresis ], [ oslash, Ooblique ]}; key { [ adiaeresis, Adiaeresis ], [ ae, AE ]}; }; partial alphanumeric_keys xkb_symbols "Sundeadkeys" { // For naming consistency include "sapmi(basic)" }; partial alphanumeric_keys xkb_symbols "sundeadkeys" { // For naming consistency include "sapmi(Sundeadkeys)" }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { // Modifies the basic Norwegian layout to eliminate dead keys include "sapmi(basic)" key { [ backslash, grave ], [ acute, ogonek ] }; };