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: