// $XKeyboardConfig: xkbdesc/symbols/es,v 1.12 2006/10/03 22:47:43 svu Exp $

// based on a keyboard
// Modified for a real Spanish Keyboard by Jon Tombs
//
// $XFree86: xc/programs/xkbcomp/symbols/es,v 1.2 2002/11/22 04:03:28 dawes Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

    include "latin(type4)"

    name[Group1]="Spain";

    key 	{ [         1,     exclam,          bar,   exclamdown ]	};
    key 	{ [         3, periodcentered, numbersign,   sterling ]	};
    key 	{ [         4,     dollar,   asciitilde,       dollar ]	};
    key 	{ [         6,  ampersand,      notsign,  fiveeighths ]	};
    key 	{ [apostrophe,   question,    backslash, questiondown ]	};
    key 	{ [exclamdown, questiondown, asciitilde,   asciitilde ]	};

    key 	{ [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
    key 	{ [      plus,   asterisk, bracketright,  dead_macron ]	};

    key 	{ [    ntilde, Ntilde,   asciitilde, dead_doubleacute ]	};
    key 	{ [dead_acute, dead_diaeresis, braceleft,   braceleft ]	};
    key 	{ [ masculine, ordfeminine,    backslash,   backslash ]	};

    key 	{ [  ccedilla,   Ccedilla,   braceright,   dead_breve ]	};

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "Sundeadkeys" {

    include "es(basic)"

    key 	{ [SunFA_Acute, SunFA_Diaeresis, braceleft, braceleft ]	};
    key 	{ [SunFA_Grave, SunFA_Circum, bracketleft, dead_abovering ] };
};

partial alphanumeric_keys
xkb_symbols "sundeadkeys" {

    include "es(Sundeadkeys)"

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

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

    include "es(basic)"

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

    key 	{ [     grave, asciicircum,  bracketleft,      degree ]	};
    key 	{ [      plus,   asterisk, bracketright,       macron ]	};
    key 	{ [    ntilde,     Ntilde,   asciitilde,  doubleacute ]	};
    key 	{ [     acute,  diaeresis,    braceleft,    braceleft ]	};
    key 	{ [  ccedilla,   Ccedilla,   braceright,        breve ]	};
    key 	{ [     minus, underscore, dead_belowdot,    abovedot ]	};
};

// Spanish mapping (note R-H exchange)
partial alphanumeric_keys
xkb_symbols "dvorak" {

    name[Group1]="Spain - Dvorak";

    // Alphanumeric section
    key  {[  masculine, ordfeminine, backslash, degree		]};
    key  {[          1, exclam, bar, onesuperior			]};
    key  {[          2, quotedbl, at, twosuperior			]};
    key  {[          3, periodcentered, numbersign, threesuperior	]};
    key  {[          4, dollar, asciitilde, onequarter		]};
    key  {[          5, percent, brokenbar, fiveeighths		]};
    key  {[          6, ampersand, notsign, threequarters		]};
    key  {[          7, slash, onehalf, seveneighths		]};
    key  {[          8, parenleft, oneeighth, threeeighths	]};
    key  {[          9, parenright, asciicircum			]};
    key  {[          0, equal, grave, dead_doubleacute		]};
    key  {[ apostrophe, question, dead_macron, dead_ogonek	]};
    key  {[ exclamdown, questiondown, dead_breve, dead_abovedot	]};

    key  {[     period, colon					]};
    key  {[      comma, semicolon					]};
    key  {[     ntilde, Ntilde, lstroke, Lstroke			]};
    key  {[          p, P, paragraph				]};
    key  {[          y, Y, yen					]};
    key  {[          f, F, tslash, Tslash				]};
    key  {[          g, G, dstroke, Dstroke			]};
    key  {[          c, C, cent, copyright			]};
    key  {[          h, H, hstroke, Hstroke			]};
    key  {[          l, L, sterling				]};
    key  {[ dead_grave, dead_circumflex, bracketleft, dead_caron	]};
    key  {[       plus, asterisk, bracketright, plusminus		]};

    key  {[          a, A, ae, AE					]};
    key  {[          o, O, oslash, Oslash				]};
    key  {[          e, E, EuroSign				]};
    key  {[          u, U, aring, Aring				]};
    key  {[          i, I, oe, OE					]};
    key  {[          d, D, eth, ETH				]};
    key  {[          r, R, registered, trademark			]};
    key  {[          t, T, thorn, THORN				]};
    key  {[          n, N, eng, ENG				]};
    key  {[          s, S, ssharp, section			]};
    key  {[ dead_acute, dead_diaeresis, braceleft, dead_tilde	]};
    key  {[   ccedilla, Ccedilla, braceright, dead_cedilla	]};

    key  {[       less, greater, guillemotleft, guillemotright	]};
    key  {[      minus, underscore, hyphen, macron		]};
    key  {[          q, Q, currency				]};
    key  {[          j, J						]};
    key  {[          k, K, kra					]};
    key  {[          x, X, multiply, division			]};
    key  {[          b, B						]};
    key  {[          m, M, mu					]};
    key  {[          w, W						]};
    key  {[          v, V						]};
    key  {[          z, Z						]};

    include "level3(ralt_switch)"
};

// Spanish mapping
partial alphanumeric_keys
xkb_symbols "DvorakMartinez1" {

    name[Group1]="Spain - Dvorak by Ivan Martinez, v1.0";

    // Alphanumeric section
    key  {[  backslash, bar, oslash, degree			]};
    key  {[          1, numbersign, ae, onesuperior		]};
    key  {[          2, at, ssharp, twosuperior			]};
    key  {[          3, apostrophe, dead_tilde, threesuperior	]};
    key  {[          4, quotedbl, lstroke, Lstroke		]};
    key  {[          5, slash, brokenbar, fiveeighths		]};
    key  {[          6, percent, notsign, threequarters		]};
    key  {[          7, ampersand, onehalf, seveneighths		]};
    key  {[          8, asterisk, oneeighth, threeeighths		]};
    key  {[          9, parenleft, asciicircum			]};
    key  {[          0, parenright, grave, dead_doubleacute	]};
    key  {[ bracketleft, braceleft, dead_macron, dead_ogonek	]};
    key  {[ bracketright, braceright, dead_breve, dead_abovedot	]};

    key  {[      comma, semicolon, less				]};
    key  {[     period, colon, greater				]};
    key  {[     ntilde, Ntilde, asciitilde, onequarter		]};
    key  {[          p, P, paragraph				]};
    key  {[          y, Y, yen					]};
    key  {[          f, F, tslash, Tslash				]};
    key  {[          g, G, dstroke, Dstroke			]};
    key  {[          c, C, cent, copyright			]};
    key  {[          r, R, registered, trademark			]};
    key  {[          l, L, sterling				]};
    key  {[     exclam, exclamdown, periodcentered, dead_caron	]};
    key  {[      equal, plus, dead_circumflex, plusminus		]};

    key  {[          a, A, ordfeminine, AE			]};
    key  {[          o, O, masculine, Oslash			]};
    key  {[          e, E, EuroSign				]};
    key  {[          u, U, aring, Aring				]};
    key  {[          i, I, oe, OE					]};
    key  {[          d, D, eth, ETH				]};
    key  {[          h, H, hstroke, Hstroke			]};
    key  {[          t, T, thorn, THORN				]};
    key  {[          n, N, eng, ENG				]};
    key  {[          s, S, dollar, section			]};
    key  {[ dead_acute, dead_grave, dead_diaeresis		]};
    key  {[      minus, underscore, dead_cedilla			]};

    key  {[   ccedilla, Ccedilla, guillemotleft, guillemotright	]};
    key  {[   question, questiondown, hyphen, macron		]};
    key  {[          q, Q, currency				]};
    key  {[          j, J						]};
    key  {[          k, K, kra					]};
    key  {[          x, X, multiply, division			]};
    key  {[          b, B						]};
    key  {[          m, M, mu					]};
    key  {[          w, W						]};
    key  {[          v, V						]};
    key  {[          z, Z						]};

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "cat" {

    include "es(basic)"

    name[Group1]="Spain - Catalan variant with middle-dot L";

    key   { [	    l,      L,		0x1000140,  0x100013F ] };
};


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

    // Describes the differences between a very simple mac_US
    // keyboard and a very simple Spanish keybaord

    include "es"
    name[Group1]= "Spain - Macintosh";

};

    Source: geocities.com/supertrasgu/downloads

               ( geocities.com/supertrasgu)