// $XdotOrg$

// based on a keyboard map from an 'xkb/symbols/pt' file
//
// $XFree86: xc/programs/xkbcomp/symbols/pt,v 1.2 2002/11/22 04:03:28 dawes Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

    include "pc/latin(type4)"

    name[Group1]="Portugal";

    key <AE03>	{ [         3, numbersign,     sterling,     sterling ]	};
    key <AE04>	{ [         4,     dollar,      section,       dollar ]	};
    key <AE11>	{ [apostrophe,   question,    backslash, questiondown ]	};
    key <AE12>	{ [guillemotleft, guillemotright, dead_cedilla, dead_ogonek ] };

    key <AD11>	{ [      plus,   asterisk, dead_diaeresis, dead_abovering ] };
    key <AD12>	{ [dead_acute, dead_grave,   dead_tilde,  dead_macron ]	};

    key <AC10>	{ [  ccedilla,   Ccedilla,   dead_acute, dead_doubleacute ] };
    key <AC11>	{ [ masculine, ordfeminine, dead_circumflex,   dead_caron ] };
    key <TLDE>	{ [ backslash,        bar,      notsign,      notsign ]	};

    key <BKSL>	{ [dead_tilde, dead_circumflex, dead_grave, dead_breve]	};

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {

    include "pc/pt(basic)" // for consistent naming

    key <AD11>	{ [plus,   asterisk, SunFA_Diaeresis, SunFA_Diaeresis ]	};
    key <BKSL>	{ [SunFA_Tilde, SunFA_Circum ]	};
    key <AD12>	{ [SunFA_Acute, SunFA_Grave ]	};
};

partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
    include "pc/pt(Sundeadkeys)" // for consistent naming

    name[Group1]="Portugal - Sun dead keys";
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

    include "pc/pt(basic)" // for consistent naming

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

    key <AE12>	{ [guillemotleft, guillemotright, cedilla,     ogonek ]	};
    key <AD11>	{ [      plus,   asterisk,     quotedbl,     quotedbl ]	};
    key <AD12>	{ [     acute,      grave ]	};
    key <AC10>	{ [  ccedilla,   Ccedilla,        acute,  doubleacute ]	};
    key <AC11>	{ [ masculine, ordfeminine, asciicircum,        caron ]	};
    key <BKSL>	{ [asciitilde, asciicircum ]	};
    key <AB10>	{ [     minus, underscore, dead_belowdot,    abovedot ]	};
};
