Module Name:    src
Committed By:   nia
Date:           Sun Jul 12 14:31:50 UTC 2020

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

Log Message:
Add Icelandic keyboard layout to ukbd/pckbd.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/hid/hidkbdmap.c
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/pckbport/wskbdmap_mfii.c
cvs rdiff -u -r1.69 -r1.70 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.7 src/sys/dev/hid/hidkbdmap.c:1.8
--- src/sys/dev/hid/hidkbdmap.c:1.7	Sun Jul 12 13:12:17 2020
+++ src/sys/dev/hid/hidkbdmap.c	Sun Jul 12 14:31:49 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: hidkbdmap.c,v 1.7 2020/07/12 13:12:17 nia Exp $	*/
+/*	$NetBSD: hidkbdmap.c,v 1.8 2020/07/12 14:31:49 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.7 2020/07/12 13:12:17 nia Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hidkbdmap.c,v 1.8 2020/07/12 14:31:49 nia Exp $");
 
 #include <sys/types.h>
 #include <dev/wscons/wsksymdef.h>
@@ -707,6 +707,42 @@ static const keysym_t hidkbd_keydesc_tr_
     KC(51),  KS_L5_scedilla,	KS_L5_Scedilla,	KS_apostrophe,
 };
 
+static const keysym_t hidkbd_keydesc_is[] = {
+/*  pos      normal		shifted			altgr			shift-altgr */
+    KC(8),   KS_e,		KS_E,			KS_currency,		KS_cent,
+    KC(16),  KS_m,		KS_M,			KS_mu,
+    KC(20),  KS_q,		KS_Q,			KS_at,
+    KC(30),  KS_1,		KS_exclam,		KS_onesuperior,		KS_exclamdown,
+    KC(31),  KS_2,		KS_quotedbl,		KS_twosuperior,		KS_currency,
+    KC(32),  KS_3,		KS_numbersign,		KS_threesuperior,	KS_sterling,
+    KC(33),  KS_4,		KS_dollar,		KS_onequarter,
+    KC(34),  KS_5,		KS_percent,		KS_onehalf,
+    KC(35),  KS_6,		KS_ampersand,		KS_notsign,
+    KC(36),  KS_7,		KS_slash,		KS_braceleft,
+    KC(37),  KS_8,		KS_parenleft,		KS_bracketleft,
+    KC(38),  KS_9,		KS_parenright,		KS_bracketright,	KS_plusminus,
+    KC(39),  KS_0,		KS_equal,		KS_braceright,		KS_degree,
+    KC(45),  KS_odiaeresis,	KS_Odiaeresis,		KS_backslash,		KS_questiondown,
+    KC(46),  KS_minus,		KS_underscore,		KS_dead_cedilla,	KS_dead_ogonek,
+    KC(47),  KS_eth,		KS_ETH,			KS_dead_diaeresis,	KS_dead_abovering,
+    KC(48),  KS_apostrophe,	KS_question,		KS_asciitilde,
+    KC(49),  KS_plus,		KS_asterisk,		KS_grave,		KS_dead_breve,
+    KC(50),  KS_plus,		KS_asterisk,		KS_grave,		KS_dead_breve,
+    KC(51),  KS_ae,		KS_AE,			KS_asciicircum,		KS_dead_hungarumlaut,
+    KC(52),  KS_dead_acute,	KS_dead_diaeresis,	KS_dead_circumflex,
+    KC(53),  KS_degree,		KS_diaeresis,
+    KC(54),  KS_comma,		KS_semicolon,
+    KC(55),  KS_period,		KS_colon,		KS_periodcentered,	KS_division,
+    KC(56),  KS_thorn,		KS_THORN,
+    KC(100), KS_less,		KS_greater,		KS_bar,
+    KC(230), KS_Mode_switch,	KS_Multi_key,
+};
+
+static const keysym_t hidkbd_keydesc_is_nodead[] = {
+/*  pos      normal	shifted		altgr		shift-altgr */
+    KC(52),  KS_acute,	KS_diaeresis,	KS_asciicircum,
+};
+
 #define KBD_MAP(name, base, map) \
 			{ name, base, sizeof(map)/sizeof(keysym_t), map }
 
@@ -728,6 +764,8 @@ const struct wscons_keydesc hidkbd_keyde
 	KBD_MAP(KB_BR | KB_NODEAD,	KB_BR,  hidkbd_keydesc_br_nodead),
 	KBD_MAP(KB_DK,			KB_US,	hidkbd_keydesc_dk),
 	KBD_MAP(KB_DK | KB_NODEAD,	KB_DK,	hidkbd_keydesc_dk_nodead),
+	KBD_MAP(KB_IS,			KB_US,	hidkbd_keydesc_is),
+	KBD_MAP(KB_IS | KB_NODEAD,	KB_IS,	hidkbd_keydesc_is_nodead),
 	KBD_MAP(KB_IT,			KB_US,	hidkbd_keydesc_it),
 	KBD_MAP(KB_UK,			KB_US,	hidkbd_keydesc_uk),
 	KBD_MAP(KB_UK | KB_SWAPCTRLCAPS,KB_UK,	hidkbd_keydesc_swapctrlcaps),

Index: src/sys/dev/pckbport/wskbdmap_mfii.c
diff -u src/sys/dev/pckbport/wskbdmap_mfii.c:1.30 src/sys/dev/pckbport/wskbdmap_mfii.c:1.31
--- src/sys/dev/pckbport/wskbdmap_mfii.c:1.30	Sun Jul 12 12:13:05 2020
+++ src/sys/dev/pckbport/wskbdmap_mfii.c	Sun Jul 12 14:31:49 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: wskbdmap_mfii.c,v 1.30 2020/07/12 12:13:05 nia Exp $	*/
+/*	$NetBSD: wskbdmap_mfii.c,v 1.31 2020/07/12 14:31:49 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.30 2020/07/12 12:13:05 nia Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.31 2020/07/12 14:31:49 nia Exp $");
 
 #include "opt_wskbdmap.h"
 #include <sys/types.h>
@@ -877,6 +877,41 @@ static const keysym_t pckbd_keydesc_br_n
     KC(26),  KS_apostrophe,	KS_grave,	KS_dead_acute,	KS_dead_grave,
     KC(40),  KS_asciitilde,	KS_asciicircum,	KS_dead_tilde,	KS_dead_circumflex,
 };
+
+static const keysym_t pckbd_keydesc_is[] = {
+/*  pos      normal		shifted			altgr			shift-altgr */
+    KC(2),   KS_1,		KS_exclam,		KS_onesuperior,		KS_exclamdown,
+    KC(3),   KS_2,		KS_quotedbl,		KS_twosuperior,
+    KC(4),   KS_3,		KS_numbersign,		KS_threesuperior,	KS_sterling,
+    KC(5),   KS_4,		KS_dollar,		KS_onequarter,		KS_currency,
+    KC(6),   KS_5,		KS_percent,		KS_onehalf,
+    KC(7),   KS_6,		KS_ampersand,		KS_notsign,
+    KC(8),   KS_7,		KS_slash,		KS_braceleft,
+    KC(9),   KS_8,		KS_parenleft,		KS_bracketleft,
+    KC(10),  KS_9,		KS_parenright,		KS_bracketright,	KS_plusminus,
+    KC(11),  KS_0,		KS_equal,		KS_braceright,		KS_degree,
+    KC(12),  KS_odiaeresis,	KS_Odiaeresis,		KS_backslash,		KS_questiondown,
+    KC(13),  KS_minus,		KS_underscore,		KS_dead_cedilla,	KS_dead_ogonek,
+    KC(16),  KS_q,		KS_Q,			KS_at,
+    KC(18),  KS_e,		KS_E,			KS_currency,		KS_cent,
+    KC(26),  KS_eth,		KS_ETH,			KS_dead_diaeresis,	KS_dead_abovering,
+    KC(27),  KS_apostrophe,	KS_question,		KS_asciitilde,
+    KC(39),  KS_ae,		KS_AE,			KS_asciicircum,
+    KC(40),  KS_dead_acute,	KS_dead_diaeresis,	KS_dead_circumflex,	KS_dead_caron,
+    KC(41),  KS_degree,		KS_diaeresis,
+    KC(43),  KS_plus,		KS_asterisk,		KS_grave,		KS_dead_breve,
+    KC(50),  KS_m,		KS_M,			KS_mu,
+    KC(51),  KS_comma,		KS_semicolon,
+    KC(52),  KS_period,		KS_colon,		KS_periodcentered,	KS_division,
+    KC(53),  KS_thorn,
+    KC(86),  KS_less,		KS_greater,		KS_bar,
+    KC(184), KS_Mode_switch,	KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_is_nodead[] = {
+/*  pos      normal		shifted		altgr		shift-altgr */
+    KC(40),  KS_acute,		KS_diaeresis,	KS_asciicircum,
+};
 #endif /* WSKBD_USONLY */
 
 #define KBD_MAP(name, base, map) \
@@ -900,6 +935,8 @@ const struct wscons_keydesc pckbd_keydes
 	KBD_MAP(KB_BR | KB_NODEAD,	KB_BR,  pckbd_keydesc_br_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_IS,			KB_US,	pckbd_keydesc_is),
+	KBD_MAP(KB_IS | KB_NODEAD,	KB_IS,	pckbd_keydesc_is_nodead),
 	KBD_MAP(KB_IT,			KB_US,	pckbd_keydesc_it),
 	KBD_MAP(KB_UK,			KB_US,	pckbd_keydesc_uk),
 	KBD_MAP(KB_JP,			KB_US,	pckbd_keydesc_jp),

Index: src/sys/dev/wscons/wsksymdef.h
diff -u src/sys/dev/wscons/wsksymdef.h:1.69 src/sys/dev/wscons/wsksymdef.h:1.70
--- src/sys/dev/wscons/wsksymdef.h:1.69	Sun Jul 12 12:13:05 2020
+++ src/sys/dev/wscons/wsksymdef.h	Sun Jul 12 14:31:50 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsksymdef.h,v 1.69 2020/07/12 12:13:05 nia Exp $ */
+/*	$NetBSD: wsksymdef.h,v 1.70 2020/07/12 14:31:50 nia Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -665,6 +665,7 @@ action(KB_FR,	0,	0x0600,	"fr",	,	"French
 action(KB_DE, KB_NODEAD,0x0300,	"de",".nodead",	"German")	\
 action(KB_GR,	0,	0x1400,	"gr",	,	"Greek")	\
 action(KB_HU,	0,	0x0c00,	"hu",	,	"Hungarian")	\
+action(KB_IS,	0,	0x1a00,	"is",	,	"Icelandic")	\
 action(KB_IT,	0,	0x0500,	"it",	,	"Italian")	\
 action(KB_JP,	0,	0x0800,	"jp",	,	"Japanese")	\
 action(KB_NO,	0,	0x0a00,	"no",	,	"Norwegian")	\

Reply via email to