Module Name:    src
Committed By:   bouyer
Date:           Sun Nov  1 16:13:11 UTC 2009

Modified Files:
        src/sys/dev/pckbport [netbsd-5]: wskbdmap_mfii.c
        src/sys/dev/wscons [netbsd-5]: wskbdutil.c wsksymdef.h

Log Message:
Apply patch, requested by ahoka in ticket #1111:
        sys/dev/pckbport/wskbdmap_mfii.c                patch
        sys/dev/wscons/wsksymdef.h                      patch
        sys/dev/wscons/wskbdutil.c                      patch
Add hungarian keyboard layout.


To generate a diff of this commit:
cvs rdiff -u -r1.15.8.3 -r1.15.8.4 src/sys/dev/pckbport/wskbdmap_mfii.c
cvs rdiff -u -r1.15 -r1.15.10.1 src/sys/dev/wscons/wskbdutil.c
cvs rdiff -u -r1.61 -r1.61.8.1 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/pckbport/wskbdmap_mfii.c
diff -u src/sys/dev/pckbport/wskbdmap_mfii.c:1.15.8.3 src/sys/dev/pckbport/wskbdmap_mfii.c:1.15.8.4
--- src/sys/dev/pckbport/wskbdmap_mfii.c:1.15.8.3	Wed Oct 28 13:06:22 2009
+++ src/sys/dev/pckbport/wskbdmap_mfii.c	Sun Nov  1 16:13:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: wskbdmap_mfii.c,v 1.15.8.3 2009/10/28 13:06:22 bouyer Exp $	*/
+/*	$NetBSD: wskbdmap_mfii.c,v 1.15.8.4 2009/11/01 16:13:10 bouyer 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.15.8.3 2009/10/28 13:06:22 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.15.8.4 2009/11/01 16:13:10 bouyer Exp $");
 
 #include "opt_wskbdmap.h"
 #include <sys/types.h>
@@ -443,6 +443,44 @@
     KC(184), KS_Mode_switch,	KS_Multi_key,
 };
 
+static const keysym_t pckbd_keydesc_hu[] = {
+/*  pos      normal		shifted		altgr		shift-altgr */
+    KC(2),   KS_1,		KS_apostrophe,	KS_asciitilde,
+    KC(3),   KS_2,		KS_quotedbl,	KS_dead_caron,
+    KC(4),   KS_3,		KS_plus,	KS_asciicircum,
+    KC(5),   KS_4,		KS_exclam,	KS_dead_breve,
+    KC(6),   KS_5,		KS_percent,	KS_dead_abovering,
+    KC(7),   KS_6,		KS_slash,	KS_dead_ogonek,
+    KC(8),   KS_7,		KS_equal,	KS_grave,
+    KC(9),   KS_8,		KS_parenleft,	KS_dead_dotaccent,
+    KC(10),  KS_9,		KS_parenright,	KS_dead_acute,
+    KC(11),  KS_odiaeresis,	KS_Odiaeresis,	KS_dead_hungarumlaut,
+    KC(12),  KS_udiaeresis,	KS_Udiaeresis,	KS_dead_diaeresis,
+    KC(13),  KS_oacute,		KS_Oacute,	KS_dead_cedilla,
+    KC(16),  KS_q,		KS_Q,		KS_backslash,
+    KC(17),  KS_w,		KS_W,		KS_bar,
+    KC(21),  KS_z,
+    KC(26),  KS_odoubleacute,	KS_Odoubleacute,KS_division,
+    KC(27),  KS_uacute,		KS_Uacute,	KS_multiply,
+    KC(33),  KS_f,		KS_F,		KS_bracketleft,
+    KC(34),  KS_g,		KS_G,		KS_bracketright,
+    KC(39),  KS_eacute,		KS_Eacute,	KS_dollar,
+    KC(40),  KS_aacute,		KS_Aacute,	KS_ssharp,
+    KC(41),  KS_0,		KS_section,
+    KC(43),  KS_udoubleacute,	KS_Udoubleacute,KS_currency,
+    KC(44),  KS_y,		KS_Y,		KS_greater,
+    KC(45),  KS_x,		KS_X,		KS_numbersign,
+    KC(46),  KS_c,		KS_C,		KS_ampersand,
+    KC(47),  KS_v,		KS_V,		KS_at,
+    KC(48),  KS_b,		KS_B,		KS_braceleft,
+    KC(49),  KS_n,		KS_N,		KS_braceright,
+    KC(51),  KS_comma,		KS_question,	KS_semicolon,
+    KC(52),  KS_period,		KS_colon,
+    KC(53),  KS_minus,		KS_underscore,	KS_asterisk,
+    KC(86),  KS_iacute,		KS_Iacute,	KS_less,
+    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 */
@@ -632,6 +670,7 @@
 	KBD_MAP(KB_ES ,			KB_US,	pckbd_keydesc_es),
 	KBD_MAP(KB_PT,			KB_US,	pckbd_keydesc_pt),
 	KBD_MAP(KB_GR,			KB_US,	pckbd_keydesc_gr),
+	KBD_MAP(KB_HU,			KB_US,	pckbd_keydesc_hu),
 #endif /* WSKBD_USONLY */
 
 	/* placeholders */

Index: src/sys/dev/wscons/wskbdutil.c
diff -u src/sys/dev/wscons/wskbdutil.c:1.15 src/sys/dev/wscons/wskbdutil.c:1.15.10.1
--- src/sys/dev/wscons/wskbdutil.c:1.15	Mon Apr 28 20:24:01 2008
+++ src/sys/dev/wscons/wskbdutil.c	Sun Nov  1 16:13:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: wskbdutil.c,v 1.15 2008/04/28 20:24:01 martin Exp $	*/
+/*	$NetBSD: wskbdutil.c,v 1.15.10.1 2009/11/01 16:13:10 bouyer Exp $	*/
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wskbdutil.c,v 1.15 2008/04/28 20:24:01 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbdutil.c,v 1.15.10.1 2009/11/01 16:13:10 bouyer Exp $");
 
 #include <sys/param.h>
 #include <sys/errno.h>
@@ -187,7 +187,78 @@
 	{ { KS_dead_semi,		KS_gr_y },		KS_gr_yt  },
 	{ { KS_dead_semi,		KS_gr_v },		KS_gr_vt  },
 	{ { KS_dead_colon,		KS_gr_i },		KS_gr_id  },
-	{ { KS_dead_colon,		KS_gr_y },		KS_gr_yd  }
+	{ { KS_dead_colon,		KS_gr_y },		KS_gr_yd  },
+
+	/* Latin 2*/
+
+        { { KS_dead_acute,		KS_S },			KS_Sacute },
+	{ { KS_dead_acute,		KS_Z },			KS_Zacute },
+	{ { KS_dead_acute,		KS_s },			KS_sacute },
+	{ { KS_dead_acute,		KS_z },			KS_zacute },
+	{ { KS_dead_acute,		KS_R },			KS_Racute },
+	{ { KS_dead_acute,		KS_A },			KS_Aacute },
+	{ { KS_dead_acute,		KS_L },			KS_Lacute },
+	{ { KS_dead_acute,		KS_C },			KS_Cacute },
+	{ { KS_dead_acute,		KS_E },			KS_Eacute },
+	{ { KS_dead_acute,		KS_I },			KS_Iacute },
+	{ { KS_dead_acute,		KS_N },			KS_Nacute },
+	{ { KS_dead_acute,		KS_O },			KS_Oacute },
+	{ { KS_dead_acute,		KS_U },			KS_Uacute },
+	{ { KS_dead_acute,		KS_Y },			KS_Yacute },
+	{ { KS_dead_acute,		KS_r },			KS_racute },
+	{ { KS_dead_acute,		KS_a },			KS_aacute },
+	{ { KS_dead_acute,		KS_l },			KS_lacute },
+	{ { KS_dead_acute,		KS_c },			KS_cacute },
+	{ { KS_dead_acute,		KS_e },			KS_eacute },
+	{ { KS_dead_acute,		KS_i },			KS_iacute },
+	{ { KS_dead_acute,		KS_n },			KS_nacute },
+	{ { KS_dead_acute,		KS_o },			KS_oacute },
+	{ { KS_dead_acute,		KS_u },			KS_uacute },
+	{ { KS_dead_acute,		KS_y },			KS_yacute },
+	{ { KS_dead_breve,		KS_A },			KS_Abreve },
+	{ { KS_dead_breve,		KS_a },			KS_abreve },
+	{ { KS_dead_caron,		KS_L },			KS_Lcaron },
+	{ { KS_dead_caron,		KS_S },			KS_Scaron },
+	{ { KS_dead_caron,		KS_T },			KS_Tcaron },
+	{ { KS_dead_caron,		KS_Z },			KS_Zcaron },
+	{ { KS_dead_caron,		KS_l },			KS_lcaron },
+	{ { KS_dead_caron,		KS_s },			KS_scaron },
+	{ { KS_dead_caron,		KS_t },			KS_tcaron },
+	{ { KS_dead_caron,		KS_z },			KS_zcaron },
+	{ { KS_dead_caron,		KS_C },			KS_Ccaron },
+	{ { KS_dead_caron,		KS_E },			KS_Ecaron },
+	{ { KS_dead_caron,		KS_D },			KS_Dcaron },
+	{ { KS_dead_caron,		KS_N },			KS_Ncaron },
+	{ { KS_dead_caron,		KS_R },			KS_Rcaron },
+	{ { KS_dead_caron,		KS_c },			KS_ccaron },
+	{ { KS_dead_caron,		KS_e },			KS_ecaron },
+	{ { KS_dead_caron,		KS_d },			KS_dcaron },
+	{ { KS_dead_caron,		KS_n },			KS_ncaron },
+	{ { KS_dead_caron,		KS_r },			KS_rcaron },
+	{ { KS_dead_cedilla,		KS_S },			KS_Scedilla },
+	{ { KS_dead_cedilla,		KS_s },			KS_scedilla },
+	{ { KS_dead_cedilla,		KS_C },			KS_Ccedilla },
+	{ { KS_dead_cedilla,		KS_T },			KS_Tcedilla },
+	{ { KS_dead_cedilla,		KS_c },			KS_ccedilla },
+	{ { KS_dead_cedilla,		KS_t },			KS_tcedilla },
+	{ { KS_dead_circumflex,		KS_A },			KS_Acircumflex },
+	{ { KS_dead_circumflex,		KS_I },			KS_Icircumflex },
+	{ { KS_dead_circumflex,		KS_O },			KS_Ocircumflex },
+	{ { KS_dead_circumflex,		KS_a },			KS_acircumflex },
+	{ { KS_dead_circumflex,		KS_i },			KS_icircumflex },
+	{ { KS_dead_circumflex,		KS_o },			KS_ocircumflex },
+	{ { KS_dead_diaeresis,		KS_A },			KS_Adiaeresis },
+	{ { KS_dead_diaeresis,		KS_E },			KS_Ediaeresis },
+	{ { KS_dead_diaeresis,		KS_O },			KS_Odiaeresis },
+	{ { KS_dead_diaeresis,		KS_U },			KS_Udiaeresis },
+	{ { KS_dead_diaeresis,		KS_a },			KS_adiaeresis },
+	{ { KS_dead_diaeresis,		KS_e },			KS_ediaeresis },
+	{ { KS_dead_diaeresis,		KS_o },			KS_odiaeresis },
+	{ { KS_dead_diaeresis,		KS_u },			KS_udiaeresis },
+	{ { KS_dead_ogonek,		KS_A },			KS_Aogonek },
+	{ { KS_dead_ogonek,		KS_a },			KS_aogonek },
+	{ { KS_dead_ogonek,		KS_E },			KS_Eogonek },
+	{ { KS_dead_ogonek,		KS_e },			KS_eogonek }
 };
 
 #define COMPOSE_SIZE	sizeof(compose_tab)/sizeof(compose_tab[0])

Index: src/sys/dev/wscons/wsksymdef.h
diff -u src/sys/dev/wscons/wsksymdef.h:1.61 src/sys/dev/wscons/wsksymdef.h:1.61.8.1
--- src/sys/dev/wscons/wsksymdef.h:1.61	Wed May 21 07:39:24 2008
+++ src/sys/dev/wscons/wsksymdef.h	Sun Nov  1 16:13:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsksymdef.h,v 1.61 2008/05/21 07:39:24 ghen Exp $ */
+/*	$NetBSD: wsksymdef.h,v 1.61.8.1 2009/11/01 16:13:10 bouyer Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -153,7 +153,6 @@
 #define	KS_braceright 		0x7d
 #define	KS_asciitilde 		0x7e
 #define	KS_Delete 		0x7f
-
 #define	KS_nobreakspace 	0xa0
 #define	KS_exclamdown 		0xa1
 #define	KS_cent 		0xa2
@@ -250,22 +249,85 @@
 #define	KS_yacute 		0xfd
 #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		0x0142
+#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)
+ * http://www.unicode.org/charts/PDF/U0300.pdf
+ * dotaccent	= "dot above"
+ * hungarumlaut	= "double acute"
+ * slash	= "short solidus"
  */
 
 #define	KS_dead_grave 		0x0300
 #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_dotaccent	0x0307
+#define KS_dead_hungarumlaut	0x030b
+#define KS_dead_ogonek		0x0328
+#define KS_dead_slash		0x0337
 #define	KS_dead_cedilla 	0x0327
 #define        KS_dead_semi		0x0328
 #define        KS_dead_colon		0x0329

Reply via email to