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