NetBSD Problem Report #16216

Received: (qmail 1617 invoked from network); 6 Apr 2002 11:36:58 -0000
Message-Id: <20020406002315.2694.qmail@gloom.lab>
Date: 6 Apr 2002 00:23:15 -0000
From: jakym@volny.cz
Reply-To: jakym@volny.cz (jh@gloom.lab)
To: gnats-bugs@gnats.netbsd.org
Subject: Czech keymap was missing, so I have written one. It's not much
X-Send-Pr-Version: 3.95

>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:    freza
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 06 11:37:01 +0000 2002
>Closed-Date:    Mon Apr 06 17:39:53 +0000 2009
>Last-Modified:  Mon Apr 06 17:39:53 +0000 2009
>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:
Responsible-Changed-From-To: kern-bug-people->freza
Responsible-Changed-By: pooka@narn.netbsd.org
Responsible-Changed-When: Sat, 19 Jan 2008 22:24:58 +0200
Responsible-Changed-Why:
maybe you can handle this yourslf now?


From: Mark Kirby <mkirby@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/16216 CVS commit: src/sys/dev
Date: Mon, 6 Apr 2009 17:32:10 +0000

 Module Name:	src
 Committed By:	mkirby
 Date:		Mon Apr  6 17:32:10 UTC 2009

 Modified Files:
 	src/sys/dev/pckbport: wskbdmap_mfii.c
 	src/sys/dev/wscons: wskbdutil.c wsksymdef.h

 Log Message:
 Add a Czech (QWERTY) keyboard layout, and teach wscons about latin 2 characters.

 Original code from Lubomir Kundrak, adapted to current and cleaned up by me.

 Fixes PR kern/16216

 ok agc@ jdc@


 To generate a diff of this commit:
 cvs rdiff -u -r1.16 -r1.17 src/sys/dev/pckbport/wskbdmap_mfii.c
 cvs rdiff -u -r1.15 -r1.16 src/sys/dev/wscons/wskbdutil.c
 cvs rdiff -u -r1.62 -r1.63 src/sys/dev/wscons/wsksymdef.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: mkirby@NetBSD.org
State-Changed-When: Mon, 06 Apr 2009 17:39:53 +0000
State-Changed-Why:
I have added a Czech QWERTY keyboard layout to current.

>Unformatted:
 useful as of now due to wscons's limitations, but one day it will be.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.