// $Id: cssk_dual,v 1.1 1999/07/29 17:44:13 stano Exp $
//
// Czech and Slovak keyboard symbols for XKB and PC keyboard
//
// (C) 1997,1999 Stanislav Meduna, stano@eunet.sk
//
// Permission is granted to anyone to use, distribute and modify
// this file in any way, provided that the above copyright notice
// is left intact and the author of the modification summarizes
// the changes in this header.
//
// This file is distributed without any expressed or implied warranty.

partial default alphanumeric_keys 
xkb_symbols "us_sk_qwerty" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Slovak";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_us_cssk)"
    include "cssk_dual(def_us_sk_prog)"
    include "cssk_dual(def_us_sk)"
};

partial alphanumeric_keys 
xkb_symbols "us_sk_qwertz" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Slovak";

    include "cssk_dual(us_sk_qwerty)"
    include "cssk_dual(def_us_qwertz)"
};

partial alphanumeric_keys 
xkb_symbols "us_sk_prog" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Slovak";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_us_sk_prog)"
};

partial alphanumeric_keys 
xkb_symbols "sk_us_qwerty" {
    Name[Group1] = "Slovak";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_cssk_us)"
    include "cssk_dual(def_sk_us_prog)"
    include "cssk_dual(def_sk_us)"
};

partial alphanumeric_keys 
xkb_symbols "sk_us_qwertz" {
    Name[Group1] = "Slovak";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(sk_us_qwerty)"
    include "cssk_dual(def_qwertz_us)"
};

partial alphanumeric_keys 
xkb_symbols "sk_us_prog" {
    Name[Group1] = "Slovak";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_sk_us_prog)"
};

partial alphanumeric_keys 
xkb_symbols "us_cs_qwerty" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Czech";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_us_cssk)"
    include "cssk_dual(def_us_cs_prog)"
    include "cssk_dual(def_us_cs)"
};

partial alphanumeric_keys 
xkb_symbols "us_cs_qwertz" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Czech";

    include "cssk_dual(us_cs_qwerty)"
    include "cssk_dual(def_us_qwertz)"
};

partial alphanumeric_keys 
xkb_symbols "us_cs_prog" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Czech";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_us_cs_prog)"
};

partial alphanumeric_keys 
xkb_symbols "cs_us_qwerty" {
    Name[Group1] = "Czech";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_cssk_us)"
    include "cssk_dual(def_cs_us_prog)"
    include "cssk_dual(def_cs_us)"
};

partial alphanumeric_keys 
xkb_symbols "cs_us_qwertz" {
    Name[Group1] = "Czech";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(cs_us_qwerty)"
    include "cssk_dual(def_qwertz_us)"
};

partial alphanumeric_keys 
xkb_symbols "cs_us_prog" {
    Name[Group1] = "Czech";
    Name[Group2] = "US/ASCII";

    include "cssk_dual(def_basic)"
    include "cssk_dual(def_cs_us_prog)"
};

partial alphanumeric_keys
xkb_symbols "cs_sk_ucw" {
    Name[Group1] = "US/ASCII";
    Name[Group2] = "Czech/Slovak";

    include "us(pc105euro)"
    include "cssk_dual(def_ucw)"
};



partial alphanumeric_keys 
xkb_symbols "def_basic" {

    // Describes the differences between a very simple us
    // keyboard and a very simple Slovak keybaord

    include "us(pc105euro)"
    include "group(shift_toggle)"

    //   key <RCTL> {	[ Multi_key				]	};
    key <PAUS> {	[ Multi_key				]	};
    key <RALT> {	[ Mode_switch				]	};
    key <SCLK> {	[ ISO_Next_Group, 	ISO_Next_Group	]	};

    // End alphanumeric section

    // begin modifier mappings
    
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys 
xkb_symbols "def_cssk_us" {
    key <AE11> {
	[	    equal,        percent	],
	[           minus,     underscore	]
	};
    key <AD11> {
	[	   uacute,          slash	],
	[     bracketleft,      braceleft	]
	};
    key <AC11> {
	[	  section,         exclam	],
	[      apostrophe,       quotedbl	]
	};
    key <AB08> {
	[	    comma,	 question	],
	[	    comma,	     less	]
	};
    key <AB09> {
	[	   period,	    colon	],
	[	   period,	  greater	]
	};
    key <AB10> {
	[	    minus,     underscore	],
	[	    slash,	 question	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_sk_us" {
    key <AC10> {
	[     ocircumflex,       quotedbl	],
	[       semicolon,	    colon	]
	};
    key <AD12> {
	[      adiaeresis,      parenleft	],
	[    bracketright,     braceright	]
	};
    key <BKSL> {
	[	   ncaron,	parenright	],
	[	backslash,	      bar	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_cs_us" {
    key <AC10> {
	[           uring,       quotedbl	],
	[       semicolon,	    colon	]
	};
    key <AD12> {
	[      parenright,      parenleft	],
	[    bracketright,     braceright	]
	};
    key <BKSL> {
	[	backslash,	      bar	],
	[	backslash,	      bar	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_cssk" {
    key <AE11> {
	[           minus,     underscore	],
	[	    equal,        percent	]
	};
    key <AD11> {
	[     bracketleft,      braceleft	],
	[	   uacute,          slash	]
	};
    key <AC11> {
	[      apostrophe,       quotedbl	],
	[	  section,         exclam	]
	};
    key <AB08> {
	[	    comma,	     less	],
	[	    comma,	 question	]
	};
    key <AB09> {
	[	   period,	  greater	],
	[	   period,	    colon	]
	};
    key <AB10> {
	[	    slash,	 question	],
	[	    minus,     underscore	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_sk" {
    key <AC10> {
	[       semicolon,	    colon	],
	[     ocircumflex,       quotedbl	]
	};
    key <AD12> {
	[    bracketright,     braceright	],
	[      adiaeresis,      parenleft	]
	};
    key <BKSL> {
	[	backslash,	      bar	],
	[	   ncaron,	parenright	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_cs" {
    key <AC10> {
	[       semicolon,	    colon	],
	[           uring,       quotedbl	]
	};
    key <AD12> {
	[    bracketright,     braceright	],
	[      parenright,      parenleft	]
	};
    key <BKSL> {
	[	backslash,	      bar	],
	[	backslash,	      bar	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_qwertz_us" {
    key <AD06> {
	[               z,	        Z	],
	[               y,              Y	]
	};
    key <AB01> {
	[               y,	        Y	],
	[               z,              Z	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_qwertz" {
    key <AD06> {
	[               y,	        Y	],
	[               z,              Z	]
	};
    key <AB01> {
	[               z,	        Z	],
	[               y,              Y	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_sk_prog" {
    key <TLDE> {
	[           grave,     asciitilde	],
        [  dead_diaeresis,dead_circumflex       ]        
	};
    key <AE01> {
	[		1,	   exclam	],
	[	     plus,		1	]
	};
    key <AE02> {
	[		2,	       at	],
	[	   lcaron,		2	]
	};
    key <AE03> {
	[		3,     numbersign	],
	[	   scaron,		3	]
	};
    key <AE04> {
	[		4,	   dollar	],
	[	   ccaron,		4	]
	};
    key <AE05> {
	[		5,        percent	],
	[	   tcaron,		5	]
	};
    key <AE06> {
	[		6,    asciicircum	],
	[	   zcaron,		6	]
	};
    key <AE07> {
	[		7,      ampersand	],
	[	   yacute,		7	]
	};
    key <AE08> {
	[		8,       asterisk	],
	[	   aacute,		8	]
	};
    key <AE09> {
	[		9,      parenleft	],
	[	   iacute,		9	]
	};
    key <AE10> {
	[		0,     parenright	],
	[	   eacute,		0	]
	};
    key <AE12> {
	[           equal,           plus	],
	[      dead_acute,     dead_caron	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_us_cs_prog" {
    key <TLDE> {
	[           grave,     asciitilde	],
        [  dead_diaeresis, dead_abovering       ]        
	};
    key <AE01> {
	[		1,	   exclam	],
	[	     plus,		1	]
	};
    key <AE02> {
	[		2,	       at	],
	[	   ecaron,		2	]
	};
    key <AE03> {
	[		3,     numbersign	],
	[	   scaron,		3	]
	};
    key <AE04> {
	[		4,	   dollar	],
	[	   ccaron,		4	]
	};
    key <AE05> {
	[		5,        percent	],
	[	   rcaron,		5	]
	};
    key <AE06> {
	[		6,    asciicircum	],
	[	   zcaron,		6	]
	};
    key <AE07> {
	[		7,      ampersand	],
	[	   yacute,		7	]
	};
    key <AE08> {
	[		8,       asterisk	],
	[	   aacute,		8	]
	};
    key <AE09> {
	[		9,      parenleft	],
	[	   iacute,		9	]
	};
    key <AE10> {
	[		0,     parenright	],
	[	   eacute,		0	]
	};
    key <AE12> {
	[           equal,           plus	],
	[      dead_acute,     dead_caron	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_sk_us_prog" {
    key <TLDE> {
        [  dead_diaeresis,dead_circumflex       ],
	[           grave,     asciitilde	]
	};
    key <AE01> {
	[	     plus,		1	],
	[		1,	   exclam	]
	};
    key <AE02> {
	[	   lcaron,		2	],
	[		2,	       at	]
	};
    key <AE03> {
	[	   scaron,		3	],
	[		3,     numbersign	]
	};
    key <AE04> {
	[	   ccaron,		4	],
	[		4,	   dollar	]
	};
    key <AE05> {
	[	   tcaron,		5	],
	[		5,        percent	]
	};
    key <AE06> {
	[	   zcaron,		6	],
	[		6,    asciicircum	]
	};
    key <AE07> {
	[	   yacute,		7	],
	[		7,      ampersand	]
	};
    key <AE08> {
	[	   aacute,		8	],
	[		8,       asterisk	]
	};
    key <AE09> {
	[	   iacute,		9	],
	[		9,      parenleft	]
	};
    key <AE10> {
	[	   eacute,		0	],
	[		0,     parenright	]
	};
    key <AE12> {
	[      dead_acute,     dead_caron	],
	[           equal,           plus	]
	};
};

partial alphanumeric_keys 
xkb_symbols "def_cs_us_prog" {
    key <TLDE> {
        [  dead_diaeresis, dead_abovering       ],       
	[           grave,     asciitilde	]
	};
    key <AE01> {
	[	     plus,		1	],
	[		1,	   exclam	]
	};
    key <AE02> {
	[	   ecaron,		2	],
	[		2,	       at	]
	};
    key <AE03> {
	[	   scaron,		3	],
	[		3,     numbersign	]
	};
    key <AE04> {
	[	   ccaron,		4	],
	[		4,	   dollar	]
	};
    key <AE05> {
	[	   rcaron,		5	],
	[		5,        percent	]
	};
    key <AE06> {
	[	   zcaron,		6	],
	[		6,    asciicircum	]
	};
    key <AE07> {
	[	   yacute,		7	],
	[		7,      ampersand	]
	};
    key <AE08> {
	[	   aacute,		8	],
	[		8,       asterisk	]
	};
    key <AE09> {
	[	   iacute,		9	],
	[		9,      parenleft	]
	};
    key <AE10> {
	[	   eacute,		0	],
	[		0,     parenright	]
	};
    key <AE12> {
	[      dead_acute,     dead_caron	],
	[           equal,           plus	]
	};
};

partial alphanumeric_keys
xkb_symbols "def_ucw" {
    key <FK01> {
	[	       F1,	      F11	]
	};
    key <FK02> {
	[	       F2,	      F12	]
	};
    key <FK03> {
	[	       F3,	      F13	]
	};
    key <FK04> {
	[	       F4,	      F14	]
	};
    key <FK05> {
	[	       F5,	      F15	]
	};
    key <FK06> {
	[	       F6,	      F16	]
	};
    key <FK07> {
	[	       F7,	      F17	]
	};
    key <FK08> {
	[	       F8,	      F18	]
	};
    key <FK09> {
	[	       F9,	      F19	]
	};
    key <FK10> {
	[	      F10,	      F20	]
	};
    key <FK11> {
	[	      F11,	      F21	]
	};
    key <FK12> {
	[	      F12,	      F22	]
	};
    key <AD01> {
	[		q,		Q	],
	[      adiaeresis,     Adiaeresis	]
	};
    key <AD02> {
	[		w,		W	],
	[	   ecaron,	   Ecaron	]
	};
    key <AD03> {
	[		e,		E	],
	[	   eacute,	   Eacute	]
	};
    key <AD04> {
	[		r,		R	],
	[	   rcaron,	   Rcaron	]
	};
    key <AD05> {
	[		t,		T	],
	[	   tcaron,	   Tcaron	]
	};
    key <AD06> {
	[		y,		Y	],
	[	   yacute,	   Yacute	]
	};
    key <AD07> {
	[		u,		U	],
	[	    uring,	    Uring	]
	};
    key <AD08> {
	[		i,		I	],
	[	   iacute,	   Iacute	]
	};
    key <AD09> {
	[		o,		O	],
	[	   oacute,	   Oacute	]
	};
    key <AD10> {
	[		p,		P	],
	[      odiaeresis,     Odiaeresis	]
	};
    key <AC01> {
	[		a,		A	],
	[	   aacute,	   Aacute	]
	};
    key <AC02> {
	[		s,		S	],
	[	   scaron,	   Scaron	]
	};
    key <AC03> {
	[		d,		D	],
	[	   dcaron,	   Dcaron	]
	};
    key <AC04> {
	[		f,		F	],
	[      ediaeresis,     Ediaeresis	]
	};
    key <AC05> {
	[		g,		G	],
	[	   racute,	   Racute	]
	};
    key <AC06> {
	[		h,		H	],
	[	   uacute,	   Uacute	]
	};
    key <AC07> {
	[		j,		J	],
	[      udiaeresis,     Udiaeresis	]
	};
    key <AC08> {
	[		k,		K	],
	[     ocircumflex,    Ocircumflex	]
	};
    key <AC09> {
	[		l,		L	],
	[	   lcaron,	   Lcaron	]
	};
    key <AB01> {
	[		z,		Z	],
	[	   zcaron,	   Zcaron	]
	};
    key <AB02> {
	[		x,		X	],
	[	 currency,		X	]
	};
    key <AB03> {
	[		c,		C	],
	[	   ccaron,	   Ccaron	]
	};
    key <AB04> {
	[		v,		V	],
	[	 ccedilla,	 Ccedilla	]
	};
    key <AB05> {
	[		b,		B	],
	[		b,		B	]
	};
    key <AB06> {
	[		n,		N	],
	[	   ncaron,	   Ncaron	]
	};
    key <AB07> {
	[		m,		M	],
	[	   lacute,	   Lacute	]
	};

    key <SCLK> {	[	Scroll_Lock			]	};
    key <PAUS> {	[	Multi_key			]	};
    key <RALT> {	[	Mode_switch			]	};
    key <CAPS> {	[	Mode_switch			]	};

    modifier_map Shift  { Shift_L, Shift_R };
    // modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod3   { Mode_switch };

};
