Subject: kern/6231: french keymap for wscons
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthieu Herrb <matthieu@mipnet.fr>
List: netbsd-bugs
Date: 10/02/1998 23:38:19
>Number:         6231
>Category:       kern
>Synopsis:       french keymap for wscons
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Fri Oct  2 14:50:01 1998
>Last-Modified:
>Originator:     Matthieu Herrb
>Organization:
	LAAS/CNRS Toulouse, France
>Release:        NetBSD-current Oct 2, 1998
>Environment:
System: NetBSD cougar 1.3H NetBSD 1.3H (COUGAR) #11: Fri Oct 2 23:14:36 CEST 1998 matthieu@cougar:/sys/arch/i386/compile/COUGAR i386


>Description:
	This patch adds a french keymap to wscons. I've only tested it
	on the i386.
>How-To-Repeat:
	Try to use a french keyboard under wscons
>Fix:
--- sys/dev/pckbc/wskbdmap_mfii.c.orig	Fri Oct  2 23:27:18 1998
+++ sys/dev/pckbc/wskbdmap_mfii.c	Fri Oct  2 23:29:17 1998
@@ -218,6 +218,38 @@
     KC(27),  KS_diaeresis,	KS_asciicircum,	KS_asciitilde,
 };
 
+static const keysym_t pckbd_keydesc_fr[] = {
+/*  pos	     normal		shifted		altgr		shift-altgr */
+    KC(2),   KS_ampersand,	KS_1,
+    KC(3),   KS_eacute,		KS_2,		KS_asciitilde,
+    KC(4),   KS_quotedbl,	KS_3,		KS_numbersign,
+    KC(5),   KS_apostrophe,	KS_4,		KS_braceleft,
+    KC(6),   KS_parenleft,	KS_5,		KS_bracketleft,
+    KC(7),   KS_minus,		KS_6,		KS_bar,
+    KC(8),   KS_egrave,		KS_7,		KS_grave,
+    KC(9),   KS_underscore,	KS_8,		KS_backslash,
+    KC(10),  KS_ccedilla,	KS_9,		KS_asciicircum,
+    KC(11),  KS_agrave,		KS_0,		KS_at,
+    KC(12),  KS_parenright,	KS_degree,	KS_bracketright,
+    KC(13),  KS_equal,		KS_plus,	KS_braceright,
+    KC(16),  KS_a,
+    KC(17),  KS_z,
+    KC(26),  KS_dead_circumflex, KS_dead_diaeresis, 
+    KC(27),  KS_dollar,		KS_sterling,	KS_currency,
+    KC(30),  KS_q,
+    KC(39),  KS_m,
+    KC(40),  KS_ugrave,		KS_percent,
+    KC(41),  KS_twosuperior,
+    KC(43),  KS_asterisk,	KS_mu,
+    KC(44),  KS_w,
+    KC(50),  KS_comma,		KS_question,
+    KC(51),  KS_semicolon,	KS_period,
+    KC(52),  KS_colon,		KS_slash,
+    KC(53),  KS_exclam,		KS_section,
+    KC(86),  KS_less,		KS_greater,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
 static const keysym_t pckbd_keydesc_it[] = {
 /*  pos      normal		shifted		altgr		shift-altgr */
     KC(3),   KS_2,	    	KS_quotedbl,	KS_twosuperior,
@@ -292,6 +324,7 @@
 	KBD_MAP(KB_DE | KB_NODEAD,	KB_DE,	pckbd_keydesc_de_nodead),
 	KBD_MAP(KB_DK,			KB_US,	pckbd_keydesc_dk),
 	KBD_MAP(KB_DK | KB_NODEAD,	KB_DK,	pckbd_keydesc_dk_nodead),
+	KBD_MAP(KB_FR,                  KB_US,  pckbd_keydesc_fr),
 	KBD_MAP(KB_IT,			KB_US,	pckbd_keydesc_it),
 	KBD_MAP(KB_US | KB_DECLK,	KB_US,	pckbd_keydesc_us_declk),
 	{0, 0, 0, 0}
--- sys/dev/wscons/wskbdmap_mfii.h.orig	Fri Sep 18 13:13:07 1998
+++ sys/dev/wscons/wskbdmap_mfii.h	Fri Oct  2 23:13:48 1998
@@ -213,6 +213,38 @@
     KC(27),  KS_diaeresis,	KS_asciicircum,	KS_asciitilde,
 };
 
+static const keysym_t pckbd_keydesc_fr[] = {
+/*  pos	     normal		shifted		altgr		shift-altgr */
+    KC(2),   KS_ampersand,	KS_1,
+    KC(3),   KS_eacute,		KS_2,		KS_asciitilde,
+    KC(4),   KS_quotedbl,	KS_3,		KS_numbersign,
+    KC(5),   KS_apostrophe,	KS_4,		KS_braceleft,
+    KC(6),   KS_parenleft,	KS_5,		KS_bracketleft,
+    KC(7),   KS_minus,		KS_6,		KS_bar,
+    KC(8),   KS_egrave,		KS_7,		KS_grave,
+    KC(9),   KS_underscore,	KS_8,		KS_backslash,
+    KC(10),  KS_ccedilla,	KS_9,		KS_asciicircum,
+    KC(11),  KS_agrave,		KS_0,		KS_at,
+    KC(12),  KS_parenright,	KS_degree,	KS_bracketright,
+    KC(13),  KS_equal,		KS_plus,	KS_braceright,
+    KC(16),  KS_a,
+    KC(17),  KS_z,
+    KC(26),  KS_dead_circumflex, KS_dead_diaeresis, 
+    KC(27),  KS_dollar,		KS_sterling,	KS_currency,
+    KC(30),  KS_q,
+    KC(39),  KS_m,
+    KC(40),  KS_ugrave,		KS_percent,
+    KC(41),  KS_twosuperior,
+    KC(43),  KS_asterisk,	KS_mu,
+    KC(44),  KS_w,
+    KC(50),  KS_comma,		KS_question,
+    KC(51),  KS_semicolon,	KS_period,
+    KC(52),  KS_colon,		KS_slash,
+    KC(53),  KS_exclam,		KS_section,
+    KC(86),  KS_less,		KS_greater,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
 static const keysym_t pckbd_keydesc_it[] = {
 /*  pos      normal		shifted		altgr		shift-altgr */
     KC(3),   KS_2,	    	KS_quotedbl,	KS_twosuperior,
@@ -286,6 +318,7 @@
 	KBD_MAP(KB_DE | KB_NODEAD,	KB_DE,	pckbd_keydesc_de_nodead),
 	KBD_MAP(KB_DK,			KB_US,	pckbd_keydesc_dk),
 	KBD_MAP(KB_DK | KB_NODEAD,	KB_DK,	pckbd_keydesc_dk_nodead),
+	KBD_MAP(KB_FR,                  KB_US,  pckbd_keydesc_fr),
 	KBD_MAP(KB_IT,			KB_US,	pckbd_keydesc_it),
 	KBD_MAP(KB_US | KB_DECLK,	KB_US,	pckbd_keydesc_us_declk),
 	{0, 0, 0, 0}
--- sys/dev/wscons/wsksymdef.h.orig	Fri Sep 18 13:13:07 1998
+++ sys/dev/wscons/wsksymdef.h	Fri Oct  2 21:29:39 1998
@@ -439,6 +439,7 @@
 #define KB_DE			0x0300
 #define KB_DK			0x0400
 #define KB_IT			0x0500
+#define KB_FR                   0x0600
 
 #define KB_NODEAD		0x0001
 #define KB_DECLK		0x0002	/* DEC LKnnn layout */
@@ -449,6 +450,7 @@
 	{ KB_US,	"us" }, \
 	{ KB_DE,	"de" }, \
 	{ KB_DK,	"dk" }, \
+	{ KB_FR,	"fr" }, \
 	{ KB_NODEAD,	"nodead" }, \
 	{ KB_DECLK,	"declk" }, \
 	{ KB_LK401,	"lk401" }

>Audit-Trail:
>Unformatted: