// KBD keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
// based on the german keyboard
//
// $XFree86: xc/programs/xkbcomp/symbols/is,v 3.1.6.2 1999/07/22 14:21:31 hohndel Exp $

default partial alphanumeric_keys
xkb_symbols "default" {

    // Describes the differences between a very simple US/ASCII
    // keyboard and an Icelandic one

    // Alphanumeric section
    name[Group1]= "Icelandic";
    key <TLDE> {        [     grave,    bar             ],
                        [       bar                     ]       };
    key <AE02> {        [         2,    quotedbl        ],
                        [        at                     ]       };
    key <AE03> {        [         3,    numbersign      ],
                        [ threesuperior,sterling        ]       };
    key <AE04> {        [         4,    dollar          ],
                        [ onequarter,   currency        ]       };
    key <AE05> {        [         5,    percent         ],
                        [   onehalf                     ]       };
    key <AE06> {        [         6,    ampersand       ],
                        [ threequarters                 ]       };
    key <AE07> {        [         7,    slash           ],
                        [ braceleft                     ]       };
    key <AE08> {        [         8,    parenleft       ],
                        [ bracketleft                   ]       };
    key <AE09> {        [         9,    parenright      ],
                        [ bracketright, plusminus       ]       };
    key <AE10> {        [         0,    equal           ],
                        [ braceright,   degree          ]       };
    key <AE11> {        [ odiaeresis,   Odiaeresis      ],
                        [ backslash,    questiondown    ]       };
    key <AE12> {        [ minus,        underscore      ],
                        [ ccedilla                      ]       };
    key <AD01> {        [         q,    Q               ],
                        [        at                     ]       };
//    key <AD05> {      [         t,    T               ]       };
//    key <AD06> {      [         z,    Z               ]       };
    key <AD07> {        [         u,    U               ],
                        [   uacute                     ]       };
//    key <AD08> {      [         i,    I               ]       };
    key <AD11> {        [ eth,                  Eth     ],
                        [ dead_diaeresis                ]       };
    key <AD12> {        [ apostrophe ,  question        ],
                        [ asciitilde,   dead_macron     ]       };
//    key <AC04> {      [         f,    F               ]       };
//    key <AC05> {      [         g,    G               ]       };
    key <AC10> {        [ ae,                   AE      ],
                        [ asciicircum                   ]       };
    key <AC11> {        [ dead_acute,   dead_grave      ],
                        [ asciicircum                   ]       };

    key <LSGT> {        [      less,    greater         ],
                        [       bar                     ]       };
//    key <AB01> {      [         y,    Y               ],
//                      [ guillemotleft, less           ]       };
//    key <AB07> {      [         m,    M               ],
//                      [        mu                     ]       };
    key <AB08> {        [     comma,    semicolon       ]       };
    key <AB09> {        [    period,    colon           ],
                        [ periodcentered, division      ]       };
    key <AB10> {        [     thorn,    Thorn   ]       };
//    key <BKSL> {        [ plus,         asterisk        ],
//                        [ asciicircum                   ]       };
    key <BKSL> {        [ plus,         asterisk        ],
                        [ quoteleft                   ]       };
    key <RALT> {        [ Mode_switch,  Multi_key       ]       };

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

partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {
    include "is(basic)"
    key <TLDE> {        [ SunFA_Circum, degree          ],
                        [   notsign                     ]       };
    key <AE12> {        [ SunFA_Acute,  SunFA_Grave     ],
                        [ SunFA_Cedilla                 ]       };
    key <AD11> {        [ udiaeresis,   Udiaeresis      ],
                        [ SunFA_Diaeresis               ]       };
    key <AD12> {        [      plus,    asterisk        ],
                        [ SunFA_Tilde,  dead_macron     ]       };
    key <AC10> {        [ odiaeresis,   Odiaeresis      ],
                        [ SunFA_Acute                   ]       };
    key <AC11> {        [ adiaeresis,   Adiaeresis      ],
                        [ SunFA_Circum                  ]       };

    key <BKSL> {        [ numbersign,   acute           ],
                        [ SunFA_Grave                   ]       };
};

partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
    include "is(Sundeadkeys)"
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
    include "is(basic)"
    include "is(basic)"
    key <TLDE> {        [ asciicircum,  degree          ],
                        [   notsign                     ]       };
    key <AE12> {        [ apostrophe,   grave           ],
                        [ cedilla                       ]       };
    key <AD11> {        [ udiaeresis,   Udiaeresis      ],
                        [ diaeresis                     ]       };
    key <AD12> {        [      plus,    asterisk        ],
                        [ asciitilde,   macron          ]       };
    key <AC10> {        [ odiaeresis,   Odiaeresis      ],
                        [ acute                         ]       };
    key <AC11> {        [ adiaeresis,   Adiaeresis      ],
                        [ asciicircum                   ]       };

    key <BKSL> {        [ numbersign,   acute           ],
                        [ grave                         ]       };
};

