// based on a keyboard map from an 'xkb/symbols/se' file
//
// $XKeyboardConfig$
// $XFree86: xc/programs/xkbcomp/symbols/se,v 1.5 2003/01/26 02:01:48 dawes Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {
    include "latin(type2)"
    include "se(se)"
};

partial alphanumeric_keys
xkb_symbols "se" {

    name[Group1]="Sweden";

    key <AE05>	{ [         5,    percent,     EuroSign,         cent ]	};
    key <AE11>	{ [      plus,   question,    backslash, questiondown ]	};
    key <AE12>	{ [dead_acute, dead_grave,    plusminus,      notsign ]	};


    key <AC10>	{ [odiaeresis, Odiaeresis,       oslash,     Ooblique ]	};
    key <AC11>	{ [adiaeresis, Adiaeresis,           ae,           AE ]	};
    key <TLDE>	{ [   section,    onehalf,    paragraph, threequarters]	};

    key <BKSL>	{ [apostrophe,   asterisk,        acute,     multiply ]	};

    key <SPCE>	{ [     space,      space,        space, nobreakspace ]	};

    key <LSGT> { [ less,	greater,		bar,	bar ] };
    include "kpdl(comma)"

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

    // Modifies the basic Swedish layout to eliminate all dead keys

    include "latin(type2)"
    include "latin(type2_nodeadkeys)"
    include "se(se)"

    name[Group1]="Sweden - Eliminate dead keys";

    key <AE12>	{ [     acute,      grave,    plusminus,      notsign ]	};

};

// Swedish Dvorak
partial alphanumeric_keys 
xkb_symbols "dvorak" {

    name[Group1]="Sweden - Dvorak";

    include "se(basic)"

    key <AD01> { [     aring,      Aring,    backslash		     ]	};
    key <AD02> { [  adiaeresis,	Adiaeresis,  braceleft,  bracketleft ]	};
    key <AD03> { [ odiaeresis, Odiaeresis,  braceright, bracketright ]	};
    key <AD04> { [         p,          P,        thorn,        THORN ]	};
    key <AD05> { [         y,          Y,    leftarrow,          yen ]	};
    key <AD06> { [         f,          F,      dstroke,  ordfeminine ]	};
    key <AD07> { [         g,          G,          eng,          ENG ]	};
    key <AD08> { [         c,          C,    copyright,    copyright ]	};
    key <AD09> { [         r,          R,   registered,   registered ]	};
    key <AD10> { [         l,          L,      lstroke,      Lstroke ]	};
    key <AD11> { [     comma,  semicolon, dead_cedilla,  dead_ogonek ]	};
    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde,	asciicircum	]	};

    key <AC01> { [         a,          A,           ae,           AE ]	};
    key <AC02> { [         o,          O,           oe,           OE ]	};
    key <AC03> { [         e,          E,     EuroSign,         cent ]	};
    key <AC04> { [         u,          U,    downarrow,      uparrow ]	};
    key <AC05> { [         i,          I,   rightarrow,     idotless ]	};
    key <AC06> { [         d,          D,          eth,          ETH ]	};
    key <AC07> { [         h,          H,      hstroke,      Hstroke ]	};
    key <AC08> { [         t,          T,       tslash,       Tslash ]	};
    key <AC09> { [         n,          N ]	};
    key <AC10> { [         s,          S,       ssharp,      section ]	};
    key <AC11> { [     minus, underscore, dead_belowdot, dead_abovedot ] };

    key <AB01> { [    period,   colon, periodcentered, dead_abovedot ]	};
    key <AB02> { [         q,          Q,           at,  Greek_OMEGA ]	};
    key <AB03> { [         j,          J ]	};
    key <AB04> { [         k,          K,          kra,    ampersand ]	};
    key <AB05> { [         x,          X, guillemotright,    greater ]	};
    key <AB06> { [         b,          B, rightdoublequotemark, apostrophe ] };
    key <AB07> { [         m,          M,           mu,    masculine ]	};
    key <AB08> { [         w,          W,      lstroke,      Lstroke ]	};
    key <AB09> { [         v,          V, leftdoublequotemark, grave ]	};
    key <AB10> { [         z,          Z, guillemotleft,        less ]	};
};

// Ivan Popov, 2005-07-17
// phonetic layout for Russian cyrillic letters
// on Swedish (latin type2) keyboards

// level3 modifier is a shortcut to the "se" meaning of the keys where
// we place cyrillic letters, handy for accessing the corresponding
// punctuation marks.
// It is important to have access to punctuation marks, and the rest of
// alphabetical keys are added for being consequent so that the users
// can expect the level3 modifier to give what the key label shows.

partial alphanumeric_keys
xkb_symbols "rus" {
    include "se(basic)"

    name[Group1]="Sweden - Russian phonetic";
    key.type[group1]="ALPHABETIC";

    key <TLDE> {	[ Cyrillic_io, Cyrillic_IO ]	};
    key <AE12> {	[ Cyrillic_hardsign, Cyrillic_HARDSIGN ]	};

    key <AD01> {	[ Cyrillic_ya, Cyrillic_YA ]	};
    key <AD02> {	[ Cyrillic_ve, Cyrillic_VE ]	};
    key <AD03> {	[ Cyrillic_ie, Cyrillic_IE ]	};
    key <AD04> {	[ Cyrillic_er, Cyrillic_ER ]	};
    key <AD05> {	[ Cyrillic_te, Cyrillic_TE ]	};
    key <AD06> {	[ Cyrillic_yeru, Cyrillic_YERU ]	};
    key <AD07> {	[ Cyrillic_u, Cyrillic_U ]	};
    key <AD08> {	[ Cyrillic_i, Cyrillic_I ]	};
    key <AD09> {	[ Cyrillic_o, Cyrillic_O ]	};
    key <AD10> {	[ Cyrillic_pe, Cyrillic_PE ]	};
    key <AD11> {	[ Cyrillic_e, Cyrillic_E ]	};

    key <AC01> {	[ Cyrillic_a, Cyrillic_A ]	};
    key <AC02> {	[ Cyrillic_es, Cyrillic_ES ]	};
    key <AC03> {	[ Cyrillic_de, Cyrillic_DE ]	};
    key <AC04> {	[ Cyrillic_ef, Cyrillic_EF ]	};
    key <AC05> {	[ Cyrillic_ghe, Cyrillic_GHE ]	};
    key <AC06> {	[ Cyrillic_ha, Cyrillic_HA ]	};
    key <AC07> {	[ Cyrillic_shorti, Cyrillic_SHORTI ]	};
    key <AC08> {	[ Cyrillic_ka, Cyrillic_KA ]	};
    key <AC09> {	[ Cyrillic_el, Cyrillic_EL ]	};
    key <AC10> {	[ Cyrillic_sha, Cyrillic_SHA ]	};
    key <AC11> {	[ Cyrillic_shcha, Cyrillic_SHCHA ]	};
    key <BKSL> {	[ Cyrillic_yu, Cyrillic_YU ]	};

    key <LSGT> {	[ Cyrillic_che, Cyrillic_CHE ]	};
    key <AB01> {	[ Cyrillic_ze, Cyrillic_ZE ]	};
    key <AB02> {	[ Cyrillic_softsign, Cyrillic_SOFTSIGN ]	};
    key <AB03> {	[ Cyrillic_tse, Cyrillic_TSE ]	};
    key <AB04> {	[ Cyrillic_zhe, Cyrillic_ZHE ]	};
    key <AB05> {	[ Cyrillic_be, Cyrillic_BE ]	};
    key <AB06> {	[ Cyrillic_en, Cyrillic_EN ]	};
    key <AB07> {	[ Cyrillic_em, Cyrillic_EM ]	};
};

partial alphanumeric_keys
xkb_symbols "rus_nodeadkeys" {

    include "se(nodeadkeys)"
    include "se(rus)"

    name[Group1]="Sweden - Russian phonetic, eliminate dead keys";

    key <AE12> {	[ Cyrillic_hardsign, Cyrillic_HARDSIGN ]	};
};

xkb_symbols "smi" {

    // 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

    include "fi(smi)"

    name[Group1]= "Sweden - Northern Saami";
};

// Copied from macintosh_vndr/se
partial alphanumeric_keys 
xkb_symbols "mac" {

    // Describes the differences between a very simple en_US
    // keyboard and a very simple Swedish(Sweden) keybaord

    include "latin"
    name[Group1]= "Sweden - Macintosh";

    key <TLDE> {	[         section,         degree	]	};
    key <AE01> {	[               1,          exclam,        copyright,      exclamdown	]	};
    key <AE02> {	[               2,        quotedbl, 	       at,	 oneeighth	]	};
    key <AE03> {	[               3,      numbersign,         sterling,             yen	]	};
    key <AE04> {	[               4,        currency, 	   dollar,	      cent	]	};
    key <AE06> {	[               6,       ampersand     	]	};
    key <AE07> {	[               7,           slash, 	      bar,       backslash	]	};
    key <AE08> {	[               8,       parenleft,      bracketleft,       braceleft	]	};
    key <AE09> {	[               9,      parenright,     bracketright,      braceright	]	};
    key <AB08> {	[           comma,       semicolon     	]	};
    key <AE10> {	[               0,           equal     	]	};
    key <AB09> {	[          period,           colon     	]	};
    key <AB10> {	[           minus,      underscore     	]	};
    key	<AC10> {	[      odiaeresis,      Odiaeresis, 	   oslash,	    Ooblique	]	};
    key <AE11> {	[            plus,        question      ]	};
    key <AC11> {	[      adiaeresis,      Adiaeresis,               ae,		AE	]	};
    key <AD11> {	[	    aring,           Aring     	]	};
    key <AE12> {	[           acute,           grave	]	};
    key <AD12> {	[       diaeresis,     asciicircum, 	asciitilde			]	};
    key <BKSL> {	[      apostrophe,        asterisk,               at			]	};

    include "kpdl(comma)"
    include "level3(ralt_switch)"
};

// Svdvorak
// This version of Dvorak follows danish and norwegian style in hope for a
// Scandinavian standard.
partial alphanumeric_keys
xkb_symbols "svdvorak" {

   name[Group1]="Sweden - Svdvorak";

   include "se(basic)"

   key <AD01> { [ aring, Aring, braceleft ] };
   key <AD02> { [ comma, semicolon, bracketleft ] };
   key <AD03> { [ period, colon, bracketright ] };
   key <AD04> { [ p, P, braceright ] };
   key <AD05> { [ y, Y ] };
   key <AD06> { [ f, F ] };
   key <AD07> { [ g, G ] };
   key <AD08> { [ c, C ] };
   key <AD09> { [ r, R ] };
   key <AD10> { [ l, L ] };
   key <AD11> { [ apostrophe, asterisk ] };

   key <AC01> { [ a, A ] };
   key <AC02> { [ o, O, parenleft ] };
   key <AC03> { [ e, E, parenright ] };
   key <AC04> { [ u, U ] };
   key <AC05> { [ i, I ] };
   key <AC06> { [ d, D ] };
   key <AC07> { [ h, H ] };
   key <AC08> { [ t, T ] };
   key <AC09> { [ n, N ] };
   key <AC10> { [ s, S, ssharp ] };
   key <AC11> { [ minus, underscore ] };
   key <BKSL> { [ less, greater, bar ] };

   key <LSGT> { [ odiaeresis, Odiaeresis ] };
   key <AB01> { [ adiaeresis, Adiaeresis ] };
   key <AB02> { [ q, Q ] };
   key <AB03> { [ j, J ] };
   key <AB04> { [ k, K ] };
   key <AB05> { [ x, X ] };
   key <AB06> { [ b, B ] };
   key <AB07> { [ m, M ] };
   key <AB08> { [ w, W ] };
   key <AB09> { [ v, V ] };
   key <AB10> { [ z, Z ] };
};