// based on a keyboard map from an 'xkb/symbols/fi' file
//
// $XFree86: xc/programs/xkbcomp/symbols/pc/fi,v 1.9 2003/01/29 17:17:31 dawes Exp $


partial default alphanumeric_keys
xkb_symbols "basic" {
    include "pc/latin(type2)"
    include "pc/fi(fi)"
};

partial alphanumeric_keys
xkb_symbols "fi" {

    // a Finnish keyboard with dead key support and all of
    // ISO-8859-1 and ISO-8859-15 characters available.

    name[Group1]="Finnish";

    key <TLDE> { [ section,    onehalf,     onequarter,   threequarters	] };
    key <LSGT> { [    less,    greater,            bar,       brokenbar	] };
    // AltGr+<SPCE> is pressed accidentally too often after AltGr+<LSGT>,
    // hence AltGr+<SPCE> produces now space, not nobreakspace.
    key <SPCE> { [   space,      space,          space,    nobreakspace	] };
    key <AE01> { [       1,     exclam,     exclamdown,     onesuperior	] };
    key <AE02> { [       2,   quotedbl,             at,     twosuperior	] };
    key <AE03> { [     	 3, numbersign,       sterling,   threesuperior	] };
    key <AE04> { [       4,   currency,         dollar,	           cent	] };
    key <AE05> { [       5,    percent,       EuroSign,	      masculine	] };
    key <AE06> { [       6,  ampersand,            yen,     ordfeminine	] };
    key <AE07> { [       7,      slash,      braceleft,       plusminus	] };
    key <AE08> { [       8,  parenleft,    bracketleft,   guillemotleft	] };
    key <AE09> { [       9, parenright,   bracketright,  guillemotright	] };
    key <AE10> { [       0,      equal,     braceright,          degree	] };
    key <AB09> { [  period,      colon, periodcentered,         notsign	] };
    key <AB01> { [       z,          Z,         zcaron,	         Zcaron	] };
    key <AB02> { [       x,          X,       multiply,	       division	] };
    key <AB03> { [       c,          C,      copyright,	           cent	] };
    key <AB05> { [       b,          B,         ssharp,        NoSymbol	] };
    key <AB06> { [       n,          N,         ntilde,	         Ntilde	] };
    key <AB07> { [       m,          M,             mu,	       NoSymbol	] };
    key <AB10> { [   minus, underscore,         hyphen,          macron	] };
    key <AC02> { [       s,          S,         scaron,          Scaron	] };
    key <AC03> { [       d,          D,            eth,             ETH	] };
    key <AD03> { [       e,          E,       EuroSign,            cent	] };
    key <AD04> { [       r,          R,     registered,        NoSymbol	] };
    key <AD05> { [       t,          T,          thorn,           THORN	] };
    key <AD10> { [       p,          P,      paragraph,        NoSymbol	] };
    key <AC10> { [ odiaeresis, Odiaeresis,      oslash,        Ooblique	] };
    key <AE11> { [    plus,      question,   backslash,    questiondown	] };
    key	<AC11> { [ adiaeresis, Adiaeresis,         ae,	             AE	] };
    key <BKSL> { [ apostrophe,   asterisk ] };
    key <AD11> { [   aring,         Aring,         oe,		     OE	] };
    key <AE12> { [ dead_acute, dead_grave ] };
    key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };

    // End alphanumeric section, begin "Keypad"
    key <KPDL> {	[  KP_Delete,	KP_Separator	]	};
    // End "Keypad" section

    key <RALT>  { type[Group1]="TWO_LEVEL",
                  [ ISO_Level3_Shift, Multi_key ]   };
    modifier_map Mod5   { <RALT> };
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
    include "pc/latin(type2)"
    include "pc/latin(type2_nodeadkeys)"
    include "pc/fi(fi)"

    key <AE12> { [ acute, grave ] };
    key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
};

