Subject: kern/16216: Czech keymap was missing, so I have written one. It's not much
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jakym@volny.cz>
List: netbsd-bugs
Date: 04/06/2002 00:23:15
>Number:         16216
>Category:       kern
>Synopsis:       Czech keymap was missing, so I have written one. It's not much
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 06 03:37:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jachym _Freza_ Holecek
>Release:        NetBSD 1.5ZA Jan-29-2002 (I think)
>Organization:
>Environment:
NetBSD 1.5ZA Jan-29-2002 (I think)
System: NetBSD gloom 1.5ZA NetBSD 1.5ZA (GLOOM) #12: Fri Apr 5 20:47:08 CEST 2002 root@gloom:/data/test/arch/i386/compile/GLOOM i386
Architecture: i386
Machine: i386
>Description:
I added czech keymap. 
>How-To-Repeat:
>Fix:
cd /sys/dev and apply the following patch

--- pckbc/wskbdmap_mfii.c.orig	Sat Mar 23 15:56:27 2002
+++ pckbc/wskbdmap_mfii.c	Sat Apr  6 01:26:55 2002
@@ -384,6 +384,21 @@
     KC(184), KS_Mode_switch,	KS_Multi_key,
 };
 
+static const keysym_t pckbd_keydesc_cz[] = {
+/*  pos      normal		shifted		altgr		shift-altgr */
+    KC(3),   KS_2,		KS_at,		KS_ecaron,	KS_2,
+    KC(4),   KS_3,		KS_numbersign,	KS_scaron,	KS_3,
+    KC(5),   KS_4,		KS_dollar,	KS_ccaron,	KS_4,
+    KC(6),   KS_5,		KS_percent,	KS_rcaron,	KS_5,
+    KC(7),   KS_6,		KS_asciicircum, KS_zcaron,	KS_6,
+    KC(8),   KS_7,		KS_ampersand,	KS_yacute,	KS_7,
+    KC(9),   KS_8,		KS_asterisk,	KS_aacute,	KS_8,
+    KC(10),  KS_9,		KS_parenleft,	KS_iacute,	KS_9,
+    KC(11),  KS_0,		KS_parenright,	KS_eacute,	KS_0,
+    KC(13),  KS_equal,		KS_plus,	KS_dead_acute,	KS_dead_caron,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
 static const keysym_t pckbd_keydesc_us_declk[] = {
 /*  pos      normal		shifted		altgr		shift-altgr */
     KC(1),	KS_grave,	KS_asciitilde, /* replace escape */
@@ -512,7 +527,8 @@
 		pckbd_keydesc_swapctrlcaps),
 	KBD_MAP(KB_US | KB_IOPENER | KB_SWAPCTRLCAPS,	KB_US | KB_IOPENER,
 		pckbd_keydesc_swapctrlcaps),
-	KBD_MAP(KB_ES ,			KB_US,	pckbd_keydesc_es),
+	KBD_MAP(KB_ES,			KB_US,	pckbd_keydesc_es),
+	KBD_MAP(KB_CZ, 			KB_US, 	pckbd_keydesc_cz),
 	KBD_NULLMAP(KB_US | KB_MACHDEP,	KB_US),
 	KBD_NULLMAP(KB_JP | KB_MACHDEP,	KB_JP),
 	KBD_NULLMAP(KB_US | KB_MACHDEP | KB_SWAPCTRLCAPS,
--- wscons/wsksymdef.h.orig	Sat Apr  6 02:19:18 2002
+++ wscons/wsksymdef.h	Sat Apr  6 02:20:54 2002
@@ -42,7 +42,7 @@
 /*
  * Keysymbols encoded as 16-bit Unicode. Special symbols
  * are encoded in the private area (0xe000 - 0xf8ff).
- * Currently only ISO Latin-1 subset is supported.
+ * Currently only a subset of Unicode is supported.
  *
  * This file is parsed from userland. Encode keysyms as:
  *
@@ -258,10 +258,64 @@
 #define	KS_thorn 		0xfe
 #define	KS_ydiaeresis 		0xff
 
-#define KS_Odoubleacute 	0x150
-#define KS_odoubleacute 	0x151
-#define KS_Udoubleacute 	0x170
-#define KS_udoubleacute 	0x171
+#define KS_Abreve		0x0102
+#define KS_abreve		0x0103
+#define KS_Aogonek		0x0104
+#define KS_aogonek		0x0105
+#define KS_Cacute		0x0106
+#define KS_cacute		0x0107
+#define KS_Ccaron		0x010c
+#define KS_ccaron		0x010d
+#define KS_Dcaron		0x010e
+#define KS_dcaron		0x010f
+#define KS_Dstroke		0x0110
+#define KS_dstroke		0x0111
+#define KS_Eogonek		0x0118
+#define KS_eogonek		0x0119
+#define KS_Ecaron		0x011a
+#define KS_ecaron		0x011b
+#define KS_Lacute		0x0139
+#define KS_lacute		0x013a
+#define KS_Lcaron		0x013d
+#define KS_lcaron		0x013e
+#define KS_Lstroke		0x0141
+#define KS_lstroke		0x0141
+#define KS_Nacute		0x0143
+#define KS_nacute		0x0144
+#define KS_Ncaron		0x0147
+#define KS_ncaron		0x0148
+#define KS_Odoubleacute 	0x0150
+#define KS_odoubleacute 	0x0151
+#define KS_Racute		0x0154
+#define KS_racute		0x0155
+#define KS_Rcaron		0x0158
+#define KS_rcaron		0x0159
+#define KS_Sacute		0x015a
+#define KS_sacute		0x015b
+#define KS_Scedilla		0x015e
+#define KS_scedilla		0x015f
+#define KS_Scaron		0x0160
+#define KS_scaron		0x0161
+#define KS_Tcedilla		0x0162
+#define KS_tcedilla		0x0163
+#define KS_Tcaron		0x0164
+#define KS_tcaron		0x0165
+#define KS_Uabovering		0x016e
+#define KS_uabovering		0x016f
+#define KS_Udoubleacute 	0x0170
+#define KS_udoubleacute 	0x0171
+#define KS_Zacute		0x0179
+#define KS_zacute		0x017a
+#define KS_Zabovedot		0x017b
+#define KS_zabovedot		0x017c
+#define KS_Zcaron		0x017d
+#define KS_zcaron		0x017e
+
+#define KS_caron		0x02c7
+#define KS_breve		0x02d8
+#define KS_abovedot		0x02d9
+#define KS_ogonek		0x02db
+#define KS_doubleacute		0x02dd
 
 /*
  * Group Dead (dead accents)
@@ -271,8 +325,10 @@
 #define	KS_dead_acute 		0x0301
 #define	KS_dead_circumflex 	0x0302
 #define	KS_dead_tilde 		0x0303
+#define KS_dead_breve		0x0306
 #define	KS_dead_diaeresis 	0x0308
 #define	KS_dead_abovering 	0x030a
+#define KS_dead_caron		0x030c
 #define	KS_dead_cedilla 	0x0327
 
 /*
@@ -488,6 +544,7 @@
 #define KB_ES			0x0b00
 #define KB_HU			0x0c00
 #define	KB_PL			0x0d00
+#define KB_CZ			0x0e00
 
 #define KB_NODEAD		0x0001
 #define KB_DECLK		0x0002	/* DEC LKnnn layout */
@@ -511,7 +568,8 @@
 	{ KB_NO,	"no" }, \
 	{ KB_ES,	"es" }, \
 	{ KB_HU,	"hu" },	\
-	{ KB_PL,	"pl" }
+	{ KB_PL,	"pl" }, \
+	{ KB_CZ,	"cz" }
 
 #define KB_VARTAB \
 	{ KB_NODEAD,	"nodead" }, \
>Release-Note:
>Audit-Trail:
>Unformatted:
 useful as of now due to wscons's limitations, but one day it will be.