Module Name:    src
Committed By:   nia
Date:           Wed Sep 22 17:37:32 UTC 2021

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

Log Message:
wscons: add definitions for BÉPO, a standardized, Dvorak-style optimized
keyboard layout for French


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/hid/hidkbdmap.c
cvs rdiff -u -r1.34 -r1.35 src/sys/dev/pckbport/wskbdmap_mfii.c
cvs rdiff -u -r1.76 -r1.77 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.

Modified files:

Index: src/sys/dev/hid/hidkbdmap.c
diff -u src/sys/dev/hid/hidkbdmap.c:1.14 src/sys/dev/hid/hidkbdmap.c:1.15
--- src/sys/dev/hid/hidkbdmap.c:1.14	Wed Jul 21 06:35:45 2021
+++ src/sys/dev/hid/hidkbdmap.c	Wed Sep 22 17:37:32 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: hidkbdmap.c,v 1.14 2021/07/21 06:35:45 skrll Exp $	*/
+/*	$NetBSD: hidkbdmap.c,v 1.15 2021/09/22 17:37:32 nia Exp $	*/
 
 /*
  * Copyright (c) 1999,2001 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hidkbdmap.c,v 1.14 2021/07/21 06:35:45 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hidkbdmap.c,v 1.15 2021/09/22 17:37:32 nia Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -496,6 +496,60 @@ Static const keysym_t hidkbd_keydesc_fr[
     KC(230), KS_Mode_switch,	KS_Multi_key,
 };
 
+Static const keysym_t hidkbd_keydesc_fr_bepo[] = {
+/*  pos	    normal		shifted		altgr		shift-altgr */
+    KC(53),  KS_dollar,		KS_numbersign,
+    KC(30),  KS_quotedbl,	KS_1,
+    KC(31),  KS_guillemotleft,	KS_2,		KS_less,
+    KC(32),  KS_guillemotright,	KS_3,		KS_greater,
+    KC(33),  KS_parenleft,	KS_4,		KS_bracketleft,
+    KC(34),  KS_parenright,	KS_5,		KS_bracketright,
+    KC(35),  KS_at,		KS_6,		KS_asciicircum,
+    KC(36),  KS_plus,		KS_7,		KS_plusminus,
+    KC(37),  KS_minus,		KS_8,
+    KC(38),  KS_slash,		KS_9,		KS_division,
+    KC(39),  KS_asterisk,	KS_0,		KS_multiply,
+    KC(45),  KS_equal,		KS_degree,
+    KC(46),  KS_percent,	KS_grave,
+    KC(20),  KS_b,		KS_B,		KS_bar,		KS_underscore,
+    KC(26),  KS_eacute,		KS_Eacute,	KS_dead_acute,
+    KC(8),   KS_p,		KS_P,		KS_ampersand,	KS_section,
+    KC(21),  KS_o,		KS_O,
+    KC(23),  KS_egrave,		KS_Egrave,	KS_dead_grave,	KS_grave,
+    KC(28),  KS_dead_circumflex,KS_exclam,	KS_exclamdown,
+    KC(24),  KS_v,		KS_V,		KS_dead_caron,
+    KC(12),  KS_d,		KS_D,
+    KC(18),  KS_l,		KS_L,		KS_sterling,
+    KC(19),  KS_j,		KS_J,
+    KC(47),  KS_z,		KS_Z,
+    KC(48),  KS_w,		KS_W,
+    KC(4),   KS_a,		KS_A,		KS_ae,		KS_AE,
+    KC(22),  KS_u,		KS_U,		KS_ugrave,	KS_Ugrave,
+    KC(7),   KS_i,		KS_I,		KS_dead_diaeresis,
+    KC(9),   KS_e,		KS_E,		KS_currency,
+    KC(10),  KS_comma,		KS_semicolon,	KS_apostrophe,
+    KC(11),  KS_c,		KS_C,		KS_dead_cedilla,KS_copyright,
+    KC(13),  KS_t,		KS_T,
+    KC(14),  KS_s,		KS_S,
+    KC(15),  KS_r,		KS_R,		KS_dead_breve,	KS_registered,
+    KC(51),  KS_n,		KS_N,		KS_dead_tilde,
+    KC(52),  KS_m,		KS_M,
+    KC(50),  KS_ccedilla,	KS_Ccedilla,
+    KC(29),  KS_agrave,		KS_Agrave,	KS_backslash,
+    KC(27),  KS_y,		KS_Y,		KS_braceleft,
+    KC(6),   KS_x,		KS_X,		KS_braceright,
+    KC(25),  KS_period,		KS_colon,
+    KC(5),   KS_k,		KS_K,		KS_asciitilde,
+    KC(17),  KS_apostrophe,	KS_question,	KS_questiondown,
+    KC(16),  KS_q,		KS_Q,		KS_dead_abovering,
+    KC(54),  KS_g,		KS_G,
+    KC(55),  KS_h,		KS_H,
+    KC(56),  KS_f,		KS_F,		KS_dead_ogonek,
+    KC(44),  KS_space,		KS_space,	KS_underscore,	KS_nobreakspace,
+    KC(100), KS_ecircumflex,	KS_Ecircumflex,	KS_slash,	KS_asciicircum,
+    KC(230), KS_Mode_switch,	KS_Multi_key,
+};
+
 Static const keysym_t hidkbd_keydesc_be[] = {
 /*  pos	     normal		shifted		altgr		shift-altgr */
     KC(30),  KS_ampersand,	KS_1,		KS_bar,
@@ -881,9 +935,9 @@ const struct wscons_keydesc hidkbd_keyde
 	KBD_MAP(KB_JP | KB_SWAPCTRLCAPS,KB_JP,	hidkbd_keydesc_swapctrlcaps),
 	KBD_MAP(KB_DE,			KB_US,	hidkbd_keydesc_de),
 	KBD_MAP(KB_DE | KB_NODEAD,	KB_DE,	hidkbd_keydesc_de_nodead),
-	KBD_MAP(KB_NEO,			KB_US,	hidkbd_keydesc_de_neo),
 	KBD_MAP(KB_FR,                  KB_US,  hidkbd_keydesc_fr),
 	KBD_MAP(KB_FR | KB_SWAPCTRLCAPS,KB_FR,	hidkbd_keydesc_swapctrlcaps),
+	KBD_MAP(KB_BEPO,                KB_US,  hidkbd_keydesc_fr_bepo),
 	KBD_MAP(KB_BE,                  KB_FR,  hidkbd_keydesc_be),
 	KBD_MAP(KB_BR,                  KB_US,  hidkbd_keydesc_br),
 	KBD_MAP(KB_BR | KB_NODEAD,	KB_BR,  hidkbd_keydesc_br_nodead),
@@ -898,6 +952,7 @@ const struct wscons_keydesc hidkbd_keyde
 	KBD_MAP(KB_SV | KB_NODEAD,	KB_SV,	hidkbd_keydesc_sv_nodead),
 	KBD_MAP(KB_EE,			KB_SV,	hidkbd_keydesc_ee),
 	KBD_MAP(KB_EE | KB_NODEAD,	KB_EE,	hidkbd_keydesc_ee_nodead),
+	KBD_MAP(KB_NEO,			KB_US,	hidkbd_keydesc_de_neo),
 	KBD_MAP(KB_NO,			KB_DK,	hidkbd_keydesc_no),
 	KBD_MAP(KB_NO | KB_NODEAD,	KB_NO,	hidkbd_keydesc_no_nodead),
 	KBD_MAP(KB_ES ,			KB_US,	hidkbd_keydesc_es),

Index: src/sys/dev/pckbport/wskbdmap_mfii.c
diff -u src/sys/dev/pckbport/wskbdmap_mfii.c:1.34 src/sys/dev/pckbport/wskbdmap_mfii.c:1.35
--- src/sys/dev/pckbport/wskbdmap_mfii.c:1.34	Tue May 11 10:16:48 2021
+++ src/sys/dev/pckbport/wskbdmap_mfii.c	Wed Sep 22 17:37:31 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: wskbdmap_mfii.c,v 1.34 2021/05/11 10:16:48 nia Exp $	*/
+/*	$NetBSD: wskbdmap_mfii.c,v 1.35 2021/09/22 17:37:31 nia Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.34 2021/05/11 10:16:48 nia Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.35 2021/09/22 17:37:31 nia Exp $");
 
 #include "opt_wskbdmap.h"
 #include <sys/types.h>
@@ -491,6 +491,60 @@ static const keysym_t pckbd_keydesc_fr[]
     KC(184), KS_Mode_switch,	KS_Multi_key,
 };
 
+static const keysym_t pckbd_keydesc_fr_bepo[] = {
+/*  pos	    normal		shifted		altgr		shift-altgr */
+    KC(41),  KS_dollar,		KS_numbersign,
+    KC(2),   KS_quotedbl,	KS_1,
+    KC(3),   KS_guillemotleft,	KS_2,		KS_less,
+    KC(4),   KS_guillemotright,	KS_3,		KS_greater,
+    KC(5),   KS_parenleft,	KS_4,		KS_bracketleft,
+    KC(6),   KS_parenright,	KS_5,		KS_bracketright,
+    KC(7),   KS_at,		KS_6,		KS_asciicircum,
+    KC(8),   KS_plus,		KS_7,		KS_plusminus,
+    KC(9),   KS_minus,		KS_8,
+    KC(10),  KS_slash,		KS_9,		KS_division,
+    KC(11),  KS_asterisk,	KS_0,		KS_multiply,
+    KC(12),  KS_equal,		KS_degree,
+    KC(13),  KS_percent,	KS_grave,
+    KC(16),  KS_b,		KS_B,		KS_bar,		KS_underscore,
+    KC(17),  KS_eacute,		KS_Eacute,	KS_dead_acute,
+    KC(18),  KS_p,		KS_P,		KS_ampersand,	KS_section,
+    KC(19),  KS_o,		KS_O,
+    KC(20),  KS_egrave,		KS_Egrave,	KS_dead_grave,	KS_grave,
+    KC(21),  KS_dead_circumflex,KS_exclam,	KS_exclamdown,
+    KC(22),  KS_v,		KS_V,		KS_dead_caron,
+    KC(23),  KS_d,		KS_D,
+    KC(24),  KS_l,		KS_L,		KS_sterling,
+    KC(25),  KS_j,		KS_J,
+    KC(26),  KS_z,		KS_Z,
+    KC(27),  KS_w,		KS_W,
+    KC(30),  KS_a,		KS_A,		KS_ae,		KS_AE,
+    KC(31),  KS_u,		KS_U,		KS_ugrave,	KS_Ugrave,
+    KC(32),  KS_i,		KS_I,		KS_dead_diaeresis,
+    KC(33),  KS_e,		KS_E,		KS_currency,
+    KC(34),  KS_comma,		KS_semicolon,	KS_apostrophe,
+    KC(35),  KS_c,		KS_C,		KS_dead_cedilla,KS_copyright,
+    KC(36),  KS_t,		KS_T,
+    KC(37),  KS_s,		KS_S,
+    KC(38),  KS_r,		KS_R,		KS_dead_breve,	KS_registered,
+    KC(39),  KS_n,		KS_N,		KS_dead_tilde,
+    KC(40),  KS_m,		KS_M,
+    KC(43),  KS_ccedilla,	KS_Ccedilla,
+    KC(44),  KS_agrave,		KS_Agrave,	KS_backslash,
+    KC(45),  KS_y,		KS_Y,		KS_braceleft,
+    KC(46),  KS_x,		KS_X,		KS_braceright,
+    KC(47),  KS_period,		KS_colon,
+    KC(48),  KS_k,		KS_K,		KS_asciitilde,
+    KC(49),  KS_apostrophe,	KS_question,	KS_questiondown,
+    KC(50),  KS_q,		KS_Q,		KS_dead_abovering,
+    KC(51),  KS_g,		KS_G,
+    KC(52),  KS_h,		KS_H,
+    KC(53),  KS_f,		KS_F,		KS_dead_ogonek,
+    KC(57),  KS_space,		KS_space,	KS_underscore,	KS_nobreakspace,
+    KC(86),  KS_ecircumflex,	KS_Ecircumflex,	KS_slash,	KS_asciicircum,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
 static const keysym_t pckbd_keydesc_be[] = {
 /*  pos	     normal		shifted		altgr		shift-altgr */
     KC(2),   KS_ampersand,	KS_1,		KS_bar,
@@ -1036,9 +1090,9 @@ static const keysym_t pckbd_keydesc_cf[]
 const struct wscons_keydesc pckbd_keydesctab[] = {
 	KBD_MAP(KB_US,			0,	pckbd_keydesc_us),
 #ifndef WSKBD_USONLY
+	KBD_MAP(KB_BEPO,                KB_US,  pckbd_keydesc_fr_bepo),
 	KBD_MAP(KB_DE,			KB_US,	pckbd_keydesc_de),
 	KBD_MAP(KB_DE | KB_NODEAD,	KB_DE,	pckbd_keydesc_de_nodead),
-	KBD_MAP(KB_NEO,			KB_US,	pckbd_keydesc_de_neo),
 	KBD_MAP(KB_SG,			KB_US,	pckbd_keydesc_sg),
 	KBD_MAP(KB_SG | KB_NODEAD,	KB_SG,	pckbd_keydesc_sg_nodead),
 	KBD_MAP(KB_SF,			KB_SG,	pckbd_keydesc_sf),
@@ -1058,6 +1112,7 @@ const struct wscons_keydesc pckbd_keydes
 	KBD_MAP(KB_SV | KB_NODEAD,	KB_SV,	pckbd_keydesc_sv_nodead),
 	KBD_MAP(KB_EE,			KB_SV,	pckbd_keydesc_ee),
 	KBD_MAP(KB_EE | KB_NODEAD,	KB_EE,	pckbd_keydesc_ee_nodead),
+	KBD_MAP(KB_NEO,			KB_US,	pckbd_keydesc_de_neo),
 	KBD_MAP(KB_NO,			KB_DK,	pckbd_keydesc_no),
 	KBD_MAP(KB_NO | KB_NODEAD,	KB_NO,	pckbd_keydesc_no_nodead),
 	KBD_MAP(KB_US | KB_DECLK,	KB_US,	pckbd_keydesc_us_declk),

Index: src/sys/dev/wscons/wsksymdef.h
diff -u src/sys/dev/wscons/wsksymdef.h:1.76 src/sys/dev/wscons/wsksymdef.h:1.77
--- src/sys/dev/wscons/wsksymdef.h:1.76	Tue May 11 10:16:48 2021
+++ src/sys/dev/wscons/wsksymdef.h	Wed Sep 22 17:37:32 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsksymdef.h,v 1.76 2021/05/11 10:16:48 nia Exp $ */
+/*	$NetBSD: wsksymdef.h,v 1.77 2021/09/22 17:37:32 nia Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -663,7 +663,8 @@ action(KB_DK,	0,	0x0400,	"dk",	,	"Danish
 action(KB_NL,	0,	0x1600,	"nl",	,	"Dutch") 		\
 action(KB_EE,	0,	0x1900,	"ee",	,	"Estonian") 		\
 action(KB_FI,	0,	0x0900,	"fi",	,	"Finnish")		\
-action(KB_FR,	0,	0x0600,	"fr",	,	"French")		\
+action(KB_FR,	0,	0x0600,	"fr",	,	"French (AZERTY)")	\
+action(KB_BEPO,	0,	0x2100,	"bepo",	,	"French (BEPO)")	\
 action(KB_DE, KB_NODEAD,0x0300,	"de",".nodead",	"German (QWERTZ)")	\
 action(KB_NEO,  0,	0x2000,	"neo",	,	"German (Neo 2)")	\
 action(KB_GR,	0,	0x1400,	"gr",	,	"Greek")		\

Reply via email to