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.