Subject: kern/5312: Danish keymap for wscons
To: None <gnats-bugs@gnats.netbsd.org>
From: Soren S. Jorvang <soren@gnyf.t.dk>
List: netbsd-bugs
Date: 04/18/1998 12:17:12
>Number:         5312
>Category:       kern
>Synopsis:       Danish keymap for wscons
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 18 03:20:01 1998
>Last-Modified:
>Originator:     Soren S. Jorvang
>Organization:
Shub-organization-field.
>Release:        NetBSD-current 19980417
>Environment:
System: NetBSD gnyf 1.3E i386


>Description:
Danish keymap for new wscons code.


>How-To-Repeat:
Think about what the labels on the keys actually say before hitting them.
Become confused.


>Fix:
--- src/sys/dev/wscons/wskbdmap_mfii.h.orig	Sat Apr 11 15:22:05 1998
+++ src/sys/dev/wscons/wskbdmap_mfii.h	Mon Apr 13 23:52:42 1998
@@ -182,13 +182,46 @@
     KC(41),  KS_asciicircum,	KS_degree,
 };
 
+static const keysym_t wscons_keydesc_dk[] = {
+/*  pos      normal		shifted		altgr		shift-altgr */
+    KC(3),   KS_2,		KS_quotedbl,	KS_at,
+    KC(4),   KS_3,		KS_numbersign,	KS_sterling,
+    KC(5),   KS_4,		KS_currency,	KS_dollar,
+    KC(7),   KS_6,		KS_ampersand,
+    KC(8),   KS_7,		KS_slash,	KS_braceleft,
+    KC(9),   KS_8,		KS_parenleft,	KS_bracketleft,
+    KC(10),  KS_9,		KS_parenright,	KS_bracketright,
+    KC(11),  KS_0,		KS_equal,	KS_braceright,
+    KC(12),  KS_plus,		KS_question,
+    KC(13),  KS_dead_acute,	KS_dead_grave,	KS_bar,
+    KC(26),  KS_aring,
+    KC(27),  KS_dead_diaeresis,	KS_dead_circumflex, KS_dead_tilde,
+    KC(39),  KS_ae,
+    KC(40),  KS_oslash,
+    KC(41),  KS_onehalf,	KS_paragraph,
+    KC(43),  KS_apostrophe,	KS_asterisk,
+    KC(51),  KS_comma,		KS_semicolon,
+    KC(52),  KS_period,		KS_colon,
+    KC(53),  KS_minus,		KS_underscore,
+    KC(86),  KS_less,		KS_greater,	KS_backslash,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
+static const keysym_t wscons_keydesc_dk_nodead[] = {
+/*  pos      normal		shifted		altgr		shift-altgr */
+    KC(13),  KS_apostrophe,	KS_grave,	KS_bar,
+    KC(27),  KS_diaeresis,	KS_asciicircum,	KS_asciitilde,
+};
+
+
 #define KBD_MAP(name, base, map) \
 			{ name, base, sizeof(map)/sizeof(keysym_t), map }
 
 static const struct wscons_keydesc wscons_keydesctab[] = {
 	KBD_MAP(KB_US,			0,	wscons_keydesc_us),
 	KBD_MAP(KB_DE,			KB_US,	wscons_keydesc_de),
	KBD_MAP(KB_DE | KB_NODEAD,	KB_DE,	wscons_keydesc_de_nodead),
+	KBD_MAP(KB_DK,			KB_US,	wscons_keydesc_dk),
+	KBD_MAP(KB_DK | KB_NODEAD,	KB_DK,	wscons_keydesc_dk_nodead),
 };
 
 #undef KBD_MAP
--- src/sys/dev/wscons/wsksymdef.h.orig	Mon Apr 13 23:53:08 1998
+++ src/sys/dev/wscons/wsksymdef.h	Mon Apr 13 23:59:26 1998
@@ -433,6 +433,7 @@
 #define KB_USER			0x0100
 #define KB_US			0x0200
 #define KB_DE			0x0300
+#define KB_DK			0x0400
 
 #define KB_NODEAD		0x0001
 
@@ -440,6 +441,7 @@
 	{ KB_USER,	"user" }, \
 	{ KB_US,	"us" }, \
 	{ KB_DE,	"de" }, \
+	{ KB_DK,	"dk" }, \
 	{ KB_NODEAD,	"nodead" }
 
 #endif /* !_DEV_WSCONS_WSKSYMDEF_H_ */
>Audit-Trail:
>Unformatted: