// ukrainian standard keyboard 
// AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
// Last Changes 2001/12/11 by Andriy Rysin <arysin@yahoo.com>
// $XFree86$

partial default alphanumeric_keys 
xkb_symbols "basic" {

    // Describes the differences between a very simple en_US
    // keyboard and a very simple Ukrainian keyboard

    name[Group1]= "US/ASCII";
    name[Group2]= "Ukrainian";

    key	<TLDE> {	[	    grave,	asciitilde	],
			[      apostrophe,	asciitilde	]	};
    key	<AE01> {	[		1,	    exclam	],
			[		1,	    exclam 	]	};
    key	<AE02> {	[		2,		at	],
			[		2,        quotedbl	]	};
    key	<AE03> {	[		3,	numbersign	],
			[		3,      numbersign	]	};
    key	<AE04> {	[		4,	    dollar	],
			[		4,        asterisk	]	};
    key	<AE05> {	[		5,	   percent	],
			[		5,	     colon	]	};
    key	<AE06> {	[		6,     asciicircum	],
			[		6,	     comma	]	};
    key	<AE07> {	[		7,	 ampersand	],
			[		7,	    period	]	};
    key	<AE08> {	[		8,	  asterisk	],
			[		8,	 semicolon	]	};
    key	<AE09> {	[		9,	 parenleft	],
			[		9,	 parenleft	]	};
    key	<AE10> {	[		0,	parenright	],
			[		0,	parenright	]	};
    key	<AE11> {	[	    minus,	underscore	],
			[	    minus,	underscore	]	};
    key	<AE12> {	[	    equal,	      plus	],
			[	    equal,	      plus	]	};

    key	<AD01> {	[		q,		 Q	],
			[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
    key	<AD02> {	[		w,		 W	],
			[    Cyrillic_tse,    Cyrillic_TSE	]	};
    key	<AD03> {	[		e,		 E	],
			[      Cyrillic_u,	Cyrillic_U	]	};
    key	<AD04> {	[		r,		 R	],
			[     Cyrillic_ka,     Cyrillic_KA	]	};
    key	<AD05> {	[		t,		 T	],
			[     Cyrillic_ie,     Cyrillic_IE	]	};
    key	<AD06> {	[		y,		 Y	],
			[     Cyrillic_en,     Cyrillic_EN	]	};
    key	<AD07> {	[		u,		 U	],
			[    Cyrillic_ghe,    Cyrillic_GHE	]	};
    key	<AD08> {	[		i,		 I	],
			[    Cyrillic_sha,    Cyrillic_SHA	]	};
    key	<AD09> {	[		o,		 O	],
			[  Cyrillic_shcha,  Cyrillic_SHCHA	]	};
    key	<AD10> {	[		p,		 P	],
			[     Cyrillic_ze,     Cyrillic_ZE	]	};
    key	<AD11> {	[     bracketleft,	 braceleft	],
			[     Cyrillic_ha,     Cyrillic_HA	]	};
    key	<AD12> {	[    bracketright,	braceright	],
			[    Ukrainian_yi,    Ukrainian_YI	]	};
    key	<BKSL> {	[	backslash,	       bar	],
			[ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };

    key	<AC01> {	[		a,		 A	],
			[     Cyrillic_ef,     Cyrillic_EF	]	};
    key	<AC02> {	[		s,		 S	],
			[     Ukrainian_i,     Ukrainian_I	]	};
    key	<AC03> {	[		d,		 D	],
			[     Cyrillic_ve,     Cyrillic_VE	]	};
    key	<AC04> {	[		f,		 F	],
			[      Cyrillic_a,	Cyrillic_A	]	};
    key	<AC05> {	[		g,		 G	],
			[     Cyrillic_pe,     Cyrillic_PE	]	};
    key	<AC06> {	[		h,		 H	],
			[     Cyrillic_er,     Cyrillic_ER	]	};
    key	<AC07> {	[		j,		 J	],
			[      Cyrillic_o,	Cyrillic_O	]	};
    key	<AC08> {	[		k,		 K	],
			[     Cyrillic_el,     Cyrillic_EL	]	};
    key	<AC09> {	[		l,		 L	],
			[     Cyrillic_de,     Cyrillic_DE	]	};
    key	<AC10> {	[	semicolon,	     colon	],
			[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
    key	<AC11> {	[      apostrophe,	  quotedbl	],
			[    Ukrainian_ie,    Ukrainian_IE	]	};

    key	<AB01> {	[		z,		 Z	],
			[     Cyrillic_ya,     Cyrillic_YA	]	};
    key	<AB02> {	[		x,		 X	],
			[    Cyrillic_che,    Cyrillic_CHE	]	};
    key	<AB03> {	[		c,		 C	],
			[     Cyrillic_es,     Cyrillic_ES	]	};
    key	<AB04> {	[		v,		 V	],
			[     Cyrillic_em,     Cyrillic_EM	]	};
    key	<AB06> {	[		n,		 N	],
			[     Cyrillic_te,     Cyrillic_TE	]	};
    key	<AB05> {	[		b,		 B	],
			[      Cyrillic_i,	Cyrillic_I	]	};
    key	<AB07> {	[		m,		 M	],
			[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
    key	<AB08> {	[	    comma,	      less	],
			[     Cyrillic_be,     Cyrillic_BE	]	};
    key	<AB09> {	[	   period,	   greater	],
			[     Cyrillic_yu,     Cyrillic_YU	]	};
    key	<AB10> {	[	    slash,	  question	],
			[	    slash,	  question	]	};

    key <LSGT> {        [            less,         greater      ],
                        [           slash,             bar      ]       };
    // End alphanumeric section
    
    // Begin modifier mappings 

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys
xkb_symbols "winkeys" {
    include "ua(basic)"
    key <AE03> {        [               3,      numbersign      ],
                        [               3,      numerosign      ]       };
    key <AE04> {        [               4,          dollar      ],
                        [               4,       semicolon      ]       };
    key <AE05> {        [               5,         percent      ],
                        [               5,         percent      ]       };
    key <AE06> {        [               6,     asciicircum      ],
                        [               6,           colon      ]       };
    key <AE07> {        [               7,       ampersand      ],
                        [               7,        question      ]       };
    key <AE08> {        [               8,        asterisk      ],
                        [               8,        asterisk      ]       };
    key <AB10> {        [           slash,        question      ],
                        [          period,           comma      ]       };

//    key	<AC02> {	[		s,		 S	],
//			[     Ukrainian_i,     Ukrainian_I	]	};

//    key	<AB05> {	[		b,		 B	],
//			[      Cyrillic_i,	Cyrillic_I	]	};
};

partial alphanumeric_keys
xkb_symbols "typewriter" {
    include "ua(basic)"
    key	<TLDE> {	[	    grave,	asciitilde	],
			[      apostrophe,	  quotedbl	] 	};
    key	<AE01> {	[		1,	    exclam	],
			[	   exclam,		 1 	]	};
    key	<AE02> {	[		2,		at	],
			[      numerosign,		 2	]	};
    key	<AE03> {	[		3,	numbersign	],
			[	    slash,		 3	]	};
    key	<AE04> {	[		4,	    dollar	],
			[	semicolon,		 4	]	};
    key	<AE05> {	[		5,	   percent	],
			[	    colon,		 5	]	};
    key	<AE06> {	[		6,     asciicircum	],
			[	    comma,		 6	]	};
    key	<AE07> {	[		7,	 ampersand	],
			[	   period,		 7	]	};
    key	<AE08> {	[		8,	  asterisk	],
			[      underscore,		 8	]	};
    key	<AE09> {	[		9,	 parenleft	],
			[	 question,		 9	]	};
    key	<AE10> {	[		0,	parenright	],
			[	  percent,		 0	]	};

    key	<AD12> {	[    bracketright,	braceright	],
			[ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };

    key	<AC02> {	[		s,		 S	],
			[      Cyrillic_i,	Cyrillic_I	]	};

    key	<AB05> {	[		b,		 B	],
			[     Ukrainian_i,     Ukrainian_I	]	};

    key	<AB10> {	[	    slash,	  question	],
			[    Ukrainian_yi,    Ukrainian_YI	]	};

    key	<BKSL> {	[	backslash,	       bar	],
			[	parenleft,	parenright	]	};
};

partial alphanumeric_keys
xkb_symbols "phonetic" {
  include "ua(basic)"
  
  key <AD01> {   [ q,                 Q                   ],
                 [ Cyrillic_ya,       Cyrillic_YA         ]    };
  key <AD02> {   [ w,                 W                   ],
                 [ Cyrillic_ve,       Cyrillic_VE         ]    };
  key <AD03> {   [ e,                 E                   ],
                 [ Cyrillic_ie,       Cyrillic_IE         ]    };
  key <AD04> {   [ r,                 R                   ],
                 [ Cyrillic_er,       Cyrillic_ER         ]    };
  key <AD05> {   [ t,                 T                   ],
                 [ Cyrillic_te,       Cyrillic_TE         ]    };
  key <AD06> {   [ y,                 Y                   ],
                 [ Cyrillic_i,        Cyrillic_i          ]    };
  key <AD07> {   [ u,                 U                   ],
                 [ Cyrillic_u,        Cyrillic_U          ]    };
  key <AD08> {   [ i,                 I                   ],
                 [ Ukrainian_i,       Ukrainian_I         ]    };
  key <AD09> {   [ o,                 O                   ],
                 [ Cyrillic_o,        Cyrillic_O          ]    };
  key <AD10> {   [ p,                 P                   ],
                 [ Cyrillic_pe,       Cyrillic_PE         ]    };
  key <AD11> {   [ bracketleft,       braceleft           ],
                 [ Cyrillic_sha,      Cyrillic_SHA        ]    };
  key <AD12> {   [ bracketright,      braceright          ],
                 [ Cyrillic_shcha,    Cyrillic_SHCHA      ]    };

  key <AC01> {   [ a,                 A                   ],
                 [ Cyrillic_a,        Cyrillic_A          ]    };
  key <AC02> {   [ s,                 S                   ],
                 [ Cyrillic_es,       Cyrillic_ES         ]    };
  key <AC03> {   [ d,                 D                   ],
                 [ Cyrillic_de,       Cyrillic_DE         ]    };
  key <AC04> {   [ f,                 F                   ],
                 [ Cyrillic_ef,       Cyrillic_EF         ]    };
  key <AC05> {   [ g,                 G                   ],
                 [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
  key <AC06> {   [ h,                 H                   ],
                 [ Cyrillic_ha,       Cyrillic_HA         ]    };
  key <AC07> {   [ j,                 J                   ],
                 [ Cyrillic_shorti,   Cyrillic_SHORTI     ]    };
  key <AC08> {   [ k,                 K                   ],
                 [ Cyrillic_ka,       Cyrillic_KA         ]    };
  key <AC09> {   [ l,                 L                   ],
                 [ Cyrillic_el,       Cyrillic_EL         ]    };
  key <AC10> {   [ semicolon,         colon               ],
 		 [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
  key <AC11> {   [ quoteright,        quotedbl            ],
                 [ quoteright,        quotedbl            ]    };
  key <BKSL> {   [ backslash,         bar                 ],
                 [ Cyrillic_yu,       Cyrillic_YU         ]    };

  key <AB01> {   [ z,                 Z                   ],
                 [ Cyrillic_ze,       Cyrillic_ZE         ]    };
  key <AB02> {   [ x,                 X                   ],
                 [ Cyrillic_softsign, Cyrillic_SOFTSIGN   ]    };
  key <AB03> {   [ c,                 C                   ],
                 [ Cyrillic_tse,      Cyrillic_TSE        ]    };
  key <AB04> {   [ v,                 V                   ],
                 [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
  key <AB05> {   [ b,                 B                   ],
                 [ Cyrillic_be,       Cyrillic_BE         ]    };
  key <AB06> {   [ n,                 N                   ],
                 [ Cyrillic_en,       Cyrillic_EN         ]    };
  key <AB07> {   [ m,                 M                   ],
                 [ Cyrillic_em,       Cyrillic_EM         ]    };
  key <AB08> {   [ comma,             less                ],
                 [ comma,             less                ]    };
  key <AB09> {   [ period,            greater             ],
                 [ period,            greater             ]    };
  key <AB10> {   [ slash,             question            ],
                 [ slash,             question            ]    };
};
