// $XdotOrg$
// $XKeyboardConfig: xkbdesc/symbols/ch,v 1.8 2005/01/16 02:18:20 svu Exp $

// $Xorg: ch,v 1.3 2000/08/17 19:54:42 cpqbld Exp $




// $XFree86: xc/programs/xkbcomp/symbols/ch,v 3.6 2002/11/25 14:05:06 eich Exp $

partial default alphanumeric_keys 
xkb_symbols "basic" {

    include "pc/latin"

    // Alphanumeric section
    name[Group1]= "Switzerland";
    key <TLDE> { [    section,     degree                           ] };
    key <AE01> { [          1,       plus,          bar, exclamdown ] };
    key <AE02> { [          2,   quotedbl,           at, oneeighth  ] };
    key <AE03> { [          3,   asterisk,   numbersign             ] };
    key <AE04> { [          4,   ccedilla                           ] };
    key <AE05> { [          5,    percent                           ] };
    key <AE06> { [          6,  ampersand,      notsign             ] };
    key <AE07> { [          7,      slash,    brokenbar             ] };
    key <AE08> { [          8,  parenleft,         cent             ] };
    key <AE09> { [          9, parenright                           ] };
    key <AE10> { [          0,      equal                           ] };
    key <AE11> { [ apostrophe,   question,   dead_acute             ] };
    key <AE12> { [ dead_circumflex, dead_grave, dead_tilde          ] };

    key <AD03> { [          e,          E,     EuroSign             ] };
    key <AD06> { [          z,          Z                           ] };
    key <AD11> { [ udiaeresis,     egrave,  bracketleft             ] };
    key <AD12> { [ dead_diaeresis, exclam, bracketright             ] };

    key <AC10> { [ odiaeresis,     eacute                           ] };
    key <AC11> { [ adiaeresis,     agrave,    braceleft             ] };
    key <BKSL> { [     dollar,   sterling,   braceright             ] };

    key <LSGT> { [       less,    greater,    backslash, brokenbar  ] };
    key <AB01> { [          y,          Y                           ] };
    key <AB08> { [      comma,  semicolon                           ] };
    key <AB09> { [     period,      colon                           ] };
    key <AB10> { [      minus, underscore                           ] };

    include "level3(ralt_switch)"
};

partial alphanumeric_keys 
xkb_symbols "de" {
    include "pc/ch(basic)"
};

partial alphanumeric_keys 
xkb_symbols "de_Sundeadkeys" {
    // modify the basic Swiss German layout to use Sun dead keys
    include "pc/ch(basic)"
    key <AE11> { [      apostrophe,    question,  SunFA_Acute   ] };
    key <AE12> { [    SunFA_Circum, SunFA_Grave,  SunFA_Tilde   ] };
    key <AD12> { [ SunFA_Diaeresis,      exclam, bracketright   ] };
};

partial alphanumeric_keys 
xkb_symbols "de_sundeadkeys" {
    include "pc/ch(de_Sundeadkeys)"
    name[Group1]= "Switzerland - German, Sun dead keys";
};

partial alphanumeric_keys 
xkb_symbols "de_nodeadkeys" {
    // modify the basic Swiss German layout not to have any dead keys
    include "pc/ch(basic)"
    name[Group1]= "Switzerland - German, eliminate dead keys";
    key <AE11> { [  apostrophe, question,        acute  ] };
    key <AE12> { [ asciicircum,    grave,   asciitilde  ] };
    key <AD12> { [   diaeresis,   exclam, bracketright  ] };
};

partial alphanumeric_keys 
xkb_symbols "fr" {

    // Describes the differences between a very simple US/ASCII
    // keyboard and a very simple Swiss/French keybaord

    include "pc/ch(basic)"
    name[Group1]= "Switzerland - French";

    override key <AD11> {
	[ egrave,	udiaeresis,	bracketleft	]
    };
    override key <AC10> {
	[ eacute,	odiaeresis	]
    };
    override key <AC11> {
	[ agrave,	adiaeresis,	braceleft	]
    };
};

partial alphanumeric_keys
xkb_symbols "fr_Sundeadkeys" {
    // modify the basic Swiss French layout to use Sun dead keys
    include "pc/ch(fr)"
    key <AE11> { [      apostrophe,    question,  SunFA_Acute   ] };
    key <AE12> { [    SunFA_Circum, SunFA_Grave,  SunFA_Tilde   ] };
    key <AD12> { [ SunFA_Diaeresis,      exclam, bracketright   ] };
};

partial alphanumeric_keys
xkb_symbols "fr_sundeadkeys" {
    include "pc/ch(fr_Sundeadkeys)"
    name[Group1]= "Switzerland - French, Sun dead keys";
};

partial alphanumeric_keys
xkb_symbols "fr_nodeadkeys" {
    // modify the basic Swiss French layout not to have any dead keys
    include "pc/ch(fr)"
    name[Group1]= "Switzerland - French, eliminate dead keys";
    key <AE11> { [  apostrophe, question,        acute  ] };
    key <AE12> { [ asciicircum,    grave,   asciitilde  ] };
    key <AD12> { [   diaeresis,   exclam, bracketright  ] };
};
