diff -u --recursive --new-file xkb.orig/compat/group_led xkb/compat/group_led
--- xkb.orig/compat/group_led	Thu Jan  1 01:00:00 1970
+++ xkb/compat/group_led	Sun Jan 26 18:16:43 1997
@@ -0,0 +1,20 @@
+// This is a "default" compatibility with a small modification:
+// an "Scroll Lock" LED now shows the active keyboard group
+default xkb_compatibility "group_led"  {
+    include "basic"
+    augment "mousekeys"
+    augment "accessx(basic)"
+    augment "misc"
+    augment "iso9995"
+    augment "japan"
+//  This is to make Mode_switch working even in group 2
+    interpret Mode_switch {
+	useModMapMods= level1;
+	virtualModifier= AltGr;
+	action= SetGroup(group=+1);
+    };
+    indicator "Scroll Lock" {
+	allowExplicit;
+        groups= All-Group1;
+    };
+};
diff -u --recursive --new-file xkb.orig/compat.dir xkb/compat.dir
--- xkb.orig/compat.dir	Mon Nov 18 18:44:27 1996
+++ xkb/compat.dir	Sun Jan 26 17:27:17 1997
@@ -1,6 +1,7 @@
 -d------ -------- basic(basic)
 -d------ -------- complete(complete)
 -d------ -------- default(default)
+-d------ -------- group_led(group_led)
 -dp----- -------- iso9995(default)
 -dp----- -------- misc(misc)
 -dp----- -------- mousekeys(mousekeys)
diff -u --recursive --new-file xkb.orig/keymap/xfree86 xkb/keymap/xfree86
--- xkb.orig/keymap/xfree86	Mon Nov 18 18:44:31 1996
+++ xkb/keymap/xfree86	Sun Jan 26 17:27:17 1997
@@ -167,4 +167,87 @@
     xkb_symbols		{ include "jp(jp106)"		};
     xkb_geometry	{ include "pc(jp106)"			};
 };
-
+xkb_keymap "us_cz_qwerty" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_cz_qwerty)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "us_cz_qwertz" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_cz_qwertz)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "us_cz_prog" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_cz_prog)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "cz_us_qwerty" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(cz_us_qwerty)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "cz_us_qwertz" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(cz_us_qwertz)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "cz_us_prog" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(cz_us_prog)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "us_sk_qwerty" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_sk_qwerty)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "us_sk_qwertz" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_sk_qwertz)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "us_sk_prog" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(us_sk_prog)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "sk_us_qwerty" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(sk_us_qwerty)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "sk_us_qwertz" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(sk_us_qwertz)"	};
+    xkb_geometry	{ include "pc"			};
+};
+xkb_keymap "sk_us_prog" {
+    xkb_keycodes	{ include "xfree86"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "group_led"		};
+    xkb_symbols		{ include "czsk(sk_us_prog)"	};
+    xkb_geometry	{ include "pc"			};
+};
diff -u --recursive --new-file xkb.orig/keymap.dir xkb/keymap.dir
--- xkb.orig/keymap.dir	Tue Jun  3 22:40:07 1997
+++ xkb/keymap.dir	Wed Jun 11 14:11:01 1997
@@ -41,6 +41,18 @@
 -------- -------- xfree86(fr_CH)
 -------- -------- xfree86(jp106)
 -d------ -------- xfree98(jp)
+-------- -------- xfree86(us_cz_qwerty)
+-------- -------- xfree86(cz_us_qwerty)
+-------- -------- xfree86(us_cz_qwertz)
+-------- -------- xfree86(cz_us_qwertz)
+-------- -------- xfree86(us_cz_prog)
+-------- -------- xfree86(cz_us_prog)
+-------- -------- xfree86(us_sk_qwerty)
+-------- -------- xfree86(sk_us_qwerty)
+-------- -------- xfree86(us_sk_qwertz)
+-------- -------- xfree86(sk_us_qwertz)
+-------- -------- xfree86(us_sk_prog)
+-------- -------- xfree86(sk_us_prog)
 -d------ -------- sgi/be(indy)
 -------- -------- sgi/be(indy_nodeadkeys)
 -------- -------- sgi/be(indigo)
diff -u --recursive --new-file xkb.orig/symbols/czsk xkb/symbols/czsk
--- xkb.orig/symbols/czsk	Thu Jan  1 01:00:00 1970
+++ xkb/symbols/czsk	Sun Jan 26 17:27:17 1997
@@ -0,0 +1,505 @@
+// Czech and Slovak keyboard symbols for XKB and PC keyboard
+//
+// (C) 1997 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 "czsk(def_basic)"
+    include "czsk(def_us_czsk)"
+    include "czsk(def_us_sk_prog)"
+    include "czsk(def_us_sk)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "us_sk_qwertz" {
+    Name[Group1] = "US/ASCII";
+    Name[Group2] = "Slovak";
+
+    include "czsk(us_sk_qwerty)"
+    include "czsk(def_us_qwertz)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "us_sk_prog" {
+    Name[Group1] = "US/ASCII";
+    Name[Group2] = "Slovak";
+
+    include "czsk(def_basic)"
+    include "czsk(def_us_sk_prog)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "sk_us_qwerty" {
+    Name[Group1] = "Slovak";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_basic)"
+    include "czsk(def_czsk_us)"
+    include "czsk(def_sk_us_prog)"
+    include "czsk(def_sk_us)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "sk_us_qwertz" {
+    Name[Group1] = "Slovak";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_sk_us_qwerty)"
+    include "czsk(def_qwertz_us)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "sk_us_prog" {
+    Name[Group1] = "Slovak";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_basic)"
+    include "czsk(def_sk_us_prog)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "us_cz_qwerty" {
+    Name[Group1] = "US/ASCII";
+    Name[Group2] = "Czech";
+
+    include "czsk(def_basic)"
+    include "czsk(def_us_czsk)"
+    include "czsk(def_us_cz_prog)"
+    include "czsk(def_us_cz)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "us_cz_qwertz" {
+    Name[Group1] = "US/ASCII";
+    Name[Group2] = "Czech";
+
+    include "czsk(us_cz_qwerty)"
+    include "czsk(def_us_qwertz)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "us_cz_prog" {
+    Name[Group1] = "US/ASCII";
+    Name[Group2] = "Czech";
+
+    include "czsk(def_basic)"
+    include "czsk(def_us_cz_prog)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "cz_us_qwerty" {
+    Name[Group1] = "Czech";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_basic)"
+    include "czsk(def_czsk_us)"
+    include "czsk(def_cz_us_prog)"
+    include "czsk(def_cz_us)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "cz_us_qwertz" {
+    Name[Group1] = "Czech";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_cz_us_qwerty)"
+    include "czsk(def_qwertz_us)"
+};
+
+partial alphanumeric_keys 
+xkb_symbols "cz_us_prog" {
+    Name[Group1] = "Czech";
+    Name[Group2] = "US/ASCII";
+
+    include "czsk(def_basic)"
+    include "czsk(def_cz_us_prog)"
+};
+
+
+
+
+partial alphanumeric_keys 
+xkb_symbols "def_basic" {
+
+    // Describes the differences between a very simple us
+    // keyboard and a very simple Slovak keybaord
+
+    include "us(pc102)"
+    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_czsk_us" {
+    key <AE11> {
+	[	    equal,        percent	],
+	[           minus,     underscore	]
+	};
+    key <AD11> {
+	[	   il2_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_cz_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_czsk" {
+    key <AE11> {
+	[           minus,     underscore	],
+	[	    equal,        percent	]
+	};
+    key <AD11> {
+	[     bracketleft,      braceleft	],
+	[	   il2_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_cz" {
+    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	],
+	[	   il2_yacute,		7	]
+	};
+    key <AE08> {
+	[		8,       asterisk	],
+	[	   il2_aacute,		8	]
+	};
+    key <AE09> {
+	[		9,      parenleft	],
+	[	   il2_iacute,		9	]
+	};
+    key <AE10> {
+	[		0,     parenright	],
+	[	   il2_eacute,		0	]
+	};
+    key <AE12> {
+	[           equal,           plus	],
+	[      dead_acute,     dead_caron	]
+	};
+};
+
+partial alphanumeric_keys 
+xkb_symbols "def_us_cz_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	],
+	[	   il2_yacute,		7	]
+	};
+    key <AE08> {
+	[		8,       asterisk	],
+	[	   il2_aacute,		8	]
+	};
+    key <AE09> {
+	[		9,      parenleft	],
+	[	   il2_iacute,		9	]
+	};
+    key <AE10> {
+	[		0,     parenright	],
+	[	   il2_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> {
+	[	   il2_yacute,		7	],
+	[		7,      ampersand	]
+	};
+    key <AE08> {
+	[	   il2_aacute,		8	],
+	[		8,       asterisk	]
+	};
+    key <AE09> {
+	[	   il2_iacute,		9	],
+	[		9,      parenleft	]
+	};
+    key <AE10> {
+	[	   il2_eacute,		0	],
+	[		0,     parenright	]
+	};
+    key <AE12> {
+	[      dead_acute,     dead_caron	],
+	[           equal,           plus	]
+	};
+};
+
+partial alphanumeric_keys 
+xkb_symbols "def_cz_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> {
+	[	   il2_yacute,		7	],
+	[		7,      ampersand	]
+	};
+    key <AE08> {
+	[	   il2_aacute,		8	],
+	[		8,       asterisk	]
+	};
+    key <AE09> {
+	[	   il2_iacute,		9	],
+	[		9,      parenleft	]
+	};
+    key <AE10> {
+	[	   il2_eacute,		0	],
+	[		0,     parenright	]
+	};
+    key <AE12> {
+	[      dead_acute,     dead_caron	],
+	[           equal,           plus	]
+	};
+};
