// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.4 2002/09/16 18:06:21 eich Exp $

partial alphanumeric_keys 
xkb_symbols "basic" {
     
     // Describes the differences between a very simple en_US
     // keyboard and a Czech keyboard
     // This layout conforms to a new cz compromise standard designed 
     // to satisfy most unix, windows and mac users.
     // 2001 by Kamil Toman <ktoman@email.cz>

     // Switching to US added by Jan Holesovsky <kendy@suse.cz>, 2001

    include "us_group2(basic)"
    include "group(shift_toggle)"

    name[Group1]= "Czech";

    key.type = "FOUR_LEVEL";

    key <TLDE>  { [	semicolon,	dead_abovering,
    			grave,		asciitilde ] };
    key <AE01>  { [	plus,		1,
			exclam,		dead_tilde ] };
    key <AE02>  { [	ecaron,         2, 
			at,		dead_caron ] };
    key <AE03>  { [	scaron,		3,
			numbersign,	dead_circumflex ] };
    key <AE04>  { [	ccaron,		4,
			dollar,		dead_breve ] };
    key <AE05>  { [	rcaron,		5,
			percent,	dead_abovering ] };
    key <AE06>  { [	zcaron,		6,
			asciicircum,	dead_ogonek ] };
    key <AE07>  { [	yacute,		7,
			ampersand,	dead_grave ] };
    key <AE08>  { [	aacute,		8,
			asterisk,	dead_abovedot ] };
    key <AE09>  { [	iacute,		9,
			braceleft,	dead_acute ] };
    key <AE10>  { [	eacute,		0,
			braceright,	dead_doubleacute ] };
    key <AE11>  { [	equal,		percent,
			NoSymbol,	dead_diaeresis ] };
    key <AE12>  { [	dead_acute,	dead_caron,
			dead_macron,	dead_cedilla ] };

    key <AD01>  { [	q,		Q,
			backslash,	NoSymbol ] };
    key <AD02>  { [	w,		W,
			bar,		Nosymbol ] };
    key <AD03>  { [	e,		E,
			EuroSign,	NoSymbol ] };
    key <AD04>  { [	r,    		R,              
		        NoSymbol,	NoSymbol ] };
    key <AD05>  { [	t,		T,
		        NoSymbol,	NoSymbol ] };
    key <AD06>  { [	z,		Z,
		        NoSymbol,	NoSymbol ] };
    key <AD07>  { [	u,		U,
		        NoSymbol,	NoSymbol ] };
    key <AD08>  { [	i,		I,
		        NoSymbol,	NoSymbol ] };
    key <AD09>  { [	o,		O,
		        NoSymbol,	NoSymbol ] };
    key <AD10>  { [	p,		P,
		        NoSymbol,	NoSymbol ] };

    key <AD11>  { [	uacute,		slash,
			bracketleft,	division ] };
    key <AD12>  { [	parenright,	parenleft,
			bracketright,	multiply ] };

    key <AC01>  { [	a,		A,
			asciitilde,	NoSymbol ] };
    key <AC02>  { [	s,		S,
			dstroke,	NoSymbol ] };
    key <AC03>  { [	d,		D,
			Dstroke,	NoSymbol ] };
    key <AC04>  { [	f,		F,
			bracketleft,	NoSymbol ] };
    key <AC05>  { [	g,		G,
			bracketright,	NoSymbol ] };
    key <AC06>  { [	h,		H,
			grave,		NoSymbol ] };
    key <AC07>  { [	j,		J,
			apostrophe,	NoSymbol ] };
    key <AC08>  { [	k,		K,
			lstroke,	NoSymbol ] };
    key <AC09>  { [	l,		L,
			Lstroke,	NoSymbol ] };
                  
    key <AC10>  { [	uring,		quotedbl,
			dollar,		NoSymbol ] };
    key <AC11>  { [	section,	exclam,
			apostrophe,	ssharp ] };
    key <AC12>  { [     EuroSign,       dead_diaeresis,
                        NoSymbol,       NoSymbol ] };
    key <BKSL>  { [	dead_diaeresis,	apostrophe,
                        backslash,	bar  ] };

    key <LSGT>  { [	backslash,	bar,
			slash,		NoSymbol ] };
    key <AB01>  { [	y,		Y,
			degree,		NoSymbol ] };
    key <AB02>  { [	x,		X,
			numbersign,	Nosymbol ] };
    key <AB03>  { [	c,		C,
			ampersand,	NoSymbol ] };
    key <AB04>  { [	v,		V,
			at,		NoSymbol ] };
    key <AB05>  { [	b,		B,
			braceleft,	NoSymbol ] };
    key <AB06>  { [	n,		N,
			braceright,	NoSymbol ] };
    key <AB07>  { [	m,		M,
			asciicircum,	NoSymbol ] };
    key <AB08>  { [	comma,		question,
			less,		NoSymbol ] };
    key <AB09>  { [	period,		colon,
			greater,	NoSymbol ] };
    key <AB10>  { [	minus,		underscore,
			asterisk,	NoSymbol ] };

    key <SPCE>  { [	space,		space,
			nobreakspace,	nobreakspace ] };

// KP_Separator should produce a comma as KP_Decimal produces a "."
// independent of the locale selected.
    key <KPDL>  { type="FOUR_LEVEL_KEYPAD", [	KP_Delete,	KP_Separator,
    						KP_Delete,	KP_Decimal],
			// hack a decimal dot into the second (US) group
			// Martin Vidner <mvidner@suse.cz>
					    [   KP_Delete,      KP_Decimal,
					        KP_Delete,	KP_Separator] };

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

};

    // Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "bksl" {
    include "cz(basic)"
    key <BKSL>  { [	backslash,	bar,
			slash,		NoSymbol ] };
};
