Subject: port-amiga/29598: Missed amiga keymaps (XFreee86 4.4.0)
To: None <port-amiga-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <chwalek@poczta.onet.pl>
List: netbsd-bugs
Date: 03/04/2005 19:57:00
>Number:         29598
>Category:       port-amiga
>Synopsis:       Missed amiga keymaps (XFreee86 4.4.0)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amiga-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 04 19:57:00 +0000 2005
>Originator:     Pawel Chwalowski
>Release:        NetBSD/amiga 2.0 with XFree86 4.4.0
>Organization:
>Environment:
>Description:
1. Wrong path in the amiga (and ataritt) keymap file. Symbols file for the amiga (and ataritt) is in the symbols/xfree68 directory

2. Incomplete "de" keymap (missed symbols definition)

3. Missed "fr", "pl_us" and "pl_eur" keymaps

>How-To-Repeat:

>Fix:
diff -ru xsrc/xfree/xc/programs/xkbcomp.ori/geometry/amiga xsrc/xfree/xc/programs/xkbcomp/geometry/amiga
--- xsrc/xfree/xc/programs/xkbcomp.ori/geometry/amiga	2005-03-01 23:52:49.000000000 +0100
+++ xsrc/xfree/xc/programs/xkbcomp/geometry/amiga	2005-03-02 00:28:14.000000000 +0100
@@ -268,3 +268,149 @@
     }; // End of "Keypad" section
 
 };
+
+xkb_geometry "fr" {
+
+    description= "Amiga (fr)";
+    width= 490;
+    height= 175;
+
+    shape.cornerRadius= 1;
+    shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
+    shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } };
+    shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } };
+    shape "TLDE" { { [ 28,18] }, { [2,1], [ 26,17] } };
+    shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } };
+    shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } };
+    shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } };
+    shape "RTRN" {
+	{ [ 0, 0], [28,0], [28,37], [5,37], [5,18], [ 0,18] },
+	{ [ 2, 1], [26,1], [26,36], [7,36], [7,17], [ 2,17] } };
+    shape "LFSH" { { [ 32,18] }, { [2,1], [ 29,17] } };
+    shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } };
+    shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } };
+    shape "SPCE" { { [172,18] }, { [2,1], [170,17] } };
+    shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } };
+    shape "KP0"  { { [ 37,18] }, { [2,1], [ 35,17] } };
+    shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } };
+
+    section.left= 22;
+    row.left= 1;
+    key.shape= "FCTS";
+    key.gap=  1;
+    section "Function" {
+	top= 28;
+	row {
+	    top= 1;
+	    keys { { <ESC>, shape="NORM" },
+		   { <FK01>, 9 }, <FK02>, <FK03>, <FK04>, <FK05>,
+		   { <FK06>, 9 }, <FK07>, <FK08>, <FK09>, <FK10>
+	    };
+	};
+    }; // End of "Function" section
+
+    key.shape= "NORM";
+    section "Alpha" {
+	top= 56;
+	row {
+	    top= 1;
+	    keys { { <TLDE>, shape="TLDE" },
+		   <AE01>, <AE02>, <AE03>, <AE04>, <AE05>, <AE06>,
+		   <AE07>, <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
+		   <BKSL>, { <BKSP>, "BKSP" }
+	    };
+	};
+	row {
+	    top= 20;
+	    keys { { <TAB>, "TABK" },
+		   <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 
+		   <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 
+		   <AD11>, <AD12>, { <RTRN>, "RTRN" }
+	    };
+	};
+	row {
+	    top= 39;
+	    keys { { <LCTL>, "CTRL" }, { <CAPS>, "CAPS" },
+		   <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
+		   <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
+		   <AC11>, <AC12>
+	    };
+	};
+	row {
+	    top= 58;
+	    keys { { <LFSH>, "LFSH" },
+		    <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
+		    <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 
+		    { <RTSH>, "RTSH" }
+	    };
+	};
+	row {
+	    top= 77;
+	    key.shape= "MODK";
+	    keys { { <LALT>, 14 }, <LAMI>,
+		   { <SPCE>, "SPCE" },
+		   <RAMI>, <RALT>
+	    };
+	};
+    }; // End of "Alpha" section
+
+    section "Editing" {
+	top= 56;
+	left= 326;
+	row {
+	    top= 1;
+	    key.shape = "DELE";
+	    keys { <DELE>, <HELP> };
+	};
+	row {
+	    top= 39;
+	    left = 20;
+	    keys { <UP> };
+	};
+	row {
+	    top= 58;
+	    keys { <LEFT>, <DOWN>, <RGHT> };
+	};
+    }; // End of "Editing" section
+
+    section "Keypad" {
+	top= 56;
+	left= 392;
+	row {
+	    top= 1;
+	    keys { <KPLP>, <KPRP>, <KPDV>, <KPMU> };
+	};
+	row {
+	    top= 20;
+	    keys { <KP7>, <KP8>, <KP9>, <KPSU> };
+	};
+	row {
+	    top= 39;
+	    keys { <KP4>, <KP5>, <KP6>, <KPAD> };
+	};
+	row {
+	    top= 58;
+	    keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPEN" } };
+	};
+	row {
+	    top= 77;
+	    keys { { <KP0>, "KP0" }, <KPDC> };
+	};
+    }; // End of "Keypad" section
+
+};
+
+// XXX simplified geometry (experimental)
+// Everyone uses either US layout or European layout 
+
+xkb_geometry "us" {
+    include "amiga(usa1)"
+
+    override description= "Amiga (us)";
+};
+xkb_geometry "eur" {
+    include "amiga(de)"
+
+    override description= "Amiga (eur)";
+};
+
diff -ru xsrc/xfree/xc/programs/xkbcomp.ori/keycodes/amiga xsrc/xfree/xc/programs/xkbcomp/keycodes/amiga
--- xsrc/xfree/xc/programs/xkbcomp.ori/keycodes/amiga	2005-03-01 23:52:49.000000000 +0100
+++ xsrc/xfree/xc/programs/xkbcomp/keycodes/amiga	2005-03-04 20:24:17.000000000 +0100
@@ -229,3 +229,135 @@
     <KPDC> = 68;
     <KPEN> = 75;
 };
+
+xkb_keycodes "fr" {
+
+    minimum= 8;
+    maximum= 111;
+
+    <ESC>  = 77;
+    <FK01> = 88;
+    <FK02> = 89;
+    <FK03> = 90;
+    <FK04> = 91;
+    <FK05> = 92;
+    <FK06> = 93;
+    <FK07> = 94;
+    <FK08> = 95;
+    <FK09> = 96;
+    <FK10> = 97;
+
+    <TLDE> = 8;
+    <AE01> = 9;
+    <AE02> = 10;
+    <AE03> = 11;
+    <AE04> = 12;
+    <AE05> = 13;
+    <AE06> = 14;
+    <AE07> = 15;
+    <AE08> = 16;
+    <AE09> = 17;
+    <AE10> = 18;
+    <AE11> = 19;
+    <AE12> = 20;
+    <BKSL> = 21;
+    <BKSP> = 73;
+
+    <TAB>  = 74;
+    <AD01> = 24;
+    <AD02> = 25;
+    <AD03> = 26;
+    <AD04> = 27;
+    <AD05> = 28;
+    <AD06> = 29;
+    <AD07> = 30;
+    <AD08> = 31;
+    <AD09> = 32;
+    <AD10> = 33;
+    <AD11> = 34;
+    <AD12> = 35;
+    <RTRN> = 76;
+
+    <LCTL> = 107;
+    <CAPS> = 106;
+    <AC01> = 40;
+    <AC02> = 41;
+    <AC03> = 42;
+    <AC04> = 43;
+    <AC05> = 44;
+    <AC06> = 45;
+    <AC07> = 46;
+    <AC08> = 47;
+    <AC09> = 48;
+    <AC10> = 49;
+    <AC11> = 50;
+    <AC12> = 51;
+
+    <LFSH> = 104;
+    <LSGT> = 56;
+    <AB01> = 57;
+    <AB02> = 58;
+    <AB03> = 59;
+    <AB04> = 60;
+    <AB05> = 61;
+    <AB06> = 62;
+    <AB07> = 63;
+    <AB08> = 64;
+    <AB09> = 65;
+    <AB10> = 66;
+    <RTSH> = 105;
+
+    <LALT> = 108;
+    <LAMI> = 110;
+    <SPCE> = 72;
+    <RAMI> = 111;
+    <RALT> = 109;
+
+    <DELE> = 78;
+    <HELP> = 103;
+    <UP>   = 84;
+    <LEFT> = 87;
+    <DOWN> = 85;
+    <RGHT> = 86;
+
+    <KPLP> = 98;
+    <KPRP> = 99;
+    <KPDV> = 100;
+    <KPMU> = 101;
+
+    <KP7>  = 69;
+    <KP8>  = 70;
+    <KP9>  = 71;
+    <KPSU> = 82;
+
+    <KP4>  = 53;
+    <KP5>  = 54;
+    <KP6>  = 55;
+    <KPAD> = 102;
+
+    <KP1>  = 37;
+    <KP2>  = 38;
+    <KP3>  = 39;
+
+    <KP0>  = 23;
+    <KPDC> = 68;
+    <KPEN> = 75;
+};
+
+// XXX simplified keycodes (experimental)
+// The only difference between US and European keyboards consists of two
+// additional keys (usa: 94 keys, europe: 96 keys)
+
+xkb_keycodes "us" {
+    include "amiga(usa1)"
+};
+
+xkb_keycodes "eur" {
+    include "amiga(usa1)"
+    
+    // AC11
+    <AC12> = 51;
+    // LFSH
+    <LSGT> = 56;
+    // AB01
+};
diff -ru xsrc/xfree/xc/programs/xkbcomp.ori/keymap/amiga xsrc/xfree/xc/programs/xkbcomp/keymap/amiga
--- xsrc/xfree/xc/programs/xkbcomp.ori/keymap/amiga	2005-03-01 23:52:48.000000000 +0100
+++ xsrc/xfree/xc/programs/xkbcomp/keymap/amiga	2005-03-02 00:16:30.000000000 +0100
@@ -9,7 +9,7 @@
     xkb_keycodes	{ include "amiga(usa1)"		};
     xkb_types		{ include "default"		};
     xkb_compatibility	{ include "default"		};
-    xkb_symbols		{ include "amiga(usa1)"		};
+    xkb_symbols		{ include "xfree68/amiga(usa1)"	};
     xkb_geometry	{ include "amiga(usa1)"		};
 };
 
@@ -17,6 +17,30 @@
     xkb_keycodes	{ include "amiga(de)"		};
     xkb_types		{ include "default"		};
     xkb_compatibility	{ include "default"		};
-    xkb_symbols		{ include "amiga(de)"		};
+    xkb_symbols		{ include "xfree68/amiga(de)"	};
     xkb_geometry	{ include "amiga(de)"		};
 };
+
+xkb_keymap "fr" {
+    xkb_keycodes	{ include "amiga(fr)"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "default"		};
+    xkb_symbols		{ include "xfree68/amiga(fr)"	};
+    xkb_geometry	{ include "amiga(fr)"		};
+};
+
+xkb_keymap "pl_us" {
+    xkb_keycodes	{ include "amiga(us)"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "default"		};
+    xkb_symbols		{ include "xfree68/amiga(pl_us)"};
+    xkb_geometry	{ include "amiga(us)"		};
+};
+
+xkb_keymap "pl_eur" {
+    xkb_keycodes	{ include "amiga(eur)"		};
+    xkb_types		{ include "default"		};
+    xkb_compatibility	{ include "default"		};
+    xkb_symbols		{ include "xfree68/amiga(pl_eur)"};
+    xkb_geometry	{ include "amiga(eur)"		};
+};
diff -ru xsrc/xfree/xc/programs/xkbcomp.ori/keymap/ataritt xsrc/xfree/xc/programs/xkbcomp/keymap/ataritt
--- xsrc/xfree/xc/programs/xkbcomp.ori/keymap/ataritt	2005-03-01 23:52:48.000000000 +0100
+++ xsrc/xfree/xc/programs/xkbcomp/keymap/ataritt	2005-03-01 23:59:17.000000000 +0100
@@ -9,13 +9,13 @@
     xkb_keycodes	{ include "ataritt(us)"		};
     xkb_types		{ include "default"		};
     xkb_compatibility	{ include "default"		};
-    xkb_symbols		{ include "ataritt(us)"		};
+    xkb_symbols		{ include "xfree68/ataritt(us)"	};
     xkb_geometry	{ include "ataritt(us)"		};
 };
 xkb_keymap "de" {
     xkb_keycodes	{ include "ataritt(de)"		};
     xkb_types		{ include "default"		};
     xkb_compatibility	{ include "default"		};
-    xkb_symbols		{ include "ataritt(de)"		};
+    xkb_symbols		{ include "xfree68/ataritt(de)"	};
     xkb_geometry	{ include "ataritt(de)"		};
 };
diff -ru xsrc/xfree/xc/programs/xkbcomp.ori/symbols/xfree68/amiga xsrc/xfree/xc/programs/xkbcomp/symbols/xfree68/amiga
--- xsrc/xfree/xc/programs/xkbcomp.ori/symbols/xfree68/amiga	2005-03-01 23:52:50.000000000 +0100
+++ xsrc/xfree/xc/programs/xkbcomp/symbols/xfree68/amiga	2005-03-04 20:26:20.000000000 +0100
@@ -130,3 +130,388 @@
     modifier_map Mod2	{ Mode_switch };
     modifier_map Mod3	{ Meta_L, Meta_R };
 };
+
+xkb_symbols "de" {
+
+    name[Group1]= "German";
+    key <ESC>  {	[	 Escape			]	};
+
+    // Begin "Function" section
+    key <FK01> {	[	 F1			]	};
+    key <FK02> {	[	 F2			]	};
+    key <FK03> {	[	 F3			]	};
+    key <FK04> {	[	 F4			]	};
+    key <FK05> {	[	 F5			]	};
+    key <FK06> {	[	 F6			]	};
+    key <FK07> {	[	 F7			]	};
+    key <FK08> {	[	 F8			]	};
+    key <FK09> {	[	 F9			]	};
+    key <FK10> {	[	 F10			]	};
+    // End "Function" section
+
+    // Alphanumeric section
+    key <TLDE> {	[ grave,	asciitilde	],
+			[	grave		]	};
+    key <AE01> {	[	  1,	exclam 		],
+			[ onesuperior,	exclam		]	};
+    key <AE02> {	[	  2,	quotedbl	],
+			[        at,	twosuperior	]	};
+    key <AE03> {	[	  3,	paragraph	],
+			[ threesuperior, numbersign	]	};
+    key <AE04> {	[	  4,	dollar		],
+			[    degree,	cent		]	};
+    key <AE05> {	[	  5,	percent		],
+			[ onequarter,	percent		]	};
+    key <AE06> {	[	  6,	ampersand	],
+			[   onehalf,	asciicircum	]	};
+    key <AE07> {	[	  7,	slash		],
+			[ threequarters, ampersand	]	};
+    key <AE08> {	[	  8,	parenleft	],
+			[ periodcentered, asterisk	]	};
+    key <AE09> {	[	  9,	parenright	],
+			[ guillemotleft, parenleft	]	};
+    key <AE10> {	[	  0,	equal		],
+			[ guillemotright, parenright	]	};
+    key <AE11> {	[    ssharp,	question	],
+			[     minus,	underscore	]	};
+    key <AE12> {	[ apostrophe,	grave	],
+			[     equal,	plus		]	};
+    key <BKSL> {	[ backslash,	bar		]	};
+    key <BKSP> {	[	BackSpace		]	};
+
+    key  <TAB> {	[	Tab,	ISO_Left_Tab	]	};
+    key <AD01> {	[	  q,	Q 		],
+			[     aring,	Aring		]	};
+    key <AD02> {	[	  w,	W		],
+			[    degree,	degree		]	};
+    key <AD03> {	[	  e,	E		],
+			[ copyright,	copyright	]	};
+    key <AD04> {	[	  r,	R		],
+			[ registered,	registered	]	};
+    key <AD05> {	[	  t,	T		],
+			[     thorn,	THORN		]	};
+    key <AD06> {	[	  z,	Z		],
+			[  currency,	yen		]	};
+    key <AD07> {	[	  u,	U		],
+			[        mu,	mu		]	};
+    key <AD08> {	[	  i,	I		],
+			[ exclamdown,	brokenbar	]	};
+    key <AD09> {	[	  o,	O		],
+			[    oslash,	Ooblique	]	};
+    key <AD10> {	[	  p,	P		],
+			[ paragraph,	paragraph	]	};
+    key <AD11> {	[ udiaeresis,	Udiaeresis	],
+			[ bracketleft,	braceleft	]	};
+    key <AD12> {	[      plus,	asterisk	],
+			[ bracketright,	braceright	]	};
+    key <RTRN> {	[	 Return			]	};
+
+    key <LCTL> {	[	 Control_L		]	};
+    key <CAPS> {	[	 Caps_Lock		]	};
+    key <AC01> {	[	  a,	A 		],
+			[        ae,	AE		]	};
+    key <AC02> {	[	  s,	S		],
+			[    ssharp,	section		]	};
+    key <AC03> {	[	  d,	D		],
+			[       eth,	ETH		]	};
+    key <AC04> {	[	  f,	F		]	};
+    key <AC05> {	[	  g,	G		]	};
+    key <AC06> {	[	  h,	H		]	};
+    key <AC07> {	[	  j,	J		]	};
+    key <AC08> {	[	  k,	K		]	};
+    key <AC09> {	[	  l,	L		],
+			[  sterling,	sterling	]	};
+    key <AC10> {	[ odiaeresis,	Odiaeresis	],
+			[ semicolon,	colon		]	};
+    key <AC11> {	[ adiaeresis,	Adiaeresis	],
+			[ apostrophe,	quotedbl	]	};
+    key <AC12> {	[ numbersign,	asciicircum	]	};
+
+    key <LFSH> {	[	 Shift_L		]	};
+    key <LSGT> {	[      less,	greater		]	};
+    key <AB01> {	[	  y,	Y 		]	};
+    key <AB02> {	[	  x,	X		]	};
+    key <AB03> {	[	  c,	C		]	};
+    key <AB04> {	[	  v,	V		]	};
+    key <AB05> {	[	  b,	B		]	};
+    key <AB06> {	[	  n,	N		]	};
+    key <AB07> {	[	  m,	M		]	};
+    key <AB08> {	[     comma,	semicolon	],
+			[     comma,	less		]	};
+    key <AB09> {	[    period,	colon		],
+			[    period,	greater		]	};
+    key <AB10> {	[     minus,	underscore	],
+			[     slash,	question	]	};
+    key <RTSH> {	[	 Shift_R		]	};
+
+    key <LALT> {	[	 Alt_L 		]	};
+    key <LAMI> {	[	 Meta_L		]	};
+    key <SPCE> {	[	 space		]	};
+    key <RAMI> {	[	 Meta_R		]	};
+    key <RALT> {	[ Mode_switch,	Multi_key	]	};
+    // End alphanumeric section
+
+    // Begin "Editing" section
+    key <DELE> {	[	 Delete		]	};
+    key <HELP> {	[	 Help		]	};
+    key <UP>   {	[	 Up		]	};
+    key <LEFT> {	[	 Left		]	};
+    key <DOWN> {	[	 Down		]	};
+    key <RGHT> {	[	 Right		]	};
+    // End "Editing" section
+
+    // Begin "Keypad" section
+    key <KPLP> {	[ bracketleft,	braceleft	],
+			[	 Num_Lock		]	};
+    key <KPRP> {	[ bracketright,	braceright	],
+			[	 Scroll_Lock		]	};
+    key <KPDV> {	[	 KP_Divide		]	};
+    key <KPMU> {	[	 KP_Multiply		],
+			[	 Print			]	};
+
+    key <KP7>  {	[      KP_7,	KP_Home		]	};
+    key <KP8>  {	[      KP_8,	KP_Up		]	};
+    key <KP9>  {	[      KP_9,	KP_Prior	]	};
+    key <KPSU> {	[	 KP_Subtract		]	};
+
+    key <KP4>  {	[      KP_4,	KP_Left		]	};
+    key <KP5>  {	[	    KP_5		]	};
+    key <KP6>  {	[      KP_6,	KP_Right	]	};
+    key <KPAD> {	[	   KP_Add		]	};
+
+    key <KP1>  {	[      KP_1,	KP_End		]	};
+    key <KP2>  {	[      KP_2,	KP_Down		]	};
+    key <KP3>  {	[      KP_3,	KP_Next		]	};
+
+    key <KP0>  {	[      KP_0,	KP_Insert	]	};
+    key <KPDC> {	[ KP_Decimal,	KP_Delete	]	};
+    key <KPEN> {	[	  KP_Enter		]	};
+    // End "Keypad" section
+
+    // begin modifier mappings
+    modifier_map Shift  { Shift_L, Shift_R };
+    modifier_map Lock   { Caps_Lock };
+    modifier_map Control{ Control_L };
+    modifier_map Mod1	{ Alt_L };
+    modifier_map Mod2	{ Mode_switch };
+    modifier_map Mod3	{ Meta_L, Meta_R };
+};
+
+xkb_symbols "fr" {
+
+    name[Group1]= "French";
+    key <ESC>  {	[	 Escape			]	};
+
+    // Begin "Function" section
+    key <FK01> {	[	 F1			]	};
+    key <FK02> {	[	 F2			]	};
+    key <FK03> {	[	 F3			]	};
+    key <FK04> {	[	 F4			]	};
+    key <FK05> {	[	 F5			]	};
+    key <FK06> {	[	 F6			]	};
+    key <FK07> {	[	 F7			]	};
+    key <FK08> {	[	 F8			]	};
+    key <FK09> {	[	 F9			]	};
+    key <FK10> {	[	 F10			]	};
+    // End "Function" section
+
+    // Alphanumeric section
+    key <TLDE> {	[     grave,	asciitilde	],
+			[	grave			]	};
+    key <AE01> {	[ ampersand,	1 		],
+			[ onesuperior,	exclam		]	};
+    key <AE02> {	[    eacute,	2		],
+			[ twosuperior,	at		]	};
+    key <AE03> {	[  quotedbl,	3		],
+			[ threesuperior, numbersign	]	};
+    key <AE04> {	[ apostrophe,	4		],
+			[      cent,	dollar		]	};
+    key <AE05> {	[ parenleft,	5		],
+			[ onequarter,	percent		]	};
+    key <AE06> {	[ section,	6		],
+			[   onehalf,	asciicircum	]	};
+    key <AE07> {	[    egrave,	7		],
+			[ threequarters, ampersand	]	};
+    key <AE08> {	[    exclam,	8		],
+			[ periodcentered, asterisk	]	};
+    key <AE09> {	[  ccedilla,	9		],
+			[ guillemotleft, parenleft	]	};
+    key <AE10> {	[    agrave,	0		],
+			[ guillemotright, parenright	]	};
+    key <AE11> {	[ parenright,	degree		],
+			[     minus,	underscore	]	};
+    key <AE12> {	[     minus,	underscore	],
+			[     equal,	plus		]	};
+    key <BKSL> {	[ backslash,	bar		]	};
+    key <BKSP> {	[	BackSpace		]	};
+
+    key  <TAB> {	[	Tab,	ISO_Left_Tab	]	};
+    key <AD01> {	[	  a,	A 		],
+			[     aring,	Aring		]	};
+    key <AD02> {	[	  z,	Z		],
+			[    degree,	degree		]	};
+    key <AD03> {	[	  e,	E		],
+			[ copyright,	copyright	]	};
+    key <AD04> {	[	  r,	R		],
+			[ registered,	registered	]	};
+    key <AD05> {	[	  t,	T		],
+			[     thorn,	THORN		]	};
+    key <AD06> {	[	  y,	Y		],
+			[  currency,	yen		]	};
+    key <AD07> {	[	  u,	U		],
+			[        mu,	mu		]	};
+    key <AD08> {	[	  i,	I		],
+			[ exclamdown,	brokenbar	]	};
+    key <AD09> {	[	  o,	O		],
+			[    oslash,	Ooblique	]	};
+    key <AD10> {	[	  p,	P		],
+			[ paragraph,	paragraph	]	};
+    key <AD11> {	[ dead_circumflex,	dead_diaeresis	],
+			[ bracketleft,	braceleft	]	};
+    key <AD12> {	[      dollar,	asterisk	],
+			[ bracketright,	braceright	]	};
+    key <RTRN> {	[	 Return			]	};
+
+    key <LCTL> {	[	 Control_L		]	};
+    key <CAPS> {	[	 Caps_Lock		]	};
+    key <AC01> {	[	  q,	Q 		],
+			[        ae,	AE		]	};
+    key <AC02> {	[	  s,	S		],
+			[    ssharp,	section		]	};
+    key <AC03> {	[	  d,	D		],
+			[       eth,	ETH		]	};
+    key <AC04> {	[	  f,	F		]	};
+    key <AC05> {	[	  g,	G		]	};
+    key <AC06> {	[	  h,	H		]	};
+    key <AC07> {	[	  j,	J		]	};
+    key <AC08> {	[	  k,	K		]	};
+    key <AC09> {	[	  l,	L		],
+			[  sterling,	sterling	]	};
+    key <AC10> {	[ 	  m,	M		],
+			[ semicolon,	colon		]	};
+    key <AC11> {	[    ugrave,	percent		],
+			[ apostrophe,	quotedbl	]	};
+    key <AC12> {	[ 	 mu,	sterling	]	};
+
+    key <LFSH> {	[	 Shift_L		]	};
+    key <LSGT> {	[      less,	greater		]	};
+    key <AB01> {	[	  w,	W 		],
+			[ plusminus,	notsign		]	};
+    key <AB02> {	[	  x,	X		],
+			[  multiply,	division	]	};
+    key <AB03> {	[	  c,	C		],
+			[  ccedilla,	Ccedilla	]	};
+    key <AB04> {	[	  v,	V		],
+			[	ordfeminine		]	};
+    key <AB05> {	[	  b,	B		],
+			[	masculine		]	};
+    key <AB06> {	[	  n,	N		],
+			[     minus,	underscore	]	};
+    key <AB07> {	[     comma,	question	],
+			[   cedilla,	questiondown	]	};
+    key <AB08> {	[ semicolon,	period		],
+			[     comma,	less		]	};
+    key <AB09> {	[     colon,	slash		],
+			[    period,	greater		]	};
+    key <AB10> {	[     equal,	plus		],
+			[     slash,	question	]	};
+    key <RTSH> {	[	 Shift_R		]	};
+
+    key <LALT> {	[	 Alt_L 		]	};
+    key <LAMI> {	[	 Meta_L		]	};
+    key <SPCE> {	[	 space		]	};
+    key <RAMI> {	[	 Meta_R		]	};
+    key <RALT> {	[ Mode_switch,	Multi_key	]	};
+    // End alphanumeric section
+
+    // Begin "Editing" section
+    key <DELE> {	[	 Delete		]	};
+    key <HELP> {	[	 Help		]	};
+    key <UP>   {	[	 Up		]	};
+    key <LEFT> {	[	 Left		]	};
+    key <DOWN> {	[	 Down		]	};
+    key <RGHT> {	[	 Right		]	};
+    // End "Editing" section
+
+    // Begin "Keypad" section
+    key <KPLP> {	[ bracketleft,	braceleft	],
+			[	 Num_Lock		]	};
+    key <KPRP> {	[ bracketright,	braceright	],
+			[	 Scroll_Lock		]	};
+    key <KPDV> {	[	 KP_Divide		]	};
+    key <KPMU> {	[	 KP_Multiply		],
+			[	 Print			]	};
+
+    key <KP7>  {	[      KP_7,	KP_Home		]	};
+    key <KP8>  {	[      KP_8,	KP_Up		]	};
+    key <KP9>  {	[      KP_9,	KP_Prior	]	};
+    key <KPSU> {	[	 KP_Subtract		]	};
+
+    key <KP4>  {	[      KP_4,	KP_Left		]	};
+    key <KP5>  {	[	    KP_5		]	};
+    key <KP6>  {	[      KP_6,	KP_Right	]	};
+    key <KPAD> {	[	   KP_Add		]	};
+
+    key <KP1>  {	[      KP_1,	KP_End		]	};
+    key <KP2>  {	[      KP_2,	KP_Down		]	};
+    key <KP3>  {	[      KP_3,	KP_Next		]	};
+
+    key <KP0>  {	[      KP_0,	KP_Insert	]	};
+    key <KPDC> {	[ KP_Decimal,	KP_Delete	]	};
+    key <KPEN> {	[	  KP_Enter		]	};
+    // End "Keypad" section
+
+    // begin modifier mappings
+    modifier_map Shift  { Shift_L, Shift_R };
+    modifier_map Lock   { Caps_Lock };
+    modifier_map Control{ Control_L };
+    modifier_map Mod1	{ Alt_L };
+    modifier_map Mod2	{ Mode_switch };
+    modifier_map Mod3	{ Meta_L, Meta_R };
+};
+
+// common polish symbols for US and European keyboards
+//
+partial xkb_symbols "pl" {
+
+    name[Group1]= "Polish";
+
+    // Begin "Function" section
+    // End "Function" section
+
+    // Alphanumeric section
+    key <AD03> { symbols[Group2]= [ ecircumflex, 	Ecircumflex	] };
+    key <AD09> { symbols[Group2]= [ oacute, 	Oacute	] };
+
+    key <AC01> { symbols[Group2]= [ plusminus, 	exclamdown	] };
+    key <AC02> { symbols[Group2]= [ paragraph, 	brokenbar	] };
+    key <AC09> { symbols[Group2]= [ threesuperior, 	sterling	] };
+
+    key <AB02> { symbols[Group2]= [ onequarter, 	notsign	] };
+    key <AB03> { symbols[Group2]= [ ae, 	AE	] };
+    key <AB06> { symbols[Group2]= [ ntilde, 	Ntilde	] };
+    // End alphanumeric section
+
+    // Begin "Editing" section
+    // End "Editing" section
+
+    // Begin "Keypad" section
+    // End "Keypad" section
+
+    // begin modifier mappings
+};
+
+xkb_symbols "pl_us" {
+    replace "xfree68/amiga(usa1)+xfree68/amiga(pl)"
+
+    override key <AB01> { symbols[Group2]= [ questiondown, 	macron	] };
+};
+
+xkb_symbols "pl_eur" {
+    replace "xfree68/amiga(de)+xfree68/amiga(pl)"
+
+    override key <AD06> { symbols[Group2]= [ questiondown, 	macron	] };
+    override key <AC12> { symbols[Group1]= [ numbersign,	asciicircum ] };
+    override key <LSGT> { symbols[Group1]= [ less,	greater ] };
+};
+